Skip to main content
Department of Information Technology
Uppsala Architecture Research Team

A Dual-Consistency Cache Coherence Protocol

Weak memory consistency models can maximize system performance by enabling hardware and compiler optimizations, but increase programming complexity since they do not match programmers' intuition. The design of an efficient system with an intuitive memory model is an open challenge. This work proposes SPEL, a dual-consistency cache coherence protocol which simultaneously guarantees the strongest memory consistency model provided by the hardware and yields improvements in both performance and energy consumption. The design of the protocol exploits a compile-time identification of code regions which can be executed under a less restrictive, thus optimized protocol, without harming correctness. Outside these regions, code is executed under a more restrictive protocol which enforces sequential consistency. Compared to a standard directory protocol, we show improvements in performance of 24% and reductions in energy consumption of 32%, on average, for a 64-core chip multiprocessor.

classification.png
Classification of memory accesses as private or shared: Compile-time (xDRF) vs. Operating-system (OS-based) classification: The operating system classifies a memory access as private if the corresponding memory page is referenced by a single thread during the entire execution. Hence, in practice, the majority of memory accesses are eventually classified as shared. In contrast, the compiler performs a classification by regions, where a memory access is private (or shared but read-only) if the target address is accessed by a single thread within the region. Therefore, SPEL considers both a finer granularity (size of accessed data vs. memory page) and temporality (i.e., the classification is valid during the execution of the region vs. during the entire execution). Compile-time classification identifies most accesses as private, enabling significant optimizations in the cache coherence protocol.

A Dual-Consistency Cache Coherence Protocol Ros A., Jimborean A.
In IPDPS - International Parallel and Distributed Processing Symposium (2015)

Updated  2015-06-25 16:29:19 by Alexandra Jimborean.