Edge chasing delayed consistency: Pushing the limits of weak memory models
Abstract
In shared memory multiprocessors utilizing invalidationbased coherence protocols, cache misses caused by interprocessor communication are a dominant source of processor stall cycles for many applications. We explore a novel coherence protocol implementation called edge-chasing delayed consistency (ECDC) that mitigates some of the performance degradation caused by this class of misses. Edgechasing delayed consistency allows a processor to nonspeculatively continue reading a cache line after receiving an invalidation from another core, without changing the consistency model offered to programmers. While the idea of using stale data for as long as possible is enticing, our study shows that the benefits of such delay are small, and that the majority of these delayed invalidation benefits come from mitigating the false sharing problem, rather than any tolerance of races or an application's ability to consume stale data in a productive manner. Copyright © 2012 ACM.