skip to main content
10.1145/2254064.2254127acmconferencesArticle/Chapter ViewAbstractPublication PagespldiConference Proceedingsconference-collections
research-article

Scalable and precise dynamic datarace detection for structured parallelism

Published:11 June 2012Publication History

ABSTRACT

Existing dynamic race detectors suffer from at least one of the following three limitations:

(i)space overhead per memory location grows linearly with the number of parallel threads [13], severely limiting the parallelism that the algorithm can handle;

(ii)sequentialization: the parallel program must be processed in a sequential order, usually depth-first [12, 24]. This prevents the analysis from scaling with available hardware parallelism, inherently limiting its performance;

(iii) inefficiency: even though race detectors with good theoretical complexity exist, they do not admit efficient implem entations and are unsuitable for practical use [4, 18].

We present a new precise dynamic race detector that leverages structured parallelism in order to address these limitations. Our algorithm requires constant space per memory location, works in parallel, and is efficient in practice. We implemented and evaluated our algorithm on a set of 15 benchmarks. Our experimental results indicate an average (geometric mean) slowdown of 2.78x on a 16-core SMP system.

Skip Supplemental Material Section

Supplemental Material

References

  1. Intel Cilk++ Programmer's Guide. http://software.intel.com/enus/ articles/download-intel-cilk-sdk/.Google ScholarGoogle Scholar
  2. The Computer Language Benchmarks Game. http://shootout.alioth.debian.org/.Google ScholarGoogle Scholar
  3. BARIK, R., ET AL. The habanero multicore software research project. In Proceeding of the 24th ACM SIGPLAN conference companion on Object oriented programming systems languages and applications (2009), ACM, pp. 735--736. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. BENDER, M. A., ET AL. On-the-fly maintenance of series-parallel relationships in fork-join multithreaded programs. In SPAA'04 (Barcelona, Spain, June27-30 2004), pp. 133--144. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. BLUMOFE, R. D., ET AL. Cilk: an efficient multithreaded runtime system. In PPoPP'95 (Oct. 1995), pp. 207--216. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. CAVE, V., ZHAO, J., SHIRAKO, J., AND SARKAR, V. Habanero-java: the new adventures of old x10. In PPPJ'11 (2011). Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. CHARLES, P., ET AL. X10: An object-oriented approach to nonuniform cluster computing. In OOPSLA 2005 Onward! Track (2005). Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. CHENG, G.-I., FENG, M., LEISERSON, C. E., RANDALL, K. H., AND STARK, A. F. Detecting data races in cilk programs that use locks. In SPAA'98 (1998), pp. 298--309. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. CONG, J., SARKAR, V., REINMAN, G., AND BUI, A. Customizable Domain-Specific Computing. IEEE Design and Test, 2:28 (Mar 2011), 6--15. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. DINNING, A., AND SCHONBERG, E. An empirical comparison of monitoring algorithms for access anomaly detection. In PPoPP'90 (1990), ACM, pp. 1--10. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. DURAN, A., ET AL. Barcelona OpenMP tasks suite: A set of benchmarks targeting the exploitation of task parallelism in openmp. In ICPP'09 (2009), pp. 124--131. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. FENG,M., AND LEISERSON,C. E. Efficient detection of determinacy races in cilk programs. In SPAA'97 (1997), ACM, pp. 1--11. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. FLANAGAN, C., AND FREUND, S. N. FastTrack: efficient and precise dynamic race detection. In PLDI '09 (2009), ACM, pp. 121--133. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. FLANAGAN, C., AND FREUND, S. N. The roadrunner dynamic analysis framework for concurrent programs. In PASTE'10 (2010), ACM, pp. 1--8. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. FRIGO, M., LEISERSON, C. E., AND RANDALL, K. H. The implementation of the cilk-5 multithreaded language. In PLDI'98 (1998), ACM, pp. 212--223. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. GUO, Y., ET AL. Work-first and help-first scheduling policies for async-finish task parallelism. In IPDPS'09 (2009), IEEE Computer Society, pp. 1--12. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. GUO, Y., ZHAO, J., CAVE, V., AND SARKAR, V. Slaw: A scalable locality-aware adaptive work-stealing scheduler. In IPDPS (2010). Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. KARUNARATNA, T. C. Nondeterminator-3: A provably good datarace detector that runs in parallel. Master's thesis, Department of Electrical Engineering and Computer Science, MIT,, Sept. 2005.Google ScholarGoogle Scholar
  19. LAMPORT, L. Concurrent reading and writing. Commun. ACM 20 (November 1977), 806--811. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. LEE, J. K., AND PALSBERG, J. Featherweight x10: a core calculus for async-finish parallelism. In PPoPP'10 (2010), ACM, pp. 25--36. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. MELLOR-CRUMMEY, J. On-the-fly detection of data races for programs with nested fork-join parallelism. In Supercomputing'91 (1991), ACM, pp. 24--33. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. MELLOR-CRUMMEY, J. Compile-time support for efficient data race detection in shared-memory parallel programs. In PADD '93: Proceedings of the ACM/ONR workshop on Parallel and distributed debugging (1993), ACM, pp. 129--139. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. OpenMP Application Program Interface v 3.0, 2008.Google ScholarGoogle Scholar
  24. RAMAN, R., ET AL. Efficient data race detection for async-finish parallelism. In RV'10 (2010), Springer-Verlag, pp. 368--383. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. RAMAN, R., ZHAO, J., SARKAR, V., VECHEV, M., AND YAHAV, E. Scalable and precise dynamic datarace detection for structured parallelism. Tech. Rep. TR12-01, Department of Computer Science, Rice University, Houston, TX, 2012.Google ScholarGoogle Scholar
  26. SAVAGE, S., ET AL. Eraser: a dynamic data race detector for multithreaded programs. ACM Trans. Comput. Syst. 15, 4 (1997), 391--411. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. SCHONBERG, E. On-the-fly detection of access anomalies. In PLDI'98 (1998), pp. 285--297. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. SMITH, L. A., AND BULL, J. M. A Parallel Java Grande Benchmark Suite. In In Supercomputing'01 (2001), ACM Press, p. 8. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. VALLEE-RAI, R., ET AL. Soot - a Java Optimization Framework. In Proceedings of CASCON 1999 (1999), pp. 125--135. Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. WINSKEL, G. The Formal Semantics of Programming Languages. MIT Press, 1993. Google ScholarGoogle ScholarCross RefCross Ref
  31. ZHAO, J., AND SARKAR, V. Intermediate language extensions for parallelism. In VMIL'11 (2011), pp. 333--334. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Scalable and precise dynamic datarace detection for structured parallelism

                Recommendations

                Comments

                Login options

                Check if you have access through your login credentials or your institution to get full access on this article.

                Sign in
                • Published in

                  cover image ACM Conferences
                  PLDI '12: Proceedings of the 33rd ACM SIGPLAN Conference on Programming Language Design and Implementation
                  June 2012
                  572 pages
                  ISBN:9781450312059
                  DOI:10.1145/2254064
                  • cover image ACM SIGPLAN Notices
                    ACM SIGPLAN Notices  Volume 47, Issue 6
                    PLDI '12
                    June 2012
                    534 pages
                    ISSN:0362-1340
                    EISSN:1558-1160
                    DOI:10.1145/2345156
                    Issue’s Table of Contents

                  Copyright © 2012 ACM

                  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 ACM 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: 11 June 2012

                  Permissions

                  Request permissions about this article.

                  Request Permissions

                  Check for updates

                  Qualifiers

                  • research-article

                  Acceptance Rates

                  PLDI '12 Paper Acceptance Rate48of255submissions,19%Overall Acceptance Rate406of2,067submissions,20%

                  Upcoming Conference

                  PLDI '24

                PDF Format

                View or Download as a PDF file.

                PDF

                eReader

                View online with eReader.

                eReader