multiprocessor
task-level parallelism
utilizing multiple processors by running independent programs simultaneously
cluster
A set of independent computers connected over a LAN that function as a single large multiprocessor
multicore multiprocessor
shared memory multiprocessor (SMP)
a parallel processor with a single physical address space
strong scaling
weak scaling
SSID (single instruction stream, single data stream)
MIMD (multiple instruction streams, multiple data streams)
SIMD (single instruction, multiple data streams)
The same instruction is applied to many data streams, as in a vector processor
data-level parallelism
vector lane
hardware multithreading
increasing utilization of a processor by switching to another thread when one thread is stalled
thread
process
fine-grained multithreading
version of hardware multithreading that implies switching between threads after every instruction
coarse-grained multithreading
version of hardware multithreading that implies switching between threads only after significant events, such as a last-level cache miss
SMT (simultaneous multithreading)
synchronization
process of coordinating the behavior of two or more processes, which may be running on different processors
SPMD
SIMD
network
how multicore multiprocessors w/shared memory are connected
processing element (PE)
SIMD structure