Cache coherence

Cache coherence

In computing, cache coherence (also cache coherency) refers to the consistency of data stored in local caches of a shared resource.

Multiple Caches of Shared Resource

When clients in a system maintain caches of a common memory resource, problems may arise with inconsistent data. This is particularly true of CPUs in a multiprocessing system. Referring to the "Multiple Caches of Shared Resource" figure, if the top client has a copy of a memory block from a previous read and the bottom client changes that memory block, the top client could be left with an invalid cache of memory without any notification of the change. Cache coherence is intended to manage such conflicts and maintain consistency between cache and memory.

Coherency protocol

A coherency protocol is a protocol which maintains the consistency between all the caches in a system of distributed shared memory. The protocol maintains memory coherence according to a specific consistency model. Most coherency protocols in multiprocessors support the sequential consistency model (note: this statement is false, no modern high-performance system implements sequential consistency), while distributed shared memory systems typically support release consistency or weak consistency models.

Transitions between states in any specific implementation of these protocols may vary. For example, an implementation may choose different update and invalidation transitions such as update-on-read, update-on-write, invalidate-on-read, or invalidate-on-write. The choice of transition may affect the amount of inter-cache traffic, which in turn may affect the amount of cache bandwidth available for actual work. This should be taken into consideration in the design of distributed software that could cause strong contention between the caches of multiple processors.

Various models and protocols have been devised for maintaining cache coherence, such as MSI, MESI (aka Illinois protocol), MOSI, MOESI, MERSI, MESIF, write-once, Synapse, Berkeley, Firefly and Dragon protocol

Choice of the consistency model is crucial to designing a cache coherent system. Coherence models differ in performance and scalability; each must be evaluated for every system design.

Further reading

  • Handy, Jim (1998). The Cache Memory Book. Academic Press, Inc.. ISBN 0-12-322980-4. 

See also


Wikimedia Foundation. 2010.

Игры ⚽ Поможем написать курсовую

Look at other dictionaries:

  • Coherence — Coherence, coherency, or coherent can refer to: Contents 1 In physics 2 In mathematics 3 In financial economics 4 In philosophy …   Wikipedia

  • Cache coherency — In computing, cache coherency (also cache coherence) refers to the integrity of data stored in local caches of a shared resource. Cache coherence is a special case of memory coherence.When clients in a system maintain caches of a common memory… …   Wikipedia

  • Cache — This article is about the computer science optimization concept. For other uses, see Cache (disambiguation). In computer engineering, a cache (  /ˈk …   Wikipedia

  • Cache only memory architecture — (COMA) is a computer memory organization for use in multiprocessors in which the local memories (typically DRAM) at each node are used as cache. This is in contrast to using the local memories as actual main memory, as in NUMA organizations. In… …   Wikipedia

  • Cache D'instructions — Mémoire cache Pour les articles homonymes, voir Mémoire cache (homonymie). Une mémoire cache ou antémémoire est, en informatique, une mémoire relativement petite et rapide qui stocke les informations les plus utilisées d une autre mémoire plus… …   Wikipédia en Français

  • Cache d'instructions — Mémoire cache Pour les articles homonymes, voir Mémoire cache (homonymie). Une mémoire cache ou antémémoire est, en informatique, une mémoire relativement petite et rapide qui stocke les informations les plus utilisées d une autre mémoire plus… …   Wikipédia en Français

  • CPU cache — Cache memory redirects here. For the general use, see cache. A CPU cache is a cache used by the central processing unit of a computer to reduce the average time to access memory. The cache is a smaller, faster memory which stores copies of the… …   Wikipedia

  • Cohérence (données) — Pour les articles homonymes, voir Cohérence. schéma illustrant le besoin d un protocole de cohérence de cache En informatique, la cohérence est la capacité pour un système à …   Wikipédia en Français

  • Coherence protocol — In computer science, a coherence protocol is a protocol which maintains the consistency between all the caches in a system of distributed shared memory; the protocol maintains memory coherence according to a specified consistency model.Examples… …   Wikipedia

  • 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.[1][2][3][4] In a uniprocessor system (whereby, in today s terms, there exists only one core), there is only one… …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”