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.

Chapter 1<br />

Introduction<br />

Shared memory multiprocessor systems provide a global memory image so that processors run-<br />

ning parallel programs can exchange information <strong>and</strong> synchronize with one another by access-<br />

ing shared variables. In large scale shared memory systems, the physical memory is typically<br />

distributed across di erent sites to achieve better performance. Distributed Shared Memory<br />

(DSM) systems implement the shared memory abstraction with a large number <strong>of</strong> processors<br />

connected by a network, combining the scalability <strong>of</strong>network-based architectures with the con-<br />

venience <strong>of</strong> shared memory programming. Caching technique allows shared variables to be<br />

replicated in multiple sites simultaneously to reduce memory access latency. DSM systems rely<br />

on cache coherence protocols to ensure that each processor can observe the semantic e ect <strong>of</strong><br />

memory access operations performed by another processor in time.<br />

The design <strong>of</strong> cache coherence protocols plays a crucial role in the construction <strong>of</strong> shared<br />

memory systems because <strong>of</strong> its pr<strong>of</strong>ound impact on the overall performance <strong>and</strong> implementation<br />

complexity. It is also one <strong>of</strong> the most complicated problems because e cient cache coherence<br />

protocols usually incorporate various optimizations, especially for cache coherence protocols<br />

that implement relaxed memory models. This thesis elaborates on several relevant issues about<br />

cache coherence protocols for DSM systems: what memory model should be supported, what<br />

adaptivity canbeprovided <strong>and</strong> how sophisticated <strong>and</strong> adaptive cache coherence protocols can<br />

be designed <strong>and</strong> veri ed.<br />

A shared memory system implements a memory model that de nes the semantics <strong>of</strong> memory<br />

access instructions. An ideal memory model should allow e cient <strong>and</strong> scalable implementa-<br />

tions while still have simple semantics for the architect <strong>and</strong> the compiler writer to reason about.<br />

Although various memory models have been proposed, there is little consensus on a memory<br />

model that shared memory systems should support. Sequential consistency is easy for program-<br />

mers to underst<strong>and</strong> <strong>and</strong> use, but it <strong>of</strong>ten prohibits many architectural <strong>and</strong> compiler optimiza-<br />

tions. On the other h<strong>and</strong>, relaxed memory models may allow various optimizations, but their<br />

ever-changing <strong>and</strong> implementation-dependent de nitions have created a situation where even<br />

experienced architects may have di culty articulating precisely the impact <strong>of</strong> these memory<br />

models on program behaviors.<br />

13

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

Saved successfully!

Ooh no, something went wrong!