DeNovoSync: Efficient support for arbitrary synchronization without writer-initiated invalidations

Hyojin Sung, Sarita V Adve

Research output: Contribution to journalArticle

Abstract

Current shared-memory hardware is complex and inefficient. Prior work on the DeNovo coherence protocol showed that disciplined shared-memory programming models can enable more complexity-, performance-, and energy-efficient hardware than the state-of-the-art MESI protocol. DeNovo, however, severely restricted the synchronization constructs an application can support. This paper proposes DeNovoSync, a technique to support arbitrary synchronization in DeNovo. The key challenge is that DeNovo exploits race freedom to use reader-initiated local self-invalidations (instead of conventional writer-initiated remote cache invalidations) to ensure coherence. Synchronization accesses are inherently racy and not directly amenable to self-invalidations. DeNovoSync addresses this challenge using a novel combination of registration of all synchronization reads with a judicious hardware backoff to limit unnecessary registrations. For a wide variety of synchronization constructs and applications, compared to MESI, DeNovoSync shows comparable or up to 22% lower execution time and up to 58% lower network traffic, enabling DeNovo's advantages for a much broader class of software than previously possible.

Original languageEnglish (US)
Pages (from-to)545-559
Number of pages15
JournalACM SIGPLAN Notices
Volume50
Issue number4
DOIs
StatePublished - Apr 2015

    Fingerprint

ASJC Scopus subject areas

  • Computer Science(all)

Cite this