Parallel Processing Architectures SIMD and MIMD Explained
1.
</>
G.H PATEL COLLEGE OF
ENGINEERING AND TECHNOLOGY
TOPIC : PARALLEL PROCESSING
(SIMD AND MIMD).
SUBJECT : COMPUTER ORGANIZATION (2140707)
PREPARED BY : TEJOY VACHHRAJANI (160110116057)
BHAVIK VASHI (160110116061)
KHYATI VALERA (160110116059)
SUBMITTED TO : PROF. RAJVI PARIKH AND PROF. BHARGESH PATEL
CLASS : B.E. IT (2ND YEAR)
3. A processing in which one task is completed at a time
and all the tasks are run by the processor in a
sequence.
Instructions those are given by the user will
be executed by using the FIFO Manner means First in
First Out.
Traditionally softwares were written for serial
computation i.e. To be runon a single computer having
a single Central Processing Unit (CPU).
SERIAL PROCESSING
5.
Any operating system running on the single processor is
an example of the serial operating system.
One processor complete one task at a given time and
other tasks wait in a queue.
Pentium 3 and Pentium 4 are serial processing computers.
Windows 95 and Windows 98 are examples of operating
systems which do the serial processing.
EXAMPLES OF SERIAL PROCESSING
7.
Simultaneous use of multiple compute resources to solve a
computational problem by the use of multiple CPUs.
Problem is broken down into discrete parts that can be
solved concurrently.
Used to fulfil increasing demands for higher performance
and achieve better throughput .
PARALLEL PROCESSING
9.
An operating system running on the multicore processor
is an example of the parallel operating system.
Windows 7, 8, 10 are examples of operating systems
which do parallel processing.
Most Modern CPU’s Exhibit parallel processing via the
concept of hyperthreading.
EXAMPLES OF PARALLEL PROCESSING
11.
In serial processing, same tasks are completed at the same
time but in parallel processing completion time may vary.
In sequential processing, the load is high on single core
processor and processor heats up quickly.
In serial processing data transfers in bit by bit form while In
parallel processing data transfers in byte form i.e. in 8 bits form
Parallel processor is costly as compared to serial processor
Serial processing takes more time than parallel processor
SERIAL PROCESSING vs PARALLEL
PROCESSING
13.
In computing, a vector processor or array processor is a
central processing unit (CPU) that implements an
instruction set containing instructions that operate on
one-dimensional arrays of data called vectors.
Vector processors can greatly improve performance on
certain workloads, notably numerical simulation and
similar tasks.
Two popular architectures : - SIMD and MIMD.
VECTOR PROCESSING
14.
Flynn's taxonomy is a classification of computer
architectures, proposed by Michael J. Flynn in 1966 based
on number of instructions and data.
Used as a tool in design of modern processors and their
functionalities.
The classification is based on the number of simultaneous
instruction and data streams seen by the processor during
program execution.
FLYNN’s TAXONOMY
15.
SISD –Single Instruction, Single Data
SIMD –Single Instruction, Multiple Data
MISD –Multiple Instruction, SingleData
MIMD –Multiple Instruction, Multiple Data
FLYNN’s TAXONOMY
CLASSIFICATION
16.
SIMD
(Single Instruction Multiple Data Stream)
All processing units execute the same instruction
at any given clock cycle.
Each processing unit operates on a different data
element.
They have multiple processing/execution units and
one control unit.
18.
The first use of SIMD instructions was in the vector
supercomputers of the early 1970s
Such as the CDC Star-100 and the Texas Instruments ASC,
which could operate on a "vector" of data with a single
instruction.
Vector processing was especially popularized by Cray in
the 1970s and 1980s.
SIMD HISTORY / EVOLUTION
20.
MMX is a single instruction, multiple data (SIMD)
instruction set designed by Intel.
Introduced in 1997 with its P5-based Pentium line of
microprocessors, designated as “Pentium with MMX
Technology”.
SIMD AND INTEL
INTEL MMX
PROCESSOR
21.
An application that may take advantage of SIMD is one
where the same value is being added to (or subtracted
from) a large number of data points, a common operation in
many multimedia applications.
The main advantage of SIMD is that processing multiple data
elements at the same time, with a single instruction, can
dramatically improve performance.
If the SIMD system works by loading up eight data points at
once, the add operation being applied to the data will
happen to all eight values at the same time.
ADVANTAGES OF SIMD
22.
Major disadvantages of SIMD are as follows : -
1. Large register size.
2.More power consumption.
3.Require larger chip area.
DISADVANTAGES OF SIMD
23.
Multiple autonomous processors as well as multiple Control
Units in the architecture.
All processors execute their own set of instructions.
At any time, different processors may be executing different
instructions on different pieces of data.
No centralized clock implied.
MIMD
(Multiple Instruction Multiple Data Stream)
25.
An example of MIMD system is Intel Xeon Phi, descended
from Larrabee microarchitecture.
These processors have multiple processing cores (up to
61 as of 2015) that can execute different instructions on
different data.
NVIDIA graphics cards fit the MIMD model, whereas the
AMD/ATI cards more closely resemble the SIMD model,
and have a larger number of simpler processors.
MIMD : Examples
27.
TWO broad categories : -
1. Single program, multiple data streams (SPMD).
2. Multiple programs, multiple data streams (MPMD).
Let’s see both of them in detail…
MIMD : Classification
28.
Single program, multiple data streams (SPMD).
Multiple autonomous processors simultaneously executing the same
program (but at independent points, rather than in the lockstep that
SIMD imposes) on different data.
Also termed single process, multiple data , the use of this terminology
for SPMD is technically incorrect, as SPMD is a parallel execution model
and assumes multiple cooperating processors executing a program.
SPMD is the most common style of parallel programming.
The SPMD model and the term was proposed by Frederica Darema.
Gregory F. Pfister was a manager of the RP3 project, and Darema was
part of the RP3 team
MIMD : Classification
29.
Multiple program, multiple data streams (MPMD).
Multiple autonomous processors simultaneously operating at
least 2 independent programs.
Typically such systems pick one node to be the "host" ("the
explicit host/node programming model") or "manager" (the
"Manager/Worker" strategy), which runs one program that
farms out data to all the other nodes which all run a second
program. Those other nodes then return their results directly to
the manager.
MIMD : Classification
30.
MIMD : Classification
Multiple programs, multiple data streams (MPMD)
An example of this would be the Sony PlayStation 3 game
console.
31.
SPMD vs MPMD
SPMD : A single program executes on all tasks simultaneously
MPMD : Each task may be executing the same or different programs than other tasks
32.
Less Contention.
Highly Scalable.
MIMD offers flexibility .
It can function as Single user multiprocessor for high
performance or Multiprocessor running many tasks
simultaneously.
ADVANTAGES OF MIMD
33.
Major disavantages are :-
1. Load Balancing.
2. Deadlock situation prone.
3. Waste of Bandwidth.
DISADVANTAGES OF MIMD