Invalidate or Update? Revisiting Coherence for Tomorrow's Cache Hierarchies

Autor: Mingcan Zhu, Amna Shahab, Boris Grot, Antonios Katsarakis
Rok vydání: 2021
Předmět:
Zdroj: PACT
Zhu, M, Shahab, A, Katsarakis, A & Grot, B 2021, Invalidate or Update? Revisiting Coherence for Tomorrow’s Cache Hierarchies . in 2021 30th International Conference on Parallel Architectures and Compilation Techniques (PACT) . pp. 226-241, 30th International Conference on Parallel Architectures and Compilation Techniques, 26/09/21 . https://doi.org/10.1109/PACT52795.2021.00024
DOI: 10.1109/pact52795.2021.00024
Popis: Shared on-chip last-level caches (LLCs) play a key role in capturing the large working sets of today’s data-intensive workloads. However, they pose a fundamental scalability challenge in the transistor-limited post-Moore regime. Recent work has argued for Next-Generation LLCs (NG-LLC) based on private caches in die-stacked DRAM, which can provide hundreds of MBs of per-core LLC capacity at similar access latency to today’s shared LLCs. While NG-LLCs offer a number of advantages, their private design exposes long-latency inter-core reads for read/write shared data, which hurt performance in parallel workloads. One way to eliminate the long latency of reads to read/write shared data is through the use of updating coherence protocols that eagerly push updates from a writer core into caches of recent readers. Alas, these protocols are known to generate excess cache and interconnect traffic that can be detrimental to overall performance. While hybrid protocols that try to alleviate the problem by combining invalidating and updating protocols have been proposed, we find their performance benefit to be small for NG-LLCs.This work observes that the number of writes to a read/write shared cache block is likely to be stable over several consecutive write/read iterations. Based on this insight, we propose the 1-Updateprotocol that records the number of writes without an intervening read by a sharer, and subsequently uses there corded value to send at most one update after that number of writes has taken place. We have formally verified 1-Update and show that it achieves high efficacy in covering remote misses for read/write shared cache blocks while minimizing excess cache and interconnect traffic.
Databáze: OpenAIRE