# Efficient Race Detection with Futures

**Authors:** Robert Utterback, Kunal Agrawal, Jeremy Fineman, I-Ting Angelina Lee

arXiv: 1901.00622 · 2019-01-04

## TL;DR

This paper introduces efficient algorithms, MultiBags and MultiBags+, for on-the-fly race detection in task parallel programs using futures, with theoretical guarantees and empirical validation.

## Contribution

It presents two new algorithms that improve race detection efficiency for programs with restricted and general futures, respectively.

## Key findings

- MultiBags runs in near-constant time for restricted futures.
- MultiBags+ extends to general futures with acceptable overhead.
- Empirical results confirm the practical efficiency of both algorithms.

## Abstract

This paper addresses the problem of provably efficient and practically good on-the-fly determinacy race detection in task parallel programs that use futures. Prior works determinacy race detection have mostly focused on either task parallel programs that follow a series-parallel dependence structure or ones with unrestricted use of futures that generate arbitrary dependences. In this work, we consider a restricted use of futures and show that it can be race detected more efficiently than general use of futures.   Specifically, we present two algorithms: MultiBags and MultiBags+. MultiBags targets programs that use futures in a restricted fashion and runs in time $O(T_1 \alpha(m,n))$, where $T_1$ is the sequential running time of the program, $\alpha$ is the inverse Ackermann's function, $m$ is the total number of memory accesses, $n$ is the dynamic count of places at which parallelism is created. Since $\alpha$ is a very slowly growing function (upper bounded by $4$ for all practical purposes), it can be treated as a close-to-constant overhead. MultiBags+ an extension of MultiBags that target programs with general use of futures. It runs in time $O((T_1+k^2)\alpha(m,n))$ where $T_1$, $\alpha$, $m$ and $n$ are defined as before, and $k$ is the number of future operations in the computation. We implemented both algorithms and empirically demonstrate their efficiency.

## Full text

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

## Figures

9 figures with captions in the complete paper: https://tomesphere.com/paper/1901.00622/full.md

## References

61 references — full list in the complete paper: https://tomesphere.com/paper/1901.00622/full.md

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