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

Compiler-directed run-time monitoring of program data access

Published: 16 June 2002 Publication History

Abstract

Accurate run-time analysis has been expensive for complex programs, in part because most methods perform on all a data. Some applications require only partial reorganization. An example of this is off-loading infrequently used data from a mobile device. Complete monitoring is not necessary because not all accesses can reach the displaced data. To support partial monitoring, this paper presents a framework that includes a source-to-source C compiler and a run-time monitor. The compiler inserts run-time calls, which invoke the monitor during execution. To be selective, the compiler needs to identify relevant data and their access. It needs to analyze both the content and the location of monitored data. To reduce run-time overhead, the system uses a source-level interface, where the compiler transfers additional program information to reduce the workload of the monitor. The paper describes an implementation for general C programs. It evaluates different levels of data monitoring and their application on an SGI workstation and an Intel PC.

References

[1]
A. V. Aho, R. Sethi, and J. Ullman. Compilers: Principles, Techniques, and Tools. Addison-Wesley, Reading, MA, second edition, 1986.
[2]
M. Arnold and B. G. Ryder. A framework for reducing the cost of instrumented code. In Proceedings of ACM SIGPLAN Conference on Programming Language Design and Implementation, Snowbird, Utah, 2001.
[3]
T. M. Austin, S. E. Breach, and G. S. Sohi. Efficient detection of all pointer and array access errors. In Proceedings of the SIGPLAN Conference on Programming Language Design and Implementation, Orlando, Florida, 1994.
[4]
H. J. Boehm. Space efficient conservative garbage collection. In Proceedings of ACM SIGPLAN Conference on Programming Language Design and Implementation, Albuquerque, NM, June 1993.
[5]
D. Callahan, K. Kennedy, and A. Porterfield. Analyzing and visualizing performance of memory hierarchies. In Performance Instrumentation and Visualization, pages 1--26. ACM Press, 1990.
[6]
D. K. Chen, H. H. Su, and P. C. Yew. The impact of synchronization and granularity in parallel systems. In Proceedings of the 17th Annual International Symposium on Computer Architecture, 1990.
[7]
J. Cocke. Global common subexpression elimination. ACM SIGPLAN Notices, 5(7):20--24, 1970.
[8]
C. Ding and K. Kennedy. Improving cache performance in dynamic applications through data and computation reorganization at run time. In Proceedings of the SIGPLAN '99 Conference on Programming Language Design and Implementation, Atlanta, GA, May 1999.
[9]
A. Diwan, K. McKinley, and E. Moss. Type-based alias analysis. In Proceedings of ACM SIGPLAN Conference on Programming Language Design and Implementation, Montreal, Canada, 1998.
[10]
C. Fraser and D. Hanson. A retargetable C compiler: design and implementation. Benjamin/Cummings, 1995.
[11]
R. Hastings and B. Joyce. Purify: fast detection of memory leaks and access errors. In Proceedings of the Winter Usenix Conference, 1992.
[12]
Paul Havlak. Interprocedural Symbolic Analysis. PhD thesis, Dept. of Computer Science, Rice University, May 1994. Also available as CRPC-TR94451 from the Center for Research on Parallel Computation and CS-TR94--228 from the Rice Department of Computer Science.
[13]
M. Hirzel and T. M. Chilimbi. Bursty tracing: A framework for low-overhead temporal profiling. In Proceedings of ACM Workshop on Feedback-Directed and Dynamic Optimization, Dallas, Texas, 2001.
[14]
J. R. Larus. Abstract execution: A technique for efficiently tracing programs. Software-Practice and Experience (SPE), 20(12), 1990.
[15]
J. Mellor-Crummey, R. Fowler, and D. B. Whalley. Tools for application-oriented performance tuning. In Proceedings of the 15th ACM International Conference on Supercomputing, Sorrento, Italy, 2001.
[16]
J. L. Steffen. Adding run-time checking to the portable C compiler. Software Practice and Experience, 22(4), 1992.
[17]
R. A. Sugumar and S. G. Abraham. Multi-configuration simulation algorithms for the evaluation of computer architecture designs. Technical report, University of Michigan, 1993.
[18]
L. Xiao, X. Zhang, and S. A. Kubricht. Improving memory performance of sorting algorithms. ACM Journal on Experimental Algorithmics, 5:1--23, 2000.
[19]
Y. Zhong, C. Ding, and K. Kennedy. Reuse distance analysis for scientific programs. In Proceedings of Workshop on Languages, Compilers, and Run-time Systems for Scalable Computers, Washington DC, March 2002.

Cited By

View all
  • (2009)Program locality analysis using reuse distanceACM Transactions on Programming Languages and Systems10.1145/1552309.155231031:6(1-39)Online publication date: 26-Aug-2009
  • (2009)Precise garbage collection for CProceedings of the 2009 international symposium on Memory management10.1145/1542431.1542438(39-48)Online publication date: 19-Jun-2009
  • (2008)Sampling-based program locality approximationProceedings of the 7th international symposium on Memory management10.1145/1375634.1375648(91-100)Online publication date: 7-Jun-2008
  • Show More Cited By
  1. Compiler-directed run-time monitoring of program data access

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image ACM Conferences
    MSP '02: Proceedings of the 2002 workshop on Memory system performance
    June 2002
    298 pages
    ISBN:9781450373685
    DOI:10.1145/773146
    • cover image ACM SIGPLAN Notices
      ACM SIGPLAN Notices  Volume 38, Issue 2 supplement
      MSP 2002 and ISMM 2002
      February 2003
      291 pages
      ISSN:0362-1340
      EISSN:1558-1160
      DOI:10.1145/773039
      Issue’s Table of Contents
    Permission to make digital or hard copies of part or all 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 third-party components of this work must be honored. For all other uses, contact the Owner/Author.

    Sponsors

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 16 June 2002

    Check for updates

    Qualifiers

    • Article

    Conference

    MSP02
    Sponsor:

    Acceptance Rates

    Overall Acceptance Rate 6 of 20 submissions, 30%

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)4
    • Downloads (Last 6 weeks)0
    Reflects downloads up to 08 Mar 2025

    Other Metrics

    Citations

    Cited By

    View all
    • (2009)Program locality analysis using reuse distanceACM Transactions on Programming Languages and Systems10.1145/1552309.155231031:6(1-39)Online publication date: 26-Aug-2009
    • (2009)Precise garbage collection for CProceedings of the 2009 international symposium on Memory management10.1145/1542431.1542438(39-48)Online publication date: 19-Jun-2009
    • (2008)Sampling-based program locality approximationProceedings of the 7th international symposium on Memory management10.1145/1375634.1375648(91-100)Online publication date: 7-Jun-2008
    • (2005)OwlProceedings of the 2nd conference on Computing frontiers10.1145/1062261.1062284(116-124)Online publication date: 4-May-2005
    • (2004)Array regrouping and structure splitting using whole-program reference affinityACM SIGPLAN Notices10.1145/996893.99687239:6(255-266)Online publication date: 9-Jun-2004
    • (2004)Array regrouping and structure splitting using whole-program reference affinityProceedings of the ACM SIGPLAN 2004 conference on Programming language design and implementation10.1145/996841.996872(255-266)Online publication date: 9-Jun-2004
    • (2004)The Potential of Computation Regrouping for Improving LocalityProceedings of the 2004 ACM/IEEE conference on Supercomputing10.1109/SC.2004.58Online publication date: 6-Nov-2004
    • (2003)Predicting whole-program locality through reuse distance analysisProceedings of the ACM SIGPLAN 2003 conference on Programming language design and implementation10.1145/781131.781159(245-257)Online publication date: 9-Jun-2003
    • (2003)Predicting whole-program locality through reuse distance analysisACM SIGPLAN Notices10.1145/780822.78115938:5(245-257)Online publication date: 9-May-2003
    • (2020)Sound garbage collection for C using pointer provenanceProceedings of the ACM on Programming Languages10.1145/34282444:OOPSLA(1-28)Online publication date: 13-Nov-2020
    • 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

    Figures

    Tables

    Media

    Share

    Share

    Share this Publication link

    Share on social media