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

The Base <strong>Cache</strong> <strong>Coherence</strong><br />

Protocol<br />

The Base protocol is the most straightforward implementation <strong>of</strong> the CRF model. An attractive<br />

characteristic <strong>of</strong> Base is its simplicity: no state needs to be maintained at the memory side. In<br />

Base, a commit operation on a dirty cell forces the data to be written back to the memory, <strong>and</strong><br />

a reconcile operation on a clean cell forces the data to be purged from the cache. This is ideal<br />

for programs in which only necessary commit <strong>and</strong> reconcile operations are performed.<br />

In this chapter, we rst present a novel protocol design methodology called Imperative-&-<br />

Directive that will be used throughout this thesis. Section 4.2 describes the system con guration<br />

<strong>of</strong> the Base protocol <strong>and</strong> gives the message passing rules for non-FIFO <strong>and</strong> FIFO networks.<br />

We de ne the imperative rules <strong>of</strong> Base in Section 4.3, <strong>and</strong> present the complete Base protocol<br />

in Section 4.4. Section 4.5 proves the soundness <strong>of</strong> Base by showing that the imperative Base<br />

rules can be simulated in CRF Section 4.6 proves the liveness <strong>of</strong> Base by showing that each<br />

processor can always make progress (that is, a memory instruction can always be completed<br />

eventually).<br />

4.1 The Imperative-&-Directive <strong>Design</strong> Methodology<br />

In spite <strong>of</strong> the development <strong>of</strong> various cache coherence protocols, it is di cult to discern any<br />

methodology that has guided the design <strong>of</strong> existing protocols. A major source <strong>of</strong> complexity<br />

in protocol design is that the designer <strong>of</strong>ten deals with many di erent issues simultaneously.<br />

Are coherence states being maintained correctly? Is it possible that a cache miss may never be<br />

serviced? What is the consequence if messages get reordered in the network? How to achieve<br />

better adaptivity for programs with di erent access patterns? Answering such questions can be<br />

di cult for sophisticated protocols with various optimizations. The net result is that protocol<br />

design is viewed as an enigma, <strong>and</strong> even the designer is not totally con dent <strong>of</strong> his or her<br />

underst<strong>and</strong>ing <strong>of</strong> the protocol behavior.<br />

We propose a two-stage design methodology called Imperative-&-Directive that separates<br />

soundness <strong>and</strong> liveness concerns in the design process (see Figure 4.1). Soundness ensures that<br />

65

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

Saved successfully!

Ooh no, something went wrong!