Affiliation:
1. Universidad de Murcia, Spain
2. Uppsala University, Sweden
Abstract
Cache coherence protocols based on self-invalidation allow a simpler design compared to traditional invalidation-based protocols, by relying on data-race-free (DRF) semantics and applying self-invalidation on racy synchronization points exposed to the hardware. Their simplicity lies in the absence of invalidation traffic, which eliminates the need to track readers in a directory, and reduces the number of transient protocol states. With the addition of self-downgrade these protocols can become effectively directory-free. While this works well for race-free data, unfortunately, lack of explicit invalidations compromises the effectiveness of any synchronization that relies on races. This includes any form of spin waiting, which is employed for signaling, locking, and barrier primitives.
In this work we propose a new solution for spin-waiting in these protocols, the
callback
mechanism, that is simpler and more efficient than explicit invalidation. Callbacks are set by reads involved in spin waiting, and are satisfied by writes (that can even precede these reads). To implement callbacks we use a small (just a few entries) directory-cache structure that is intended to service only these "spin-waiting" races. This directory structure is self-contained and is not backed up in any way. Entries are created on demand and can be evicted without the need to preserve their information. Our evaluation shows a significant improvement both over explicit invalidation and over exponential back-off, the state-of-the-art mechanism for self-invalidation protocols to avoid spinning in the shared cache.
Funder
Fundación Séneca
Ministerio de Economía y Competitividad
Publisher
Association for Computing Machinery (ACM)
Reference27 articles.
1. "Sclalable Synchronization Algorithms " http://www.cs.rochester.edu/research/synchronization/pseudocode/ss.html. "Sclalable Synchronization Algorithms " http://www.cs.rochester.edu/research/synchronization/pseudocode/ss.html.
2. Weak ordering---a new definition
3. Software-Based Cache Coherence with Hardware-Assisted Selective Self-Invalidations Using Bloom Filters
Cited by
1 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. Fencing Programs with Self-Invalidation and Self-Downgrade;Formal Techniques for Distributed Objects, Components, and Systems;2016