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

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

<strong>Design</strong> <strong>and</strong> Veri cation <strong>of</strong> <strong>Adaptive</strong> <strong>Cache</strong> <strong>Coherence</strong> <strong>Protocols</strong><br />

Abstract<br />

by<br />

Xiaowei Shen<br />

Submitted to the Department <strong>of</strong> Electrical Engineering <strong>and</strong> Computer Science<br />

on January 5, 2000<br />

in partial ful llment <strong>of</strong> the requirements for the degree <strong>of</strong><br />

Doctor <strong>of</strong> Philosophy<br />

We propose to apply Term Rewriting Systems (TRSs) to modeling computer architectures <strong>and</strong><br />

distributed protocols. TRSs o er a convenient way to precisely describe asynchronous systems<br />

<strong>and</strong> can be used to verify the correctness <strong>of</strong> an implementation with respect to a speci cation.<br />

This dissertation illustrates the use <strong>of</strong> TRSs by giving the operational semantics <strong>of</strong> a simple<br />

instruction set, <strong>and</strong> a processor that implements the same instruction set on a micro-architecture<br />

that allows register renaming <strong>and</strong> speculative execution.<br />

A mechanism-oriented memory model called Commit-Reconcile & Fences (CRF) is presented<br />

that allows scalable implementations <strong>of</strong> shared memory systems. The CRF model exposes a<br />

semantic notion <strong>of</strong> caches, referred to as saches, <strong>and</strong> decomposes memory access operations<br />

into simpler instructions. In CRF, a memory load operation becomes a Reconcile followed by a<br />

Loadl, <strong>and</strong> a memory store operation becomes a Storel followed by a Commit. The CRF model<br />

can serve as a stable interface between computer architects <strong>and</strong> compiler writers.<br />

We design a family <strong>of</strong> cache coherence protocols for distributed shared memory systems. Each<br />

protocol is optimized for some speci c access patterns, <strong>and</strong> contains a set <strong>of</strong> voluntary rules to<br />

provide adaptivity that can be invoked whenever necessary. It is proved that each protocol is a<br />

correct implementation <strong>of</strong> CRF, <strong>and</strong> thus a correct implementation <strong>of</strong> any memory model whose<br />

programs can be translated into CRF programs. To simplify protocol design <strong>and</strong> veri cation,<br />

we employ anovel two-stage design methodology called Imperative-&-Directive that addresses<br />

the soundness <strong>and</strong> liveness concerns separately throughout protocol development.<br />

Furthermore, an adaptive cache coherence protocol called <strong>Cache</strong>t is developed that provides<br />

enormous adaptivity for programs with di erent access patterns. The <strong>Cache</strong>t protocol is a<br />

seamless integration <strong>of</strong> multiple micro-protocols, <strong>and</strong> embodies both intra-protocol <strong>and</strong> interprotocol<br />

adaptivity that can be exploited via appropriate heuristic mechanisms to achieve optimal<br />

performance under changing program behaviors. The <strong>Cache</strong>t protocol allows store accesses<br />

to be performed without the exclusive ownership, which can notably reduce store latency <strong>and</strong><br />

alleviate cache thrashing due to false sharing.<br />

Thesis Supervisor: Arvind<br />

Title: Pr<strong>of</strong>essor <strong>of</strong> Electrical Engineering <strong>and</strong> Computer Science<br />

3

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

Saved successfully!

Ooh no, something went wrong!