Live briefing
Everything about Cache coherence
Equivalence of all cached copies of a memory location
In computer architecture, cache coherence is the uniformity of shared resource data that is stored in multiple local caches. In a cache coherent system, if multiple clients have a cached copy of the same region of a shared memory resource, all copies are the same. Without cache coherence, a change made to the region by one client may not be seen by others, and errors can result when the data used by different clients is mismatched. Wikipedia →
🧭 Start here: a 6-step reading path
- Read the overview: Cache coherenceA 5-minute orientation
- Skim a recent paper: Towards Energy Efficient Approx Cache-coherence Protocol Verified using Model CheckerInfluential work since 2022
- Pick up a classic book: Computer Engineering and TechnologyThe most-reprinted book on the subject
- Read the landmark paper: A survey of cache coherence schemes for multiprocessorsCited 217 times
- Go sideways: Memory coherenceA closely related topic
- Go sideways: MESI protocolA closely related topic
📖 Definitions
No dictionary entry for this exact phrase.
🗂️ The subject at a glance
🏆 Landmark papers (most cited)
A survey of cache coherence schemes for multiprocessors
Directory-based cache coherence in large-scale multiprocessors
Verification techniques for cache coherence protocols
Verification of the Futurebus+ cache coherence protocol
Cache coherence in large-scale shared-memory multiprocessors
SARC Coherence: Scaling Directory Cache Coherence in Performance and Power
Web cache coherence
Checking Cache-Coherence Protocols with TLA+
🆕 Influential since 2022
Towards Energy Efficient Approx Cache-coherence Protocol Verified using Model Checker
Hardware Trojan Threats to Cache Coherence in Modern 2.5D Chiplet Systems
Cache Coherence Over Disaggregated Memory
REC: Enhancing fine-grained cache coherence protocol in multi-GPU systems
DISCO: Time-Compositional Cache Coherence for Multi-Core Real-Time Embedded Systems
📚 Books worth reading
Computer Engineering and TechnologyWeixia Xu · 2013
A primer on memory consistency and cache coherenceDaniel J. Sorin · 2011- 📕The Cache-coherence problem in shared-memory multiprocessorsVeljko Milutinović · 1993
Advanced computer system designKishor Shridharbhai Trivedi, George W. Zobrist · 1998
Fault tolerant computer architectureDaniel J. Sorin · 2009
Abstract machine models for parallel and distributed computingM. Kara · 1996- 📕Assessment of cache coherence protocols in shared-memory multiprocessorsAlexander Grbic · 2003
The cache coherence problem in shared-memory multiprocessorsIgor Tartalja · 1996
Ranked by number of editions on Open Library, a rough measure of how lasting a book is.
🔗 Related topics
- Memory coherence Memory coherence is an issue that affects the design of computer systems in which two or more processors or cores share a common area of memory. In a uniprocess…
- MESI protocol The MESI protocol is an invalidate-based cache coherence protocol, and is one of the most common protocols that support write-back caches. It is also known…
- Bus snooping Bus snooping or bus sniffing is a scheme by which a coherency controller (snooper) in a cache (a snoopy cache) monitors or snoops the bus transactions…
- Firefly (cache coherence protocol) The Firefly cache coherence protocol is the schema used in the DEC Firefly multiprocessor workstation, developed by DEC Systems Research Center. This protocol…
- MSI protocol In computing, the MSI protocol - a basic cache-coherence protocol - operates in multiprocessor systems. As with other cache coherency protocols, the letters…
- MOSI protocol The MOSI protocol is an extension of the basic MSI cache coherency protocol. It adds the Owned state, which indicates that the current processor owns this…
- Write-once (cache coherence) In cache coherency protocol literature, Write-Once was the first MESI protocol defined. It has the optimization of executing write-through on the first…
- Processor consistency Processor consistency is one of the consistency models used in the domain of concurrent computing (e.g. in distributed shared memory, distributed transactions…