Professional Documents
Culture Documents
ILP processors:
Evolution, Dependencies, Scheduling, Preservation, Speed-up
Pipelined processors:
Basic concepts, Design space of pipelines, Overview of pipelined instruction processing
VLIW processors:
Architectures, Basic Principles
Superscalar Processors:
Introduction, Parallel decoding, Superscalar instruction issue, Register renaming, Parallel
execution, Preserving sequential consistency of instruction execution
Parallel Programs:
The Parallelization Process, Parallelization of an Example program
SIMD architectures:
Fine grained SIMD, Course grained architectures , Multithreaded architectures: Computational
models, Data flow architectures
• Basic concepts
• Types and levels of parallelism
• Classification of parallel architecture
• Basic parallel techniques
CH03
Basic concepts
B C
D E
The concept of thread
Thread tree
Process
Threads
Three basic methods for creating and terminating threads
FORK COBEGIN
...
FORK
JOIN
COEND
JOIN
(a) (b)
The concepts of concurrent and parallel execution
t t
Sequential nature Simultaneous nature
Scheduling policy
Time-shared Priotized
Priority
Synchronous
(lock step) Asynchronous
concurrent - + - -
Data-parallel - - + -
Parallel - + - +
Types and levels of parallelism
2
Procedure level Process level
1: Exploited by architectures
2: Exploited by means of operating systems
Utilization of functional parallelism
architecture
instruction-level parallel architectures (ILP architectures)
compilers
parallel optimizing compiler
operating system
multitasking
Concurrent execution models
level of granularity
Utilization of data parallelism
• Flynn’s classification
DPs
ILPS MIMDs
• Pipelining (time)
a number of functional units are employed in sequence
to perform a single computation
a number of steps for each computation
• Replication (space)
a number of functional units perform multiple
computations simultaneously
more processors
more memory
more I/O
more computers
Pipelining and replication in parallel computer architecture
Pipelining Replication
Vector processors +
Systolic arrays + +
SIMD (array) processor +
Associative processors +
Pipelined processors +
VLIW processors +
Superscalar processors + +
Multi-threaded machines + +
Multicomputers + +
Multiprocessors +