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

Scalable data race detection for partitioned global address space programs

Authors Info & Claims
Published:23 February 2013Publication History
Skip Abstract Section

Abstract

Contemporary and future programming languages for HPC promote hybrid parallelism and shared memory abstractions using a global address space. In this programming style, data races occur easily and are notoriously hard to find. Previous work on data race detection for shared memory programs reports 10X-100X slowdowns for non-scientific programs. Previous work on distributed memory programs instruments only communication operations. In this paper we present the first complete implementation of data race detection at scale for UPC programs. Our implementation tracks local and global memory references in the program and it uses two techniques to reduce the overhead: 1) hierarchical function and instruction level sampling; and 2) exploiting the runtime persistence of aliasing and locality specific to Partitioned Global Address Space applications. The results indicate that both techniques are required in practice: well optimized instruction sampling introduces overheads as high as 6500% (65X slowdown), while each technique in separation is able to reduce it to 1000% (10X slowdown). When applying the optimizations in conjunction our tool finds all previously known data races in our benchmark programs with at most 50% overhead. Furthermore, while previous results illustrate the benefits of function level sampling, our experiences show that this technique does not work for scientific programs: instruction sampling or a hybrid approach is required.

References

  1. D. Bailey, T. Harris, W. Saphir, R. Van Der Wijngaart, A. Woo, and M. Yarrow. The NAS Parallel Benchmarks 2.0. Technical Report NAS-95-010, NASA Ames Research Center, 1995.Google ScholarGoogle Scholar
  2. W. W. Carlson, J. M. Draper, D. E. Culler, K. Yelick, and K. W. E. Brooks. Introduction to UPC and Language Specification, 1999.Google ScholarGoogle Scholar
  3. D. Marino, M. Musuvathi, and S. Narayanasamy. LiteRace: Effective Sampling for Lightweight Data-Race Detection. In PLDI, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. C.-S. Park, K. Sen, P. Hargrove, and C. Iancu. Efficient Data Race Detection for Distributed Memory Parallel Programs. In Supercomputing (SC11), 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. A. Vo, S. Aananthakrishnan, G. Gopalakrishnan, B. R. d. Supinski, M. Schulz, and G. Bronevetsky. A Scalable and Distributed Dynamic Formal Verifier for MPI Programs. In Supercomputing (SC10), 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Scalable data race detection for partitioned global address space programs

        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

        Full Access

        • Published in

          cover image ACM SIGPLAN Notices
          ACM SIGPLAN Notices  Volume 48, Issue 8
          PPoPP '13
          August 2013
          309 pages
          ISSN:0362-1340
          EISSN:1558-1160
          DOI:10.1145/2517327
          Issue’s Table of Contents
          • cover image ACM Conferences
            PPoPP '13: Proceedings of the 18th ACM SIGPLAN symposium on Principles and practice of parallel programming
            February 2013
            332 pages
            ISBN:9781450319225
            DOI:10.1145/2442516

          Copyright © 2013 Authors

          Publisher

          Association for Computing Machinery

          New York, NY, United States

          Publication History

          • Published: 23 February 2013

          Check for updates

          Qualifiers

          • poster

        PDF Format

        View or Download as a PDF file.

        PDF

        eReader

        View online with eReader.

        eReader