Publication | Closed Access
Improving Multiple-CMP Systems Using Token Coherence
109
Citations
37
References
2005
Year
Unknown Venue
Semiconductor TechnologyEngineeringDistributed ComputingShared MemoryMessage PassingHigh-performance ArchitectureConcurrent ProgrammingIntra-cmp Coherence ProtocolComputer EngineeringComputer ArchitectureFormal MethodsConcurrency (Computer Science)Parallel ProgrammingComputer ScienceConcurrent Data StructureParallel ComputingFormal VerificationNew Protocol Variants
Improvements in semiconductor technology now enable chip multiprocessors (CMPs). As many future computer systems will use one or more CMPs and support shared memory, such systems will have caches that must be kept coherent. Coherence is a particular challenge for multiple-CMP (M-CMP) systems. One approach is to use a hierarchical protocol that explicitly separates the intra-CMP coherence protocol from the inter-CMP protocol, but couples them hierarchically to maintain coherence. However, hierarchical protocols are complex, leading to subtle, difficult-to-verify race conditions. Furthermore, most previous hierarchical protocols use directories at one or both levels, incurring indirections - and thus extra latency - for sharing misses, which are common in commercial workloads. In contrast, this paper exploits the separation of correctness substrate and performance policy in the recently-proposed token coherence protocol to develop the first M-CMP coherence protocol that is flat for correctness, but hierarchical for performance. Via model checking studies, we show that flat correctness eases verification. Via simulation with micro-benchmarks, we make new protocol variants more robust under contention. Finally, via simulation with commercial workloads on a commercial operating system, we show that new protocol variants can be 10-50% faster than a hierarchical directory protocol.
| Year | Citations | |
|---|---|---|
Page 1
Page 1