ABSTRACT
Existing dynamic determinacy race detectors for task-parallel 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 with futures. The space and time complexity of our algorithm are similar to those of the classical SP-bags 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 operations, which includes future task creation and future get operations. The experimental results show that the slowdown factor observed for our algorithm relative to the sequential version is in the range of 1.00x to 9.92x, which is very much in line with slowdowns experienced for fully strict computation graphs.
- Utpal Banerjee, Brian Bliss, Zhiqiang Ma, and Paul Petersen. A theory of data race detection. In PADTAD '06, pages 69--78, New York, NY, USA, 2006. ACM. Google ScholarDigital Library
- Robert D. Blumofe and Charles E. Leiserson. Scheduling multithreaded computations by work stealing. J. ACM, 46(5):720--748, September 1999. Google ScholarDigital Library
- Vincent Cavé, Jisheng Zhao, Jun Shirako, and Vivek Sarkar. Habanero-java: the new adventures of old x10. In PPPJ '11, pages 51--61, New York, NY, USA, 2011. ACM. Google ScholarDigital Library
- P. Dietz and D. Sleator. Two algorithms for maintaining order in a list. In STOC '87, pages 365--372, New York, NY, USA, 1987. ACM. Google ScholarDigital Library
- Mingdong Feng and Charles E. Leiserson. Efficient detection of determinacy races in Cilk programs. In SPAA '97, pages 1--11, New York, NY, USA, 1997. ACM. Google ScholarDigital Library
- Robert H. Halstead, Jr. Multilisp: A language for concurrent symbolic computation. ACM Trans. Program. Lang. Syst., 7(4):501--538, 1985. Google ScholarDigital Library
- Richard M. Karp and Raymond E. Miller. Parallel program schemata. J. Comput. Syst. Sci., 3(2):147--195, May 1969. Google ScholarDigital Library
- Raghavan Raman, Jisheng Zhao, Vivek Sarkar, Martin Vechev, and Eran Yahav. Efficient data race detection for async-finish parallelism. Formal Methods in System Design, 41(3):321--347, December 2012. Google ScholarDigital Library
- Raghavan Raman, Jisheng Zhao, Vivek Sarkar, Martin Vechev, and Eran Yahav. Scalable and precise dynamic datarace detection for structured parallelism. In PLDI '12, pages 531--542, New York, NY, USA, 2012. ACM. Google ScholarDigital Library
Index Terms
- Brief Announcement: Dynamic Determinacy Race Detection for Task Parallelism with Futures
Recommendations
Test-driven repair of data races in structured parallel programs
PLDI '14A common workflow for developing parallel software is as follows: 1) start with a sequential program, 2) identify subcomputations that should be converted to parallel tasks, 3) insert synchronization to achieve the same semantics as the sequential ...
Brief announcement: single-version permissive STM
PODC '10: Proceedings of the 29th ACM SIGACT-SIGOPS symposium on Principles of distributed computingWe present a single-version STM that satisfies a practical notion of permissiveness: it never aborts read-only transactions, and it only aborts an update transaction due to another conflicting update transaction, thereby avoiding many spurious aborts. ...
Brief announcement: on enhancing concurrency in distributed transactional memory
PODC '10: Proceedings of the 29th ACM SIGACT-SIGOPS symposium on Principles of distributed computingDistributed transactional memory (TM) models based on globally-consistent contention management policies may abort many transactions that could potentially commit without violating correctness. To reduce unnecessary aborts and increase concurrency, we ...
Comments