04-05-2012, 03:13 PM
Multiprocessors and Multiprocessing
7oct97.ppt (Size: 39 KB / Downloads: 43)
Hardware: Multiprocessor computers have become commodity products, e.g., quad-processor Pentium Pros, SGI and Sun workstations.
Programming: Multithreaded programming is supported by commodity operating systems, e.g., Windows NT, UNIX/Pthreads.
Applications: Traditionally science and engineering. Now also business and home computing.
Problem: Difficulty of multithreaded programming compared to sequential programming.
Why Buy a Multiprocessor?
Multiple users.
Multiple applications.
Multitasking within an application.
Responsiveness and/or throughput.
Multiprocessor Architectures
Message-Passing Architectures
Separate address space for each processor.
Processors communicate via message passing.
Shared-Memory Architectures
Single address space shared by all processors.
Processors communicate by memory read/write.
SMP or NUMA.
Cache coherence is important issue.
Lots of middle ground and hybrids.
No clear consensus on terminology.
Shared-Memory Architecture:Cache Coherence
Effective caching reduces memory contention.
Processors must see single consistent memory.
Many different consistency models.
Weak consistency is sufficient.
Snoopy cache coherence for bus-based SMPs.
Distributed directories for NUMA.
Many implementation issues: multiple-levels, I-D separation, cache line size, update policy, etc. etc.
Usually don’t need to know all the details.