User:Stchen: Difference between revisions

From Expertiza_Wiki
Jump to navigation Jump to search
No edit summary
No edit summary
Line 10: Line 10:




{{cite journal |last1=Glasco |first1=David B. |last2=Delagi |first2=Bruce A. |last3=Flynn |first3=Michael J. |year= |title= |journal= |volume= |issue= |pages= |publisher= }}
<ref>{{cite journal |last1=Glasco |first1=David B. |last2=Delagi |first2=Bruce A. |last3=Flynn |first3=Michael J. |year= |title= |journal= |volume= |issue= |pages= |publisher= }}</ref>


Update and Adaptive Coherence Protocols are used to solve the [http://en.wikipedia.org/wiki/Cache_coherence cache coherency] problem.
Update and Adaptive Coherence Protocols are used to solve the [http://en.wikipedia.org/wiki/Cache_coherence cache coherency] problem.

Revision as of 03:02, 21 March 2012

Introduction to Update and Adaptive Coherence Protocols on Real Architectures

In parallel computer architectures, cache coherence refers to the consistency of data that is stored throughout the caches on individual processors or throughout the shared memory. The problem here is that we have multiple caches on multiple processors. When an update to a single cache makes changes to a shared memory, you will need to have all the caches be coherent on the value change. This is better shown below.


Multiple Caches of Shared Resource
Figure 1. Multiple Caches of Shared Resource


<ref></ref>

Update and Adaptive Coherence Protocols are used to solve the cache coherency problem.

According to Solihin textbook, page number 229, "One of the drawbacks of an invalidate-based protocol is that it incurs high number of coherence misses." What this means is that when a read has been made to an invalidated block, there will be a cache miss and serving this miss can create a high latency. To solve this, one can use a update coherence protocol, or an adaptive coherence protocol.

Update Coherence Protocol

Intro

Dragon Protocol

Adaptive Coherence Protocol