Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/781498.781530acmconferencesArticle/Chapter ViewAbstractPublication PagesppoppConference Proceedingsconference-collections
Article

Compactly representing parallel program executions

Published: 11 June 2003 Publication History
  • Get Citation Alerts
  • Abstract

    Collecting a program's execution profile is important for many reasons: code optimization, memory layout, program debugging and program comprehension. Path based execution profiles are more detailed than count based execution profiles, since they present the order of execution of the various blocks in a program: modules, procedures, basic blocks etc. Recently, online string compression techniques have been employed for collecting compact representations of sequential program executions. In this paper, we show how a similar approach can be taken for shared memory parallel programs. Our compaction scheme yields one to two orders of magnitude compression compared to the uncompressed parallel program trace on some of the SPLASH benchmarks. Our compressed execution traces contain detailed information about synchronization and control/data flow which can be exploited for post-mortem analysis. In particular, information in our compact execution traces are useful for accurate data race detection (detecting unsynchronized shared variable accesses that occurred in the execution).

    References

    [1]
    S.V. Adve, M.D. Hill, B.P. Miller, and R.H.B. Netzer. Detecting data races in weak memory systems. In ACM International Symposium on Computer Architecture (ISCA), 1991.]]
    [2]
    R. Alur and R. Grosu. Shared variable interaction diagrams. In International Conference on Automated Software Engineering (ASE), 2001.]]
    [3]
    R. Alur, G.J. Holzmann, and D.A. Peled. An analyzer for message sequence charts. In International Conference on Tools and Algorithms for Construction and Analysis of Systems (TACAS), LNCS 1055, 1996.]]
    [4]
    T.M. Chilimbi. Efficient representations and abstractions for quantifying and exploiting data reference locality. In ACM International Conference on Programming Language Design and Implementation (PLDI), 2001.]]
    [5]
    J-D. Choi and S.L. Min. Race frontier: Reproducing data races in parallel program debugging. In ACM International Conference on Principles and Practice of Parallel Programming (PPoPP), 1991.]]
    [6]
    D.E. Culler, J.P. Singh, and A. Gupta. Parallel Computer Architecture: A Hardware/Software Approach. Morgan Kaufmann, 1999.]]
    [7]
    A. Dinning and E. Schonberg. An empirical comparison of monitoring algorithms for access anomaly detection. In ACM International Conference on Principles and Practice of Parallel Programming (PPoPP), 1990.]]
    [8]
    C.J. Hughes, V.S. Pai, P. Ranganathan, and S.V. Adve. RSIM: Simulating shared-memory multiprocessors with ILP processors. IEEE Computer, 35(2), 2002.]]
    [9]
    P. Keleher, S. Dwarkadas, A. L. Cox, and W. Zwaenepoel. Treadmarks: Distributed shared memory on standard workstations and operating systems. In Winter USENIX Conference, 1994.]]
    [10]
    R. Konuru, H. Srinivasan, and J-D. Choi. Deterministic replay of distributed java applications. In International Parallel and Distributed Processing Symposium (IPDPS), 2000.]]
    [11]
    J.R. Larus. Whole program paths. In ACM International Conference on Programming Language Design and Implementation (PLDI), 1999.]]
    [12]
    R.H.B. Netzer. Optimal tracing and replay for debugging shared-memory parallel programs. In ACM/ONR Workshop on Parallel and Distributed Debugging, 1993.]]
    [13]
    R.H.B. Netzer and B.P. Miller. Improving the accuracy of data race detection. In ACM International Conference on Principles and Practice of Parallel Programming (PPoPP), 1991.]]
    [14]
    C.G. Nevill-Manning and I.H. Witten. Identifying hierarchical structure in sequences: A linear-time algorithm. Journal of Artificial Intelligence Research, 7, 1997.]]
    [15]
    A.R. Pleszkun. Techniques for compressing program address traces. In IEEE/ACM International Symposium on Microarchitecture (MICRO), 1994.]]
    [16]
    S.P. Reiss and M. Renieris. Encoding program executions. In ACM/IEEE International Conference on Software Engineering (ICSE), 2001.]]
    [17]
    M.C. Rinard. Analysis of multithreaded programs. In Static Analysis Symposium (SAS), 2001.]]
    [18]
    M. Ronsse and K. de~Bosschere. Recplay: A fully integrated practical record/replay system. ACM Transactions on Computer Systems, 17(2), 1999.]]
    [19]
    M. Russinovich and B. Cogswell. Replay for concurrent non-deterministic shared memory applications. In ACM International Conference on Programming Language Design and Implementation (PLDI), 1996.]]
    [20]
    S. Savage et al. Eraser: a dynamic data race detector for multithreaded programs. ACM Transactions on Computer Systems, 15(4), 1997.]]
    [21]
    J.P. Singh, W-D. Weber, and A. Gupta. SPLASH: Stanford parallel applications for shared memory. ACM SIGARCH Computer Architecture News, 20(1), 1992.]]
    [22]
    S. C. Woo et~al. The SPLASH-2 programs: Characterization and methodological considerations. In International Symposium on Computer Architecture (ISCA), 1995.]]
    [23]
    Z.120. Message Sequence Charts (MSC'96), 1996.]]
    [24]
    Y. Zhang and R. Gupta. Timestamped whole program path representation and its applications. In ACM International Conference on Programming Language Design and Implementation (PLDI), 2001.]]
    [25]
    J. Ziv and A. Lempel. A universal algorithm for sequential data compression. IEEE Transactions on Information Theory, 23(3), 1977.]]

    Cited By

    View all
    • (2021)Checking LTL[F,G,X] on compressed traces in polynomial timeProceedings of the 29th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering10.1145/3468264.3468557(131-143)Online publication date: 20-Aug-2021
    • (2016)Hierarchical Program PathsACM Transactions on Software Engineering and Methodology10.1145/296309425:3(1-44)Online publication date: 22-Aug-2016
    • (2015)ContechACM Transactions on Architecture and Code Optimization10.1145/277689312:2(1-24)Online publication date: 8-Jul-2015
    • Show More Cited By

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image ACM Conferences
    PPoPP '03: Proceedings of the ninth ACM SIGPLAN symposium on Principles and practice of parallel programming
    June 2003
    250 pages
    ISBN:1581135882
    DOI:10.1145/781498
    • cover image ACM SIGPLAN Notices
      ACM SIGPLAN Notices  Volume 38, Issue 10
      Proceedings of the ACM SIGPLAN symposium on principles and practice of parallel programming (PPoPP 2003) and workshop on partial evaluation and semantics-based program manipulation (PEPM 2003)
      October 2003
      331 pages
      ISSN:0362-1340
      EISSN:1558-1160
      DOI:10.1145/966049
      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 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]

    Sponsors

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 11 June 2003

    Permissions

    Request permissions for this article.

    Check for updates

    Author Tags

    1. dynamic program analysis
    2. path profiling
    3. program path compression

    Qualifiers

    • Article

    Conference

    PPoPP03
    Sponsor:

    Acceptance Rates

    PPoPP '03 Paper Acceptance Rate 20 of 45 submissions, 44%;
    Overall Acceptance Rate 230 of 1,014 submissions, 23%

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)4
    • Downloads (Last 6 weeks)0

    Other Metrics

    Citations

    Cited By

    View all
    • (2021)Checking LTL[F,G,X] on compressed traces in polynomial timeProceedings of the 29th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering10.1145/3468264.3468557(131-143)Online publication date: 20-Aug-2021
    • (2016)Hierarchical Program PathsACM Transactions on Software Engineering and Methodology10.1145/296309425:3(1-44)Online publication date: 22-Aug-2016
    • (2015)ContechACM Transactions on Architecture and Code Optimization10.1145/277689312:2(1-24)Online publication date: 8-Jul-2015
    • (2010)Scalable Communication Trace CompressionProceedings of the 2010 10th IEEE/ACM International Conference on Cluster, Cloud and Grid Computing10.1109/CCGRID.2010.111(408-417)Online publication date: 17-May-2010
    • (2008)Dynamic slicing on Java bytecode tracesACM Transactions on Programming Languages and Systems10.1145/1330017.133002130:2(1-49)Online publication date: 14-Mar-2008
    • (2004)Using Compressed Bytecode Traces for Slicing Java ProgramsProceedings of the 26th International Conference on Software Engineering10.5555/998675.999455(512-521)Online publication date: 23-May-2004
    • (2003)Depiction and playout of multi-threaded program executionsProceedings of the 18th IEEE International Conference on Automated Software Engineering10.1109/ASE.2003.1240332(331-336)Online publication date: 6-Oct-2003
    • (2003)Compression of Partially Ordered StringsCONCUR 2003 - Concurrency Theory10.1007/978-3-540-45187-7_3(42-56)Online publication date: 2003
    • (2006)Distributed dynamic slicing of Java programsJournal of Systems and Software10.1016/j.jss.2006.01.00979:12(1661-1678)Online publication date: 1-Dec-2006

    View Options

    Get Access

    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