480 likes | 576 Views
Understanding Parallel Computers. Parallel Processing EE 613. Balancing Machine Specifics With Portability. How much do we need to know about the machine architecture Performance goal Game developers, embedded systems, and hardware vendors Coding specific to machine Lifetime goal
E N D
Understanding Parallel Computers Parallel ProcessingEE 613
Balancing Machine Specifics With Portability • How much do we need to know about the machine architecture • Performance goal • Game developers, embedded systems, and hardware vendors • Coding specific to machine • Lifetime goal • Portability • Generalized code
A Look At Six Parallel Computers • Chip Multiprocessors • Intel Core Duo • AMD Dual Core Opteron • Heterogeneous Chip Designs • GPU, FPGA, Cell • Vector • Clusters • Node – processors, RAM, disk, memory not shared • Typical - eight nodes, control processor, switch • Blade server – includes com ports and cooling fans • Supercomputers – BlueGene/L (440 PowerPC’s)
Now we can put multiple cores on a single chip. CSE524 Parallel Algorithms Lawrence Snyder
MESI – Modified, Exclusive, Shared, Invalid CSE524 Parallel Algorithms Lawrence Snyder
MOESI – Modified, Owned, Exclusive, Shared, Invalid CSE524 Parallel Algorithms Lawrence Snyder
Both designs implement a coherent shared memory. CSE524 Parallel Algorithms Lawrence Snyder
Symmetric Multiprocessor (SMP) • Each processor makes memory requests over the common memory bus • All cache controllers snoop the memory bus and adjust the tags on their cached values to ensure coherent cache usage.
Example – po & p1 have copies of Block X, but p2 writes to Block X. CSE524 Parallel Algorithms Lawrence Snyder