Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
research-article

Race Detection in Two Dimensions

Published: 07 September 2018 Publication History

Abstract

Dynamic race detection is a program analysis technique for detecting errors caused by undesired interleavings of concurrent tasks. A primary challenge when designing efficient race detection algorithms is to achieve manageable space requirements.
State-of-the-art algorithms for unstructured parallelism require Θ (n) space per monitored memory location, where n is the total number of tasks. This is a serious drawback when analyzing programs with many tasks. In contrast, algorithms for programs with a series-parallel (SP) structure require only Θ (1) space. Unfortunately, it is currently not well understood if there are classes of parallelism beyond SP that can also benefit from and be analyzed with Θ (1) space complexity.
In this work, we show that structures richer than SP graphs, namely, that of two-dimensional (2D) lattices, can also be analyzed in Θ (1) space. Toward that (a) we extend Tarjan’s algorithm for finding lowest common ancestors to handle 2D lattices; (b) from that extension we derive a serial algorithm for race detection that can analyze arbitrary task graphs with a 2D lattice structure; (c) we present a restriction to fork-join that admits precisely the 2D lattices as task graphs (e.g., it can express pipeline parallelism).
Our work generalizes prior work on structured race detection and aims to provide a deeper understanding of the interplay between structured parallelism and program analysis efficiency.

References

[1]
Kunal Agrawal, Joseph Devietti, Jeremy T. Fineman, I-Ting Angelina Lee, Robert Utterback, and Changming Xu. 2018. Race detection and reachability in nearly series-parallel DAGs. In SODA’18. Society for Industrial and Applied Mathematics, 16.
[2]
Michael A. Bender, Jeremy T. Fineman, Seth Gilbert, and Charles E. Leiserson. 2004. On-the-fly maintenance of series-parallel relationships in fork-join multithreaded programs. In SPAA. ACM, 133--144.
[3]
Robert D. Blumofe, Christopher F. Joerg, Bradley C. Kuszmaul, Charles E. Leiserson, Keith H. Randall, and Yuli Zhou. 1995. Cilk: An efficient multithreaded runtime system. In PPOPP.
[4]
Vincent Cavé, Jisheng Zhao, Jun Shirako, and Vivek Sarkar. 2011. Habanero- java: The new adventures of old X10. In PPPJ.
[5]
Philippe Charles, Christian Grothoff, Vijay Saraswat, Christopher Donawa, Allan Kielstra, Kemal Ebcioglu, Christoph von Praun, and Vivek Sarkar. 2005. X10: An object-oriented approach to non-uniform cluster computing. In OOPSLA.
[6]
Dimitar Dimitrov, Martin Vechev, and Vivek Sarkar. 2015. Race detection in two dimensions. In SPAA’15. ACM, 10.
[7]
Ben Dushnik and E. W. Miller. 1941. Partially ordered sets. American Journal of Mathematics 63, 3 (1941), 600--610.
[8]
Stefan Felsner, William T. Trotter, and Veit Wiechert. 2014. The dimension of posets with planar cover graphs. Graphs and Combinatorics (2014), 1--13.
[9]
Mingdong Feng and Charles E. Leiserson. 1997. Efficient detection of determinacy races in Cilk programs. In SPAA.
[10]
Cormac Flanagan and Stephen N. Freund. 2009. FastTrack: Efficient and precise dynamic race detection. In PLDI.
[11]
Matteo Frigo, Charles E. Leiserson, and Keith H. Randall. 1998. The implementation of the Cilk-5 multithreaded language. In PLDI’98. ACM, New York, 212--223.
[12]
I-Ting Angelina Lee, Charles E. Leiserson, Tao B. Schardl, Jim Sukha, and Zhunping Zhang. 2013. On-the-fly pipeline parallelism. In SPAA. ACM, 12.
[13]
I-Ting Angelina Lee and Tao B. Schardl. 2015. Efficiently detecting races in Cilk programs that use reducer hyperobjects. In SPAA’15. ACM, 12.
[14]
John Mellor-Crummey. 1991. On-the-fly detection of data races for programs with nested fork-join parallelism. In The 1991 ACM/IEEE Conference on Supercomputing. ACM, 24--33.
[15]
Robert H. B. Netzer and Barton P. Miller. 1990. On the complexity of event ordering for shared-memory parallel program executions. In The 1990 International Conference on Parallel Processing. 93--97.
[16]
Robert H. B. Netzer and Barton P. Miller. 1992. What are race conditions?: Some issues and formalizations. ACM Letters on Programming Languages and Systems 1, 1 (March 1992), 74--88.
[17]
Raghavan Raman, Jisheng Zhao, Vivek Sarkar, Martin Vechev, and Eran Yahav. 2012. Scalable and precise dynamic datarace detection for structured parallelism. In PLDI.
[18]
Raghavan Raman, Jisheng Zhao, Vivek Sarkar, Martin T. Vechev, and Eran Yahav. 2010. Efficient data race detection for async-finish parallelism. In RV.
[19]
Robert Endre Tarjan. 1975. Efficiency of a good but not linear set union algorithm. Journal of the ACM 22, 2 (April 1975), 215--225.
[20]
Robert E. Tarjan and Jan van Leeuwen. 1984. Worst-case analysis of set union algorithms. Journal of the ACM 31, 2 (1984), 245--281.
[21]
Robert Utterback, Kunal Agrawal, Jeremy T. Fineman, and I-Ting Angelina Lee. 2016. Provably good and practically efficient parallel race detection for fork-join programs. In SPAA’16. ACM, 12.
[22]
Yifan Xu, I-Ting Angelina Lee, and Kunal Agrawal. 2018. Efficient parallel determinacy race detection for two-dimensional DAGs. In PPoPP’18. ACM, 13.

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Transactions on Parallel Computing
ACM Transactions on Parallel Computing  Volume 4, Issue 4
Special Issue on SPAA 2015
December 2017
122 pages
ISSN:2329-4949
EISSN:2329-4957
DOI:10.1145/3177741
Issue’s Table of Contents
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than the author(s) must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected].

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 07 September 2018
Accepted: 01 July 2018
Revised: 01 February 2018
Received: 01 April 2016
Published in TOPC Volume 4, Issue 4

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. Race conditions
  2. lowest common ancestors
  3. parallel language constructs
  4. race detection
  5. structured parallelism
  6. two-dimensional lattices

Qualifiers

  • Research-article
  • Research
  • Refereed

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • 0
    Total Citations
  • 121
    Total Downloads
  • Downloads (Last 12 months)12
  • Downloads (Last 6 weeks)2
Reflects downloads up to 15 Oct 2024

Other Metrics

Citations

View Options

Get Access

Login options

Full Access

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media