Hybridizing and relaxing dependence tracking for efficient parallel runtime support

Man Cao, Minjia Zhang, Aritra Sengupta, Swarnendu Biswas, Michael D. Bond

Research output: Contribution to journalArticlepeer-review

Abstract

It is notoriously challenging to develop parallel software systems that are both scalable and correct. Runtime support for parallelism-such as multithreaded record and replay, data race detectors, transactional memory, and enforcement of stronger memory models-helps achieve these goals, but existing commodity solutions slow programs substantially to track (i.e., detect or control) an execution's cross-Thread dependencies accurately. Prior work tracks cross-Thread dependencies either "pessimistically," slowing every program access, or "optimistically," allowing for lightweight instrumentation of most accesses but dramatically slowing accesses that are conflicting (i.e., involved in cross-Thread dependencies). This article presents two novel approaches that seek to improve the performance of dependence tracking. Hybrid tracking (HT) hybridizes pessimistic and optimistic tracking by overcoming a fundamental mismatch between these two kinds of tracking. HT uses an adaptive, profile-based policy to make runtime decisions about switching between pessimistic and optimistic tracking. Relaxed tracking (RT) attempts to reduce optimistic tracking's overhead on conflicting accesses by tracking dependencies in a "relaxed" way-meaning that not all dependencies are tracked accurately-while still preserving both program semantics and runtime support's correctness. To demonstrate the usefulness and potential of HT and RT, we build runtime support based on the two approaches. Our evaluation shows that both approaches offer performance advantages over existing approaches, but there exist challenges and opportunities for further improvement. HT and RT are distinct solutions to the same problem. It is easier to build runtime support based onHT than on RT, although RT does not incur the overhead of online profiling. This article presents the two approaches together to inform and inspire future designs for efficient parallel runtime support.

Original languageEnglish (US)
Article number3108138
JournalACM Transactions on Parallel Computing
Volume4
Issue number2
DOIs
StatePublished - Oct 2017
Externally publishedYes

Keywords

  • Concurrency correctness
  • Data races
  • Dependence tracking
  • Dynamic analysis
  • Runtime support for parallelism
  • Synchronization

ASJC Scopus subject areas

  • Software
  • Modeling and Simulation
  • Hardware and Architecture
  • Computer Science Applications
  • Computational Theory and Mathematics

Fingerprint

Dive into the research topics of 'Hybridizing and relaxing dependence tracking for efficient parallel runtime support'. Together they form a unique fingerprint.

Cite this