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 8<br />

Conclusions<br />

This thesis has addressed several important issues regarding cache coherence protocols for<br />

shared memory multiprocessor systems. First, what memory model should be supported to<br />

allow e cient <strong>and</strong> exible implementations second, what adaptivity can be provided to accom-<br />

modate programs with di erent access patterns <strong>and</strong> third, how adaptivecache coherence pro-<br />

tocols can be designed <strong>and</strong> veri ed. We have proposed a scalable mechanism-oriented memory<br />

model called Commit-Reconcile & Fences (CRF), <strong>and</strong> developed an adaptive cache coherence<br />

protocol called <strong>Cache</strong>t that implements CRF in DSM system. Our research uses Term Rewrit-<br />

ing Systems (TRSs) as the formalism to precisely specify memory models <strong>and</strong> cache coherence<br />

protocols.<br />

The CRF memory model exposes data replication via a notion <strong>of</strong> semantic caches, referred to<br />

as saches. There are three types <strong>of</strong> memory instructions: memory access instructions Loadl <strong>and</strong><br />

Storel, memory rendezvous instructions Commit <strong>and</strong> Reconcile, <strong>and</strong> memory fence instructions.<br />

Semantically, each processor is associated with a sache that contains a set <strong>of</strong> cells. Each sache<br />

cell has a state, which can be either Clean or Dirty. The Clean state indicates that the data has<br />

not been modi ed since it was cached or last written back, while the Dirty state indicates that<br />

the data has been modi ed <strong>and</strong> has not been written back to the memory since then. At any<br />

time, a sache can purge a Clean copy from the sache, write a Dirty copyback to the memory, or<br />

retrieve a Clean copy from the memory for an uncached address. A Commit instruction cannot<br />

be completed if the address is cached in the Dirty state, <strong>and</strong> a Reconcile instruction cannot be<br />

completed if the address is cached in the Clean state.<br />

There are good reasons to be skeptical <strong>of</strong> yet another memory model. Memory model<br />

de nitions in modern microprocessor manuals are sometimes imprecise, ambiguous or even<br />

wrong. Not only computer architects, but also compiler writers <strong>and</strong> system programmers, would<br />

prefer memory models to be simpler <strong>and</strong> cleaner at the architecture level. The CRF model<br />

can eliminate some modele de l'annee disadvantages <strong>of</strong> existing memory models. Programs<br />

written under sequential consistency <strong>and</strong> various weaker memory models can be translated<br />

into e cient CRF programs, while most existing parallel systems can be interpreted as speci c<br />

implementations <strong>of</strong> CRF, though more e cient implementations are possible. Indeed, the<br />

161

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

Saved successfully!

Ooh no, something went wrong!