# On the Cost of Concurrency in Hybrid Transactional Memory

**Authors:** Trevor Brown, Srivatsan Ravi

arXiv: 1907.02669 · 2019-07-08

## TL;DR

This paper investigates the inherent costs of concurrency in hybrid transactional memory systems, revealing fundamental limitations and proposing algorithms that balance progressiveness and hardware overhead.

## Contribution

It proves that software transactions in progressive hybrid TMs cannot avoid incremental validation and introduces optimal algorithms balancing progressiveness and hardware instrumentation.

## Key findings

- Concurrency cost exists in practice, impacting performance.
- Progressiveness for many transactions requires careful hardware design.
- Non-speculative hardware accesses do not simplify HyTM efficiency.

## Abstract

State-of-the-art \emph{software transactional memory (STM)} implementations achieve good performance by carefully avoiding the overhead of \emph{incremental validation} (i.e., re-reading previously read data items to avoid inconsistency) while still providing \emph{progressiveness} (allowing transactional aborts only due to \emph{data conflicts}). Hardware transactional memory (HTM) implementations promise even better performance, but offer no progress guarantees. Thus, they must be combined with STMs, leading to \emph{hybrid} TMs (HyTMs) in which hardware transactions must be \emph{instrumented} (i.e., access metadata) to detect contention with software transactions.   We show that, unlike in progressive STMs, software transactions in progressive HyTMs cannot avoid incremental validation. In fact, this result holds even if hardware transactions can \emph{read} metadata \emph{non-speculatively}. We then present \emph{opaque} HyTM algorithms providing \emph{progressiveness for a subset of transactions} that are optimal in terms of hardware instrumentation. We explore the concurrency vs. hardware instrumentation vs. software validation trade-offs for these algorithms. Our experiments with Intel and IBM POWER8 HTMs seem to suggest that (i) the \emph{cost of concurrency} also exists in practice, (ii) it is important to implement HyTMs that provide progressiveness for a maximal set of transactions without incurring high hardware instrumentation overhead or using global contending bottlenecks and (iii) there is no easy way to derive more efficient HyTMs by taking advantage of non-speculative accesses within hardware.

## Full text

_Full body text omitted from this summary view._ Fetch the complete paper as Markdown: https://tomesphere.com/paper/1907.02669/full.md

## Figures

11 figures with captions in the complete paper: https://tomesphere.com/paper/1907.02669/full.md

## References

27 references — full list in the complete paper: https://tomesphere.com/paper/1907.02669/full.md

---
Source: https://tomesphere.com/paper/1907.02669