09.08.2013 Views

Design and Verification of Adaptive Cache Coherence Protocols ...

Design and Verification of Adaptive Cache Coherence Protocols ...

Design and Verification of Adaptive Cache Coherence Protocols ...

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Chapter 5<br />

The Writer-Push <strong>Cache</strong> <strong>Coherence</strong><br />

Protocol<br />

In Base, a reconcile operation on a clean cell forces the data to be purged from the cache before<br />

the reconcile can complete. This may cause serious performance degradation for programs with<br />

excessive use <strong>of</strong> reconcile operations. For example, this can happen for programs written under<br />

release consistency that requires all addresses be indistinguishably reconciled after each acquire<br />

operation. The Writer-Push (WP) protocol allows a reconcile operation on a clean cell to<br />

complete without purging the data so that the data can be accessed by subsequent instructions<br />

without causing a cache miss. It is ideal for programs with excessive use <strong>of</strong> reconcile operations,<br />

for example, when some processors read a memory location many times using Reconcile <strong>and</strong><br />

Loadl instructions before the location is modi ed by another processor using Storel <strong>and</strong> Commit<br />

instructions. A cache cell never needs to be purged from the cache unless the cache becomes<br />

full or the memory location is modi ed by another processor.<br />

The WP protocol ensures that if an address is cached in the Clean state, the cache cell<br />

contains the same value as the memory cell. This is achieved by requiring that all clean copies<br />

<strong>of</strong> an address be purged before the memory cell can be modi ed. As the name \Writer-Push"<br />

suggests, the writer is responsible for informing potential readers to have their stale copies, if<br />

any, purged in time. Therefore, a commit operation on a dirty cell can be a lengthy process<br />

since it cannot complete before clean copies <strong>of</strong> the address are purged from all other caches.<br />

Section 5.1 describes the system con guration <strong>of</strong> the WP protocol, which includes the<br />

coherence states <strong>and</strong> protocol messages. We present the imperative rules <strong>of</strong> WP in Section 5.2<br />

<strong>and</strong> the integrated rules <strong>of</strong> WP in Section 5.3. The soundness <strong>and</strong> liveness <strong>of</strong> WP are proved<br />

in Sections 5.4 <strong>and</strong> 5.5, respectively. Section 5.6 demonstrates the use <strong>of</strong> voluntary rules via<br />

an update protocol that is derived from WP. An alternative Writer-Push protocol is given in<br />

Section 5.7.<br />

86

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!