Existing dynamic determinacy race detectors for taskparallel programs are limited to programs with strict computation graphs, where a task can only wait for its descendant tasks to complete. In this paper, we present the first known determinacy race detector for non-strict computation graphs, constructed using futures. The space and time complexity of our algorithm are similar to those of the classical SPbags algorithm, when using only structured parallel constructs such as spawn-sync and async-finish. In the presence of point-to-point synchronization using futures, the complexity of the algorithm increases by a factor determined by the number of future task creation and get operations as well as the number of non-tree edges in the computation graph. The experimental results show that the slowdown factor observed for our algorithm relative to the sequential version is in the range of 1.00× – 9.92×, which is in line with slowdowns experienced for strict computation graphs in past work.
CITATION STYLE
Surendran, R., & Sarkar, V. (2016). Dynamic determinacy race detection for task parallelism with futures. In Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics) (Vol. 10012 LNCS, pp. 368–385). Springer Verlag. https://doi.org/10.1007/978-3-319-46982-9_23
Mendeley helps you to discover research relevant for your work.