Volition: Scalable and precise sequential consistency violation detection

Xuehai Qian, Josep Torrellas, Benjamin Sahelices, Depei Qian

Research output: Contribution to journalArticlepeer-review

Abstract

Sequential Consistency (SC) is the most intuitive memory model, and SC Violations (SCVs) produce unintuitive, typically incorrect executions. Most prior SCV detection schemes have used data races as proxies for SCVs, which is highly imprecise. Other schemes that have targeted data-race cycles are either too conservative or are designed only for two-processor cycles and snoopy-based systems. This paper presents Volition, the first hardware scheme that detects SCVs in a relaxed-consistency machine precisely, in a scalable manner, and for an arbitrary number of processors in the cycle. Volition leverages cache coherence protocol transactions to dynamically detect cycles in memory-access orders across threads. When a cycle is about to occur, an exception is triggered. Volition can be used in both directory- and snoopy-based coherence protocols. Our simulations of Volition in a 64-processor multicore with directorybased coherence running SPLASH-2 and Parsec programs shows that Volition induces negligible traffic and execution overhead. In addition, it can detect SCVs with several processors. Volition is suitable for on-the-fly use.

Original languageEnglish (US)
Pages (from-to)535-548
Number of pages14
JournalACM SIGPLAN Notices
Volume48
Issue number4
DOIs
StatePublished - Apr 2013

Keywords

  • Memory Consistency
  • Parallel Programming
  • Sequential Consistency
  • Shared-Memory Multiprocessors

ASJC Scopus subject areas

  • Computer Science(all)

Fingerprint

Dive into the research topics of 'Volition: Scalable and precise sequential consistency violation detection'. Together they form a unique fingerprint.

Cite this