You are on page 1of 16

Classification of parallel

computers
PRESENTED BY AKANKSHA SINGH
objective

• Introduction
• Parallel Computing
• Types of classification
• Flynn’s classification
• Types of Flynn’s classification
• SSID: Single instruction single data stream
• SIMD: Single instruction multiple data stream
• MISD: Multiple instruction single data stream
• MIMD: Multiple instruction multiple data stream
Introduction

 Parallel Computing is the simultaneous use of multiple computing resources to solve a


computational problem
• To be run using multiple CPUs
• A problem is broken into discrete parts that can be solved concurrently
• Each part is further broken down to a series of instructions
• Instructions from each part execute simultaneously on different CPUs
Parallel Computing

• Save time and money : many resources working together will reduce the time and cut
potential costs
• Solves larger problems E.g. Web search engines /database processing millions of
transactions per second
• Use of non-level resources
• Provide concurrency : do multiple things at the same time
Types of classification

• Two kinds of classification


• Flynn’s Classification
SSID: Single instruction single data stream
SIMD: Single instruction multiple data stream
MISD: Multiple instruction single data stream
MIMD: Multiple instruction multiple data stream
• Classification by memory status
Share memory
Distributed memory
Flynn’s classification

• Flynn’s Classification is the most popular taxonomy of computer architecture proposed


by Michael J. Flynn’s in 1166 based on number of instructions and data
• It is based on the notion of a stream of information. Two types of information flow into a
processor instruction and data
• The instruction stream is defined as the sequence of instructions executed by the
processing unit
• The data stream is defined as the sequence of data including inputs, partial, or temporary
results, called by the instruction stream
Types of Flynn’s classification

• According to Flynn’s classification, either of the instruction or data stream can be single
or multiple.
• SSID: Single instruction single data stream
• SIMD: Single instruction multiple data stream
• MISD: Multiple instruction single data stream
• MIMD: Multiple instruction multiple data stream
SISD

• SISD (Single instruction single data)


• An SISD computing system is a uni-processor machine which is capable of executing
a single instruction, operating on a single data stream.

Control Unit Processor Unit Memory Module

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
sisd

 Single instruction single data


Load A

Load B

C=A+B
time
Store C

A=B*2

Store A
simd

• SIMD(Single instruction stream ,Multiple-data stream)


• An SIMD system is capable of executing the same instruction on all the CPUs but
operating on different data stream
• 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
• SIMD computer has single control unit which issues one instruction at a time but it has
multiple ALU’s or processing units to carry out on multiple data sets simultaneously
simd

 Single instruction multiple data

Prev instruct Prev instruct Prev instruct

Load A(1) Load A(2) Load A(n)

Load B(1) Load B(1) Load B(n)


time
C(1)=A(1)*B(1) C(1)=A(1)*B(1) C(n)=A(n)*B(n)

Store C(1) Store C(2) Store C(n)


Next instruct Next instruct Next instruct
P1 P2 P3
misd

• MISD(Multiple-Instruction stream, Singe-Data stream)


• An MISD computing system is capable of executing different instruction on different Pus
but of them operating on the same dataset
• Multiple instruction :Each processing unit may be executing a different instruction
stream
• Single data : Every processing unit can operate on a same data element
misd

 Multiple instruction single data stream

Prev instruct Prev instruct Prev instruct

Load A(1) Load A(1) Load A(1)


C(1)=A(1)*1 C(2)=A(1)*2 C(n)=A(1)*n ti
Store C(1) Store C(2) Store C(n) m
e
Next instruct Next instruct Next instruct
P1 P2 P3
mimd

• An MIMD system is capable of executing multiple instruction on multiple data set


• Multiple Instruction : Every processor may be executing a different instruction stream
• Multiple data : Every processor may be working with a different data stream
• MIMD system are parallel computer capable of processing several programs
simultaneously
mimd

 Multiple instruction multiple data stream

Prev instruct Prev instruct Prev instruct

Load A(1) Call funcD Do 10 i=1,N

Load B(1) X=y*z Alpha=w**3 ti


C(1)=A(1)*B(1) Sum=x*2 Zeta=c(i) m
e
Store C(1) Call sub1(i,j) 10 continue
Next instruct Next instruct Next instruct
P1 P2 P3
Thank you

You might also like