文档介绍:The Directory-Based Cache Coherence Protocol for the DASH puter System Laboratory Stanford University Daniel Lenoski , James Laudon , Kourosh Gharachoroloo , Anoop Gupta, and John Hennessy Designing low-cost high- performance multiprocessor ? Message-passing ( puter ) -distributed add. space, locally access ? more scalable ? more cumbersome to program ? Shared-memory (multiprocessor) -single add. space, remote access ? simplicity( data partitioning, dynamic load distribution) ? consume bandwidth, cache coherence DASH (Directory Architecture for Shared memory) ? Distributed shared main mem . among the processing nodes to provide scalable mem . bandwidth ? Distributed directory-based protocol to support cache coherence DASH architecture ? Processing node (cluster) -bus-based multiprocessor -snoopy protocol, amortizes cost of dir. logic & network interface ? Set of clusters -mesh work -distributed directory-based protocol, keeps the summary info for each specifying the cluster that are caching it. Details ? Cache--individual to each processor ? Memory-- shared to processors w/in the same cluster ? Directory memory-- keep track of all processors caching a block, send point-to- point msg (invalidate/update), avoid broadcast ? Remote Access Cache (RAC) – maintaining state of currently outstanding requests, buffering replies from work to release waiting processor for bus arbitration. Design distributed directory-based protocol ? Correctness issues -memory consistency model, strong constrained? Less constrained? -deadlock, loop, generation of previous request is the requirement of the next. -error handling, manage data integrity & fault tolerance. ? Performance issues -latency write misses-write buffer, release consistency model read misses-min inter-cluster msg , delay of msg. -bandwidth, reduce serialization (queuing delays), traffic, # of msg , caches & distributed memory in DASH. ? Distributed control & complexity issues -dis