Sie sind auf Seite 1von 10

PEMROSESAN PARALEL

- PENGERTIAN 1 -

Oleh:
ARI SUGIHARTO, S.Si

DISAJIKAN PADA KULIAH


PEMROSESAN PARALEL
DI
UNIVERSITAS TEKNOLOGI YOGYAKARTA
2010
The Need For High Performance Computers

● Aplikasi modern memerlukan kemampuan komputasi tinggi


dan kecepatan pemrosesan yang tinggi.
Contoh:
● To calculate a 24 hour weather forcast for the UK requires
about 10^ 12 operations to be performed. This would take
about 2.7 hours on a Cray-1 ( capable of 10^ 8 operations
per second ).
● The speed of light is 3 * 10^ 8 m/s. Considering two
electronic devices (each capable of performing 10^ 12
operations per second ) 0.5mm apart. It takes longer for a
signal to travel between them than it takes for either of them
to process it ( 10^ -12 seconds ). So producing faster
components is ultimately of no good.
The Need For High Performance Computers (Cont'd)

● So it appears that the only way forward is to use PARALLELISM. The


idea here is that if several operations can be performed simultaneously
then the total computation time is reduced.
● Gambaran:

● The parallel version has the potential of being 3 times as fast as the
sequential machine.
Classification of Parallel Machines

Models of Computation ( Flynn 1966 ):

Any computer, whether sequential or parallel, operates


by executing instructions on data.

● a stream of instructions (the algorithm) tells the


computer what to do.

● a stream of data (the input) is affected by these


instructions
Classification of Parallel Machines (Cont'd)

Depending on whether there is one or several of these


streams, we have four classes of computers (+1 pseudo
machines):
1. Single Instruction Stream, Single Data Stream : SISD.
2. Multiple Instruction Stream, Single Data Stream :
MISD.
3. Single Instruction Stream, Multiple Data Stream :
SIMD.
4. Multiple Instruction Stream, Multiple Data Stream :
MIMD.
5. Single Program Multiple Data: SPMD.
Classification of Parallel Machines (Cont'd)

SISD Computers
This is the standard sequential computer. A single processing
unit receives a single stream of instructions that operate on a
single stream of data.

● i.e. algorithms for SISD computers do not contain any


parallelism, there is only one processor
Classification of Parallel Machines (Cont'd)
MISD Computers
N processors, each with its own control unit, share a common memory.

There are N streams of instructions (algorithms / programs) and one stream of data.
Parallelism is achieved by letting the processors do different things at the same time on the
same datum.
MISD machines are useful in computations where the same input is to be subjected to several
different operations.

● For most applications MISD are very awkward to use and no commercial machines exist with
this design.
Classification of Parallel Machines (Cont'd)
SIMD Computers
All N identical processors operate under the control of a single instruction stream issued by a
central control unit. ( to ease understanding assume that each processor holds the same
identical program. )
There are N data streams, one per processor so different data can be used in each processor.
The processors operate synchronously and a global clock is used to ensure lockstep
operation.
Classification of Parallel Machines (Cont'd)
MIMD Computers (multiprocessors / multicomputers)
This is the most general and most powerful of our classification.
We have N processors, N streams of instructions and N streams of data. Each processor
operates under the control of an instruction stream issued by its own control unit.(i.e. each
processor is capable of executing its own program on a different data.

This means that the processors operate asynchronously ( typically ) i.e. can be doing different
things on different data at the same time. As with SIMD computers communication of data or
results between processors can be via a shared memory or interconnection network.
Classification of Parallel Machines (Cont'd)
SPMD - Single Program Multiple Data
The SIMD. paradigm is an example of synchronous parallelism
A related asynchronous version is SPMD. This is where the same program
is run on the processors of an MIMD. machine.
Because an entire program is executed on separate data, it is possible that
different branches are taken, leading to asynchronous parallelism. The
processors no longer do the same thing ( or nothing ) in lockstep, they are
busy executing different instructions within the same program.
Consider
● IF X = 0 Assume X = 0 on P1
● THEN S1 X != 0 on P2
● ELSE S2
Now P1 executes S1 at the same time P2 executes S2 ( which could not
happen on an SIMD machine )

Das könnte Ihnen auch gefallen