PARALLEL AND DISTRIBUTED
COMPUTING
LECTURE 02
OUTLINE
Flynn’s Taxonomy
TAXONOMY
Taxonomy is method of division , arrangement,
classification, categorization of things based on
predetermined system.
FLYNN TAXONOMY
Micheal J. Flynn professor at Stanford University
He proposed the Flynn’s Taxonomy, a method of classifying
digital computers in 1966
He defined four categories of digital computer
Since the rise of multiprocessing CPU this classification
system has been used as a tool in design of modern
processors.
FLYNN TAXONOMY
FLYNN TAXONOMY
This classification based upon the number of concurrent
Instructions/streams and data streams available in the
architecture.
1. SISD: Single instruction stream, singe data stream
2. SIMD: Single instruction stream, multiple data stream
3. MISD: Multiple instruction stream, singe data stream
4. MIMD: Multiple instruction stream, multiple data stream
FLYNN TAXONOMY
Instruction Stream: the sequence of instructions from
memory to control unit
Data Stream: The sequence of data from memory to
control unit.
SISD (SINGLE INSTRUCTION STREAM, SINGLE DATA STREAM
Exploits no parallelism in either
instructions or data streams
Single control unit, fetches single
instruction
i.e. one operation at a time.
SISD (SINGLE INSTRUCTION STREAM, SINGLE DATA STREAM
Requires less power
Cheap
No issue of complex communication
protocol
Limited speed due to single core
Not suitable for larger applications
SIMD (SINGLE INSTRUCTION STREAM, MULTIPLE DATA STREAM
Single instruction operates on
different data streams
Instructions can be executed
sequentially (pipelining) or parallel
SIMD (SINGLE INSTRUCTION STREAM, MULTIPLE DATA STREAM
Throughput can be increased by increasing
cores of processor
Processing speed is higher than SISD
Efficient where you need to perform same
instructions on large amount of data
Complex communication protocol is
required
Cost is higher than SISD
Limited to specific application
Uses: GPUs/Scientific Processing
MISD (MULTIPLE INSTRUCTION STREAM, SINGLE DATA STREAM
Multiple instructions operates on
only one data stream
Processing units performing different
operations by executing different
instructions on same data set
MISD (MULTIPLE INSTRUCTION STREAM, SINGLE DATA STREAM
Uncommon architecture which is
generally used for fault tolerance.
Operate on same data stream
MISD (MULTIPLE INSTRUCTION STREAM, SINGLE DATA STREAM
Useful where real time fault
detection is critical
Limited applications, not available
commercially
MIMD (MULTIPLE INSTRUCTION STREAM,MULTIPLEDATA STREAM
Multiple instructions operates on
only multiple data stream
Processing units performing different
operations by executing different
instructions on different data set
MIMD (MULTIPLE INSTRUCTION STREAM,MULTIPLEDATA STREAM
Great for situations where
multitasking is required.
Much more complicated architecture
Uses: Smart PCs, Laptop, smart
phones.
MIMD(MULTIPLE INSTRUCTION STREAM,MULTIPLEDATA STREAM
Categorized into two types:
1. Share memory MIMD
2. Distributed memory MIMD
MIMD(MULTIPLE INSTRUCTION STREAM,MULTIPLEDATA STREAM
Share memory MIMD:
Tightly coupled multiprocessor systems, all processors are
connected to single global memory and they have access to
it.
Modification by one processors is accessible to all other
processors.
MIMD(MULTIPLE INSTRUCTION STREAM,MULTIPLEDATA STREAM
Distributed memory MIMD:
Loosely coupled multiprocessor systems, all processors
have local memory
Communication is done through interconnection network
MIMD(MULTIPLE INSTRUCTION STREAM,MULTIPLEDATA STREAM
Share memory MIMD: Distributed memory MIMD:
Easier to program Complex architecture
Less tolerant to failures Easy to extend
Harder to extend Failure doesn’t effect entire
Failure affect entire system system
Less likely to be scale Easily saleable