Part 2: Parallel Models (I) What is the meaning of model? Sequential Model Classification of Computers According to Instructions and Data.
Introduction A model is a physical, mathematical or logical representation of a real world entity. In computer science, models of computation are used : # to describe real entities, namely, computers. # as a tool for thinking about problems and expressing algorithms.
sequence of instructions In sequential(serial) computation sequence of instructions sequence of data input unit control unit processor memory output unit
In sequential (serial) computation ٍٍSoftware has been written for serial computation: # A problem is broken into a discrete series of instructions. # Instructions are executed one after another. # Only one instruction may execute at any moment in time.
Universal model for sequential computation is RAM. RAM (Random Access Machine): consists of (1) memory, (2) processor, and (3) memory access unit. Memory # Memory with M locations, where M is (large) finite number. # Each memory location is capable of storing a piece of data. # Each memory location has a unique location Processor # A single processor operates under control of a sequential algorithm. # The processor can load/store data from/to memory and can perform basic arithmetic and logical operations.
Memory Access Unit # Creates a path from processor to memory # Establishes a direct connection between memory and processor. Operations Each step of a RAM algorithm consists of: # Read phase - processor reads data from memory into register # Compute phase - processor performs basic operations in memory # Write phase - processor writes contents of register into memory
different models of parallel computation A parallel computer is a computer consisting of two or more processors that can cooperate and communicate to solve large problem fast an interconnection network that connects processors with each other and/or with the memory modules. one or more memory modules different models of parallel computation
Michael Flynn’s Classification instruction streams (2) data streams SISD single instruction & single data processor control unit memory # A serial (non-parallel) computer. # Single instruction: only one instruction stream is being acted on by the CPU during any one clock cycle. # Single data: only one data stream is being used as input during any one clock cycle. Examples: most PCs, single CPU workstations and mainframes.
# A type of parallel computer. Michael Flynn’s Classification SIMD single instruction & multiple data Shared Memory Interconnection Network P1 P2 Pn control # A type of parallel computer. # Single instruction: All processing units execute the same instruction at any given clock cycle # Multiple data: Each processing unit can operate on a different data element # Examples: Processor Arrays: Connection Machine CM-2, Maspar MP-1, MP-2 Vector Pipelines: IBM 9000, Cray C90, Fujitsu VP, NEC SX-2, Hitachi S820
Dr. Hazem M. Bahig
# A single data stream is fed into multiple processing units. Michael Flynn’s Classification P1 P2 Pn memory control1 control2 controln MISD multiple instruction & single data # A single data stream is fed into multiple processing units. # Each processing unit operates on the data independently via independent instruction streams. Examples :Carnegie-Mellon C.mmp computer (1971). s
# Currently, the most common type of parallel computer. Michael Flynn’s Classification P1 P2 Pn control1 control2 controln SM IN MIMD multiple instruction & multiple data # Currently, the most common type of parallel computer. # Multiple Instruction: every processor may be executing a different instruction stream # Multiple Data: every processor may be working with a different data stream # Execution can be synchronous or asynchronous, deterministic or non-deterministic Examples: most current supercomputers, networked parallel computer "grids" and multi-processor SMP computers - including some types of PCs.
Homework is posted ….