Caches in a Multiprocessor Environment
Gérard Blanchet, Bertrand Dupouy · 2012
This chapter deals with cache management in a multiprocessor environment. The coherence of information between caches and memory is a fundamental element in the operation of strongly coupled multiprocessor systems. There are two main categories of methods used for maintaining coherence, depending on whether the information necessary to this coherence is distributed (local) or centralized (global). The first case – local information – refers to the concepts of broadcasting and snooping. The second case – global information – uses a directory (directory-based coherence), or table. The chapter presents examples of snooping protocols, including MSI, MEI, MESI and MOESI protocols, which use cache states. Finally, the chapter presents a few consistency models, which imposes constraints on the technological and operational choices, for parameters such as the cache coherence protocol, the size of memory controller buffers, etc. The discussed consistency models are atomic consistency, sequential consistency, causal consistency, and weak consistency.