Lecture3 (Form Parallelism&flynn)
Lecture3 (Form Parallelism&flynn)
Reference:
ADVANCED COMPUTER ARCHITECTURE AND PARALLEL PROCESSING
Outlines
• Forms parallelism.
• Classification architecture:
1. SISD.
2. SIMD.
3. MISD.
4. MIMD.
1. Share memory:
-According access” UMA, NUMA, COMA”.
-According connection: buses, crossing switch, multistage network.
2. Message system:
-according network topology.
Form Parallelism
1. Processors:
-sequence: execute always only one instruction.
-”look ahead”: looking also to next instruction:
A technique for speeding up the process of fetching and decoding
instructions in a computer program. A central processing unit wherein
instruction fetch and execution is performed by a mechanism featuring
an instruction look ahead mechanism whereby fetching and processing
of the next software instruction is commenced as a last step of the
currently executing software instruction, and the currently executing
software instruction is terminated by the first portion of the next
software instruction.
3. Function parallelism:
1) Multi-function units:
Multifunctional unit (MFU) of the processor. This reconfigurable
functional unit can hold several instructions or sequences of
instructions that can be provided by a special compiler, and loaded
by the processor when needed.
2) Chaining-”pipeline”:
Pipelining imparts an implicit execution parallelism in the
different cycles of processing an instruction. Suppose execution of
an instruction consists of the following stages:
1. Fetch – Get the instruction from memory.
2. Decode – Determine what the instruction is.
3. Execute – Perform the instruction decode.
4. Write – Store the results to memory.
5. Register –register.
- Single Instruction Multiple Data “SIMD”:
ex: ”VLIW” (Very Long Instruction Word)
Processor array “EPIC” (Explicitly Parallel Instruction
Computing).
6. Memory – memory.
- Multiple Instructions Multiple Data “MIMD”:
Ex: Multiprocessor, Multicomputer.
Flynn Taxonomy
Michael J. Flynn (1966).
How much instruction is in given moment running and over
how much data elements?
Instruction Stream
Single Multiple
Stream
Multiple SIMD MIMD
1) SISD ARCHITECTURE:
Input unit
output unit
CPU
North bridge
AGP RAM
(memory controller)
south bridge
I/O
(I/O controller)
2) SIMD ARCHITECTURE:
The SIMD model of parallel computing consists of two parts: a front-end computer
of the usual von Neumann style and a processor array as shown in Figure, The
processor array is a set of identical synchronized processing elements capable of
simultaneously performing the same operation on different data. Each processor in
the array has a small amount of local memory where the distributed data resides
while it is being processed in parallel. The processor array is connected to the
memory bus of the front end so that the front end can randomly access the local
processor memories as if it were another memory. Thus, the front end can issue
special commands that cause parts of the memory to be operated on simultaneously
or cause data to move around in the memory. A program can be developed and
executed on the front end using a traditional serial programming language. The
application program is executed by the front end in the usual serial way, but issues
commands to the processor array to carry out SIMD operations in parallel.
The similarity between serial and data parallel programming is one of the strong
points of data parallelism. Synchronization is made irrelevant by the lock–step
synchronization of the processors. Processors either do nothing or exactly the same
operations at the same time. In SIMD architecture, parallelism is exploited by
applying simultaneous operations across large sets of data. This paradigm is most
useful for solving problems that have lots of data that need to be updated on a
wholesale basis. It is especially powerful in many regular numerical calculations.
There are two main configurations that have been used in SIMD machines. In the
first scheme, each processor has its own local memory. Processors can communicate
with each other through the interconnection network. If the interconnection network
does not provide direct connection between a given pair of processors, then this pair
can exchange data via an intermediate processor.
3) MISD ARCHITECTURE:
4) MIMD ARCHITECTURE:
Multiprocessors:
-Narrow band- communicates through share memory.
-Single (share) addresses space.
- Assigned data getting by searching program on
Share memory locations.
-Semaphore, mutex, barrier.
Multicomputer:
-Free band-communication message system.
-Each process have self memory and address space.
-Located assigned data by effected step (instruction) in program.