Professional Documents
Culture Documents
Multiprocessors - Parallel Processing Overview: "The Real World Is Inherently Concurrent Yet Our Computational
Multiprocessors - Parallel Processing Overview: "The Real World Is Inherently Concurrent Yet Our Computational
Two sub-questions:
- How do we interconnect the processors?
• Increasingly attractive
– Economics, technology, architecture, application
demand
• Increasingly central and mainstream
• Parallelism exploited at many levels
– Instruction-level parallelism
– Thread-level parallelism within a microprocessor
– Multiprocessor servers
– Large-scale multiprocessors (“MPPs – Massively
Parallel Multiprocessors”)
• Same story from memory system perspective
1. Tightly-coupled systems
– Multiple processors
– Shared, common (global) memory system
– Processors under the integrated control of a
common operating system
– Data is exchanged between processors by
accessing common shared variable locations in
memory
– Common shared memory ultimately presents an
overall system bottleneck that effectively limits the sizes
of these systems to a fairly small number of processors
(dozens).
Tightly Coupled - SMP
• Processors share memory
– Multiple processors
– Each processor has its own independent
(local, private) memory system
– Processors under the integrated control of a
common operating system
– Data exchanged between processors via
inter-processor messages
and
- before the computation is finished on this set of
operands, another set of operands starts flowing through
the pipeline.
– MIMD: multiple instruction streams and
multiple data streams. Several complete processors
connected together to form a multiprocessor system.
The processors are connected together via an
interconnection network to provide a means of
cooperation during the computation.
Vector addition:
for I = 1 to n do
C(I) = A(I) + B(I)
Need to
pass information (commands, data) between
processors
– Process scheduling
Classified as
Granularity = computation
communication
which is measured as
coarse - more computation than communication
medium
fine - more communication than computation
Problems include
message routing
synchronization for message passing - send
and receive primitives
deadlock
Interconnection networks
For example,
As a bus:
As a ring:
As a star:
As a mesh/
grid:
As a (hyper)
cube:
Parallel computing in the Sega home
video game system
Speedup
Speedup, S = t
f * t + [(1 - f) * t]/N
= N
1 + (N - 1)*f
For significant increase in speed to be realized, fraction
of serial computation needs to be very small.
MIMD
Reality check