|
Parralel Computing Turorial |
|
|
|
|
Written by Hemanshu Patel
|
|
Sunday, 23 December 2007 |
|
Page 4 of 18
Single Instruction, Single Data (SISD): * 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 * Deterministic execution * This is the oldest and until recently, the most prevalent form of computer * Examples: most PCs, single CPU workstations and mainframes
SISD
Single Instruction, Multiple Data (SIMD): * 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 * This type of machine typically has an instruction dispatcher, a very high-bandwidth internal network, and a very large array of very small-capacity instruction units. * Best suited for specialized problems characterized by a high degree of regularity,such as image processing. * Synchronous (lockstep) and deterministic execution * Two varieties: Processor Arrays and Vector Pipelines * Examples: o Processor Arrays: Connection Machine CM-2, Maspar MP-1, MP-2 o Vector Pipelines: IBM 9000, Cray C90, Fujitsu VP, NEC SX-2, Hitachi S820
SIMD
Multiple Instruction, Single Data (MISD): * A single data stream is fed into multiple processing units. * Each processing unit operates on the data independently via independent instruction streams. * Few actual examples of this class of parallel computer have ever existed. One is the experimental Carnegie-Mellon C.mmp computer (1971). * Some conceivable uses might be: o multiple frequency filters operating on a single signal stream o multiple cryptography algorithms attempting to crack a single coded message.
MISD
Multiple Instruction, Multiple Data (MIMD): * Currently, the most common type of parallel computer. Most modern computers fall into this category. * 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.
|
|
Last Updated ( Sunday, 23 December 2007 )
|