Exploiting commutativity to reduce the cost of updates to shared data in cache-coherent systems
Author(s)Zhang, Guowei; Horn, Webb H; Sanchez, Daniel
MetadataShow full item record
We present Coup, a technique to lower the cost of updates to shared data in cache-coherent systems. Coup exploits the insight that many update operations, such as additions and bitwise logical operations, are commutative: they produce the same final result regardless of the order they are performed in. Coup allows multiple private caches to simultaneously hold update-only permission to the same cache line. Caches with update-only permission can locally buffer and coalesce updates to the line, but cannot satisfy read requests. Upon a read request, Coup reduces the partial updates buffered in private caches to produce the final value. Coup integrates seamlessly into existing coherence protocols, requires inexpensive hardware, and does not affect the memory consistency model. We apply Coup to speed up single-word updates to shared data. On a simulated 128-core, 8-socket system, Coup accelerates state-of-the-art implementations of update-heavy algorithms by up to 2.4×.
DepartmentMassachusetts Institute of Technology. Computer Science and Artificial Intelligence Laboratory; Massachusetts Institute of Technology. Department of Electrical Engineering and Computer Science
Proceedings of the 48th International Symposium on Microarchitecture (MICRO-48)
Association for Computing Machinery (ACM)
Zhang, Guowei, Webb Horn, and Daniel Sanchez. “Exploiting Commutativity to Reduce the Cost of Updates to Shared Data in Cache-Coherent Systems.” Proceedings of the 48th International Symposium on Microarchitecture - MICRO-48 (2015).
Author's final manuscript