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 on 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 we can detect races more efficiently than with general use of futures.
Specifically, we present two algorithms: \MultiBags and \MultiBagsPlus. \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. \MultiBagsPlus is 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.
Wed 20 Feb
|09:35 - 10:00|
|10:00 - 10:25|
Herbert JordanUniversity of Innsbruck, Pavle SuboticUniversity College London, David ZhaoThe University of Sydney, Bernhard ScholzUniversity of Sydney, AustraliaDOI
|10:25 - 10:50|
Robert UtterbackMonmouth College, Kunal AgrawalWashington University in St. Louis, Jeremy Fineman, I-Ting Angelina LeeWashington University in St. LouisDOI