Skip to main content

A Primer on Memory Consistency and Cache Coherence, Second Edition

Publication ,  Journal Article
Nagarajan, V; Sorin, DJ; Hill, MD; Wood, DA
Published in: Synthesis Lectures on Computer Architecture
January 1, 2020

Many modern computer systems, including homogeneous and heterogeneous architectures, support shared memory in hardware. In a shared memory system, each of the processor cores may read and write to a single shared address space. For a shared memory machine, the memory consistency model defines the architecturally visible behavior of its memory system. Consistency definitions provide rules about loads and stores (or memory reads and writes) and how they act upon memory. As part of supporting a memory consistency model, many machines also provide cache coherence protocols that ensure that multiple cached copies of data are kept up-To-date. The goal of this primer is to provide readers with a basic understanding of consistency and coherence. This understanding includes both the issues that must be solved as well as a variety of solutions. We present both high-level concepts as well as specific, concrete examples from real-world systems. This second edition reflects a decade of advancements since the first edition and includes, among other more modest changes, two new chapters: one on consistency and coherence for non-CPU accelerators (with a focus on GPUs) and one that points to formal work and tools on consistency and coherence. Table of Contents: Preface to the Second Edition / Preface to the First Edition / Introduction to Consistency and Coherence / Coherence Basics / Memory Consistency Motivation and Sequential Consistency / Total Store Order and the \lowercase {X / Relaxed Memory Consistency / Coherence Protocols / Snooping Coherence Protocols / Directory Coherence Protocols / Advanced Topics in Coherence / Consistency and Coherence for Heterogeneous Systems / Specifying and Validating Memory Consistency Models and Cache Coherence / Authors' Biographies

Duke Scholars

Altmetric Attention Stats
Dimensions Citation Stats

Published In

Synthesis Lectures on Computer Architecture

DOI

EISSN

1935-3243

ISSN

1935-3235

Publication Date

January 1, 2020

Volume

15

Issue

1

Start / End Page

1 / 294
 

Citation

APA
Chicago
ICMJE
MLA
NLM
Nagarajan, V., Sorin, D. J., Hill, M. D., & Wood, D. A. (2020). A Primer on Memory Consistency and Cache Coherence, Second Edition. Synthesis Lectures on Computer Architecture, 15(1), 1–294. https://doi.org/10.2200/S00962ED2V01Y201910CAC049
Nagarajan, V., D. J. Sorin, M. D. Hill, and D. A. Wood. “A Primer on Memory Consistency and Cache Coherence, Second Edition.” Synthesis Lectures on Computer Architecture 15, no. 1 (January 1, 2020): 1–294. https://doi.org/10.2200/S00962ED2V01Y201910CAC049.
Nagarajan V, Sorin DJ, Hill MD, Wood DA. A Primer on Memory Consistency and Cache Coherence, Second Edition. Synthesis Lectures on Computer Architecture. 2020 Jan 1;15(1):1–294.
Nagarajan, V., et al. “A Primer on Memory Consistency and Cache Coherence, Second Edition.” Synthesis Lectures on Computer Architecture, vol. 15, no. 1, Jan. 2020, pp. 1–294. Scopus, doi:10.2200/S00962ED2V01Y201910CAC049.
Nagarajan V, Sorin DJ, Hill MD, Wood DA. A Primer on Memory Consistency and Cache Coherence, Second Edition. Synthesis Lectures on Computer Architecture. 2020 Jan 1;15(1):1–294.

Published In

Synthesis Lectures on Computer Architecture

DOI

EISSN

1935-3243

ISSN

1935-3235

Publication Date

January 1, 2020

Volume

15

Issue

1

Start / End Page

1 / 294