Optimizing hybrid transactional memory: the importance of nonspeculative operations

  • Authors:
  • Torvald Riegel;Patrick Marlier;Martin Nowack;Pascal Felber;Christof Fetzer

  • Affiliations:
  • Technische Universität Dresden, Dresden, Germany;Université de Neuchâtel, Neuchâtel, Switzerland;Technische Universität Dresden, Dresden, Germany;Université de Neuchâtel, Neuchâtel, Switzerland;Technische Universität Dresden, Dresden, Germany

  • Venue:
  • Proceedings of the twenty-third annual ACM symposium on Parallelism in algorithms and architectures
  • Year:
  • 2011

Quantified Score

Hi-index 0.01

Visualization

Abstract

Transactional memory (TM) is a speculative shared-memory synchronization mechanism used to speed up concurrent programs. Most current TM implementations are software-based (STM) and incur noticeable overheads for each transactional memory access. Hardware TM proposals (HTM) address this issue but typically suffer from other restrictions such as limits on the number of data locations that can be accessed in a transaction. In this paper, we present several new hybrid TM algorithms that can execute HTM and STM transactions concurrently and can thus provide good performance over a large spectrum of workloads. The algorithms exploit the ability of some HTMs to have both speculative and nonspeculative (nontransactional) memory accesses within a transaction to decrease the transactions' runtime overhead, abort rates, and hardware capacity requirements. We evaluate implementations of these algorithms based on AMD's Advanced Synchronization Facility, an x86 instruction set extension proposal that has been shown to provide a sound basis for HTM.