Nothing Special   »   [go: up one dir, main page]

skip to main content
10.1145/2755573.2755601acmconferencesArticle/Chapter ViewAbstractPublication PagesspaaConference Proceedingsconference-collections
research-article

Race Detection in Two Dimensions

Published: 13 June 2015 Publication History

Abstract

Dynamic data race detection is a program analysis technique for detecting errors provoked by undesired interleavings of concurrent threads. 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 poorly understood if there are classes of parallelism beyond SP that can also benefit from and be analyzed with Θ(1) space complexity. In the present work, we show that structures richer than SP graphs, namely that of two-dimensional (2D) lattices, can be analyzed in O(1) space: 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 having 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 race detection, and aims to provide a deeper understanding of the interplay between structured parallelism and program analysis efficiency.

References

[1]
K. A. Baker, P. C. Fishburn, and F. S. Roberts. Partial orders of dimension 2. Networks, 2(1):11--28, 1972.
[2]
G. D. Battista and R. Tamassia. Algorithms for plane representations of acyclic digraphs. Theoretical Computer Science, 61(2--3):175 -- 198, 1988.
[3]
M. A. Bender, J. T. Fineman, S. Gilbert, and C. E. Leiserson. On-the-fly maintenance of series-parallel relationships in fork-join multithreaded programs. SPAA, pages 133--144. ACM, 2004.
[4]
G. E. Blelloch and M. Reid-Miller. Pipelining with futures. SPAA, New York, NY, USA, 1997. ACM.
[5]
R. D. Blumofe, C. F. Joerg, B. C. Kuszmaul, C. E. Leiserson, K. H. Randall, and Y. Zhou. Cilk: An efficient multithreaded runtime system. PPOPP, 1995.
[6]
J. Boyer, P. Cortese, M. Patrignani, and G. Di Battista. Stop minding your P's and Q's: Implementing a fast and simple DFS-based planarity testing and embedding algorithm. Graph Drawing '04. Springer, 2004.
[7]
V. Cavé, J. Zhao, J. Shirako, and V. Sarkar. Habanero- Java: The new adventures of old X10. PPPJ, 2011.
[8]
P. Charles, C. Grothoff, V. Saraswat, C. Donawa, A. Kielstra, K. Ebcioglu, C. von Praun, and V. Sarkar. X10: An object-oriented approach to non-uniform cluster computing. OOPSLA, 2005.
[9]
H. de Fraysseix and P. O. de Mendez. Trémaux trees and planarity. E. J. Comb., 33(3):279 -- 293, 2012.
[10]
B. Dushnik and E. W. Miller. Partially ordered sets. American Journal of Mathematics, 63(3):600--610, 1941.
[11]
S. Felsner, W. T. Trotter, and V. Wiechert. The dimension of posets with planar cover graphs. Graphs and Combinatorics, pages 1--13, 2014.
[12]
M. Feng and C. E. Leiserson. Efficient detection of determinacy races in Cilk programs. SPAA, 1997.
[13]
C. Flanagan and S. N. Freund. FastTrack: Efficient and precise dynamic race detection. PLDI, 2009.
[14]
D. Kelly. Fundamentals of planar ordered sets. Discrete Mathematics, 63(2--3):197 -- 216, 1987.
[15]
I.-T. A. Lee, C. E. Leiserson, T. B. Schardl, J. Sukha, and Z. Zhang. On-the-fly pipeline parallelism. SPAA. ACM, 2013.
[16]
M. McCool, J. Reinders, and A. Robison. Structured Parallel Programming: Patterns for Efficient Computation. Elsevier Science, 2012.
[17]
R. Raman, J. Zhao, V. Sarkar, M. Vechev, and E. Yahav. Scalable and precise dynamic datarace detection for structured parallelism. PLDI, 2012.
[18]
R. Raman, J. Zhao, V. Sarkar, M. T. Vechev, and E. Yahav. Efficient data race detection for async-finish parallelism. RV, 2010.
[19]
R. E. Tarjan. Efficiency of a good but not linear set union algorithm. J. ACM, 22(2):215--225, Apr. 1975.
[20]
R. E. Tarjan and J. van Leeuwen. Worst-case analysis of set union algorithms. J. ACM, 31(2):245--281, 1984.

Cited By

View all
  • (2023)Dynamic Race Detection with O(1) SamplesProceedings of the ACM on Programming Languages10.1145/35712387:POPL(1308-1337)Online publication date: 11-Jan-2023
  • (2022)A tree clock data structure for causal orderings in concurrent executionsProceedings of the 27th ACM International Conference on Architectural Support for Programming Languages and Operating Systems10.1145/3503222.3507734(710-725)Online publication date: 28-Feb-2022
  • (2021)iGUARDProceedings of the ACM SIGOPS 28th Symposium on Operating Systems Principles10.1145/3477132.3483545(49-65)Online publication date: 26-Oct-2021
  • Show More Cited By

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Conferences
SPAA '15: Proceedings of the 27th ACM symposium on Parallelism in Algorithms and Architectures
June 2015
362 pages
ISBN:9781450335881
DOI:10.1145/2755573
  • General Chair:
  • Guy Blelloch,
  • Program Chair:
  • Kunal Agrawal
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].

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 13 June 2015

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. algorithms
  2. dynamic race detection
  3. structured parallelism
  4. theory
  5. two-dimensional lattices

Qualifiers

  • Research-article

Conference

SPAA '15

Acceptance Rates

SPAA '15 Paper Acceptance Rate 31 of 131 submissions, 24%;
Overall Acceptance Rate 447 of 1,461 submissions, 31%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)3
  • Downloads (Last 6 weeks)0
Reflects downloads up to 21 Nov 2024

Other Metrics

Citations

Cited By

View all
  • (2023)Dynamic Race Detection with O(1) SamplesProceedings of the ACM on Programming Languages10.1145/35712387:POPL(1308-1337)Online publication date: 11-Jan-2023
  • (2022)A tree clock data structure for causal orderings in concurrent executionsProceedings of the 27th ACM International Conference on Architectural Support for Programming Languages and Operating Systems10.1145/3503222.3507734(710-725)Online publication date: 28-Feb-2022
  • (2021)iGUARDProceedings of the ACM SIGOPS 28th Symposium on Operating Systems Principles10.1145/3477132.3483545(49-65)Online publication date: 26-Oct-2021
  • (2021)Efficient Parallel Determinacy Race Detection for Structured FuturesProceedings of the 33rd ACM Symposium on Parallelism in Algorithms and Architectures10.1145/3409964.3461815(398-409)Online publication date: 6-Jul-2021
  • (2020)Parallel determinacy race detection for futuresProceedings of the 25th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming10.1145/3332466.3374536(217-231)Online publication date: 19-Feb-2020
  • (2020)ScoRDProceedings of the ACM/IEEE 47th Annual International Symposium on Computer Architecture10.1109/ISCA45697.2020.00088(1036-1049)Online publication date: 30-May-2020
  • (2019)Efficient race detection with futuresProceedings of the 24th Symposium on Principles and Practice of Parallel Programming10.1145/3293883.3295732(340-354)Online publication date: 16-Feb-2019
  • (2018)Race detection and reachability in nearly series-parallel DAGsProceedings of the Twenty-Ninth Annual ACM-SIAM Symposium on Discrete Algorithms10.5555/3174304.3175277(156-171)Online publication date: 7-Jan-2018
  • (2018)CURD: a dynamic CUDA race detectorACM SIGPLAN Notices10.1145/3296979.319236853:4(390-403)Online publication date: 11-Jun-2018
  • (2018)Randomized testing of distributed systems with probabilistic guaranteesProceedings of the ACM on Programming Languages10.1145/32765302:OOPSLA(1-28)Online publication date: 24-Oct-2018
  • Show More Cited By

View Options

Login options

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