Search⌘ K

Background: Multiprocessor Architecture

Understand the fundamentals of multiprocessor architecture including hardware caches, temporal and spatial locality, and the cache coherence problem. Learn how multiple CPUs share memory and how hardware ensures data consistency across caches to support efficient multi-CPU scheduling.

Hardware caches

To understand the new issues surrounding multiprocessor scheduling, we have to understand a new and fundamental difference between single-CPU hardware and multi-CPU hardware. This difference centers around the use of hardware caches (see figure below), and exactly how data is shared across multiple processors. We now discuss this issue further, at a high level. Details are available elsewhere“Parallel Computer Architecture: A Hardware/Software Approach” by David E. Culler, Jaswinder Pal Singh, and Anoop Gupta. Morgan Kaufmann, 1999. A treasure filled with details about parallel machines and algorithms. As Mark Hill humorously observes on the jacket, the book contains more information than most research papers., in particular in an upper-level or perhaps graduate computer architecture course.

In a system with a single CPU, there is​ a hierarchy of hardware caches that in general help the processor run programs faster. Caches are small, fast memories that (in general) hold copies of popular data that is found in the main memory of the ...