A Primer on Memory Consistency and Cache Coherence, Second Edition

Vijay Nagarajan, Daniel J. Sorin, Mark D. Hill, David A. Wood

Research output: Book/ReportBook

Abstract

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.
Original languageEnglish
PublisherMorgan & Claypool Publishers
Number of pages294
DOIs
Publication statusPublished - Feb 2020

Publication series

NameSynthesis Lectures on Computer Architecture
PublisherMorgan & Claypool Publishers
ISSN (Print)1935-3235
ISSN (Electronic)1935-3243

Keywords

  • computer architecture
  • memory consistency
  • cache coherence
  • shared memory
  • memory systems
  • multicore processor
  • heterogeneous architecture
  • GPU
  • accelerators
  • semantics
  • verification

Fingerprint

Dive into the research topics of 'A Primer on Memory Consistency and Cache Coherence, Second Edition'. Together they form a unique fingerprint.

Cite this