Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Parallel Computing
Forms of Parallelism
Instruction Level Parallelism (ILP)
Multiple instructions (from one instruction stream or thread of execution)
can execute in each cycle.
CPU (Core)
ALU1
ALU2
Multiple execution units
FPU1
FPU2
1. e = a + b Superscalar
2. f = c + d Pipelined instruction execution
Out of order execution
3. g = e * f Branch prediction and speculative execution
INB375 Parallel Computing 3
Vector Parallelism
Vector instructions operate on a list of data values
Scalar Scalar
registers execution
unit(s)
Threadm
Threadn
Threadu
Thread1
Thread2
Thread1
Thread2
Thread1
Thread2
Inter-process
communication
Thread2 FPU1
PC:
ALU1 FPU1 ALU1 FPU1
Registers: FPU2
ALU2 FPU2 ALU2 FPU2
Memory
Memory
Simultaneous multithreading or
Hyperthreading (Intel)
INB375 Parallel Computing 6
Process Level Parallelism
Machine1
Core1
Process2
Inter Process
Memory Communication
Machine2 Machine3
Core1 Core1 Core2
Process3 Process2 Process3
Sequential Parallel
Hardware Hardware
Results b = a;
a:
a.Normalize(); Results
object
b.FindBest(selector);
b: