TY - GEN
T1 - Efficient race detection with futures
AU - Utterback, Robert
AU - Agrawal, Kunal
AU - Fineman, Jeremy
AU - Lee, I. Ting Angelina
N1 - Publisher Copyright:
© 2019 Association for Computing Machinery.
PY - 2019/2/16
Y1 - 2019/2/16
N2 - This paper addresses the problem of provably eficient and practically good on-the-fly determinacy race detection in task parallel programs that use futures. Prior works on de-terminacy 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 eficiently than with 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(T1α(m,n)), where T1 is the sequential running time of the program, α 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 α 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+ is an extension of MultiBags that target programs with general use of futures. It runs in time O((T1 + k2)α(m,n)) where T1, α, 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 eficiency.
AB - This paper addresses the problem of provably eficient and practically good on-the-fly determinacy race detection in task parallel programs that use futures. Prior works on de-terminacy 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 eficiently than with 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(T1α(m,n)), where T1 is the sequential running time of the program, α 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 α 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+ is an extension of MultiBags that target programs with general use of futures. It runs in time O((T1 + k2)α(m,n)) where T1, α, 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 eficiency.
KW - Determinacy race
KW - Dynamic program analysis
KW - Race detection
KW - Series-parallel maintenance
UR - https://www.scopus.com/pages/publications/85064209877
U2 - 10.1145/3293883.3295732
DO - 10.1145/3293883.3295732
M3 - Conference contribution
AN - SCOPUS:85064209877
T3 - Proceedings of the ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, PPOPP
SP - 340
EP - 354
BT - PPoPP 2019 - Proceedings of the 24th Principles and Practice of Parallel Programming
PB - Association for Computing Machinery
T2 - 24th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, PPoPP 2019
Y2 - 16 February 2019 through 20 February 2019
ER -