Report Number: CSL-TR-90-423
Institution: Stanford University, Computer Systems Laboratory
Title: Implementing a Directory-Based Cache Consistency Protocol
Author: Simoni, Richard
Date: March 1990
Abstract: Directory-based cache consistency protocols have the
potential to allow shared-memory multiprocessors to scale to
a large number of processors. While many variations of these
coherence schemes exist in the literature, they have
typically been described at a rather high level, making
adequate evaluation difficult. This paper explores the
implementation issues of directory-based coherency strategies
by developing a design at the level of detail needed to write
a memory system functional simulator with an accurate timing
model. The paper presents the design of both an invalidation
coherency protocol and the associated directory/memory
hardware. Support is added to prevent deadlock, handle subtle
consistency situations, and implement a proper programming
model of multiprocess execution. Extensions are delineated
for realizing a multiple-threaded directory that can continue
to process commands while waiting for a reply from a cache.
The final hardware design is evaluated in the context of the
number of parts required for implementation.
http://i.stanford.edu/pub/cstr/reports/csl/tr/90/423/CSL-TR-90-423.pdf