SORDS: Just-In-Time Streaming of Temporally-Correlated Shared Data

Thomas F. Wenisch, Stephen Somogyi, Nikos Hardavellas, Jangwoo Kim, Chris Gniady, Anastasia Ailamaki, Babak Falsafi · 2004

Coherence misses in shared-memory multiprocessors account for a substantial fraction of execution time in many important scientific and commercial workloads. While store miss latency can be effectively tolerated using relaxed memory ordering, load latency to shared data remains a bottleneck. Current proposals for mitigating coherence misses either reduce the latency by optimizing the coherence activity (e.g., selfinvalidation) or prefetch specific memory access patterns (e.g., strides) but fall short of eliminating the miss latency for generalized memory access patterns. This paper presents the novel observation that the order in which shared data is consumed by one processor is correlated to the order it was produced by another. We investigate this phenomenon, called temporal correlation, and demonstrate that it can be exploited to send Store-ORDered Streams (SORDS) of shared data from producers to consumers, thereby eliminating coherent read misses. We present a practical design that uses a set of cooperating hardware predictors to extract temporal correlation from shared data, and mechanisms for timely forwarding of this data. We present results using trace-driven analysis of full-system cache-coherent distributed shared memory simulation to show that our SORDS design can eliminate between 36 % and 100 % of all coherent read misses in scientific workloads and between 23 % and 48 % in OLTP workloads. 1.

Read the paper · More papers on PaperTik