uu.seUppsala University Publications
Change search
CiteExportLink to record
Permanent link

Direct link
Cite
Citation style
  • apa
  • harvard1
  • ieee
  • modern-language-association
  • vancouver
  • Other style
More styles
Language
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Other locale
More languages
Output format
  • html
  • text
  • asciidoc
  • rtf
Callback: Efficient Synchronization without Invalidation with a Directory Just for Spin-Waiting
Univ Murcia, Dept Comp Engn, E-30001 Murcia, Spain..
Uppsala University, Disciplinary Domain of Science and Technology, Mathematics and Computer Science, Department of Information Technology, Computer Architecture and Computer Communication.
2015 (English)In: 2015 ACM/IEEE 42Nd Annual International Symposium On Computer Architecture (ISCA), 2015, 427-438 p.Conference paper (Refereed)
Abstract [en]

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.

Place, publisher, year, edition, pages
2015. 427-438 p.
National Category
Computer Engineering
Identifiers
URN: urn:nbn:se:uu:diva-309515DOI: 10.1145/2749469.2750405ISI: 000380455700034ISBN: 9781450334020 (print)OAI: oai:DiVA.org:uu-309515DiVA: diva2:1051906
Conference
ACM/IEEE 42nd Annual International Symposium on Computer Architecture (ISCA), JUN 13-17, 2015, Portland, OR
Available from: 2016-12-05 Created: 2016-12-05 Last updated: 2016-12-05Bibliographically approved

Open Access in DiVA

No full text

Other links

Publisher's full text

Search in DiVA

By author/editor
Kaxiras, Stefanos
By organisation
Computer Architecture and Computer Communication
Computer Engineering

Search outside of DiVA

GoogleGoogle Scholar

Altmetric score

Total: 123 hits
CiteExportLink to record
Permanent link

Direct link
Cite
Citation style
  • apa
  • harvard1
  • ieee
  • modern-language-association
  • vancouver
  • Other style
More styles
Language
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Other locale
More languages
Output format
  • html
  • text
  • asciidoc
  • rtf