AGC: adaptive global clock in software transactional memory

  • Authors:
  • Ehsan Atoofian;Amir Ghanbari Bavarsad

  • Affiliations:
  • Lakehead University, Thunder Bay, Canada;Lakehead University, Thunder Bay, Canada

  • Venue:
  • Proceedings of the 2012 International Workshop on Programming Models and Applications for Multicores and Manycores
  • Year:
  • 2012

Quantified Score

Hi-index 0.00

Visualization

Abstract

Time-based software transactional memories (STMs) exploit a global shared counter to reason about consistency of transactional data and order in which transactions commit. While time-based STMs avoid the large validation overhead of transactional memories that always check consistency when a new memory location is accessed, they increase contention over the global counter. When a transaction commits, it updates the global counter which may result in cache coherence misses if transactions commit frequently. The alternative validation method is to avoid frequent updates to the central global counter, increment it locally, and use it to tag memory locations. However, as we show in this paper, the optimum validation policy changes not only across applications but also within an application and through different phases of a program. We propose adaptive global clock (AGC) which dynamically selects one of the two validation techniques to reduce contention over the global counter and improve performance. AGC is a speculative approach and relies on history of transactions to select a validation technique. We have incorporated AGC into TL2 and compared the performance of the new implementation with the original STM using Stamp v0.9.10 benchmark suite. Our results reveal that AGC improves performance of applications up to 31%.