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

Analysis of input-dependent program behavior using active profiling

Published: 13 June 2007 Publication History

Abstract

Utility programs, which perform similar and largely independent operations on a sequence of inputs, include such common applications as compilers, interpreters, and document parsers; databases; and compression and encoding tools. The repetitive behavior of these programs, while often clear to users, has been difficult to capture automatically. We present an active profiling technique in which controlled inputs to utility programs are used to expose execution phases, which are then marked, automatically, through binary instrumentation, enabling us to exploit phase transitions in production runs with arbitrary inputs. We demonstrate the effectiveness and programmability of active profiling via experiments with six utility programs from the SPEC benchmark suite; compare to code and interval phases; and describe applications of active profiling to memory management and memory leak detection.

References

[1]
D. H. Ahn and J. S. Vetter. Scalable analysis techniques for microprocessor performance counter metrics. In Proceedings of SC, pages 1--16, 2002.
[2]
F. Allen and J. Cocke. A program data flow analysis procedure. Communications of the ACM, 19:137--147, 1976.
[3]
R. Balasubramonian, D. Albonesi, A. Buyuktosunoglu, and S. Dwarkadas. Memory hierarchy reconfiguration for energy and performance in general-purpose processor architectures. In Proceedings of the 33rd International Symposium on Microarchitecture, Monterey, California, December 2000.
[4]
R. Balasubramonian, S. Dwarkadas, and D. H. Albonesi. Dynamically managing the communication-parallelism trade-off in future clustered processors. In Proceedings of the International Symposium on Computer Architecture, San Diego, CA, June 2003.
[5]
V. Balasundaram, G. Fox, K. Kennedy, and U. Kremer. A static performance estimator to guide data partitioning decisions. In Proceedings of the Third ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, Williamsburg, VA, Apr. 1991.
[6]
A. P. Batson and A. W. Madison. Measurements of major locality phases in symbolic reference strings. In Proceedings of the International Conference on Measurement and Modeling of Computer Systems, Cambridge, MA, March 1976.
[7]
M. D. Bond and K. S. McKinley. Bell: Bit-encoding online memory leak detection. In Proceedings of the International Conference on Architectual Support for Programming Languages and Operating Systems, 2006.
[8]
R. B. Bunt, J. M. Murphy, and S. Majumdar. A measure of program locality and its application. In Proceedings of the International Conference on Measurement and Modeling of Computer Systems, 1984.
[9]
D. Buytaert, K. Venstermans, L. Eeckhout, and K. D. Bosschere. Garbage collection hints. In Proceedings of The HiPEAC International Conference on High Performance Embedded Architectures and Compilation, November 2005.
[10]
T. M. Chilimbi and M. Hauswirth. Low-overhead memory leak detection using adaptive statistical profiling. In Proceedings of the International Conference on Architectural Support for Programming Languages and Operating Systems, Boston, MA, USA, October 2004.
[11]
M. Crovella and T. J. LeBlanc. Parallel performance using lost cycles analysis. In Proceedings of SC, pages 600--609, 1994.
[12]
M. E. Crovella and T. J. LeBlanc. The search for lost cycles: A new approach to parallel program performance evaluation. Technical Report 479, Computer Science Department, University of Rochester, December 1993.
[13]
F. Darema, G. F. Pfister, and K. So. Memory access patterns of parallel scientific programs. In Proceedings of the International Conference on Measurement and Modeling of Computer Systems, May 1987.
[14]
A. S. Dhodapkar and J. E. Smith. Managing multi-configuration hardware via dynamic working-set analysis. In Proceedings of International Symposium on Computer Architecture, Anchorage, Alaska, June 2002.
[15]
C. Ding, C. Zhang, X. Shen, and M. Ogihara. Gated memory control for memory monitoring, leak detection and garbage collection. In Proceedings of the 3rd ACM SIGPLAN Workshop on Memory System Performance, Chicago, IL, June 2005.
[16]
E. Duesterwald, C. Cascaval, and S. Dwarkadas. Characterizing and predicting program behavior and its variability. In Proceedings of International Conference on Parallel Architectures and Compilation Techniques, New Orleans, Louisiana, September 2003.
[17]
A. Georges, D. Buytaert, L. Eeckhout, and K. D. Bosschere. Method-level phase behavior in Java workloads. In Proceedings of ACM SIGPLAN Conference on Object-Oriented Programming Systems, Languages and Applications, October 2004.
[18]
J. Henning. Spec2000: measuring cpu performance in the new millennium. IEEE Computer, 2000.
[19]
C.-H. Hsu and U. Kremer. The design, implementation and evaluation of a compiler algorithm for CPU energy reduction. In Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation, San Diego, CA, June 2003.
[20]
M. Huang, J. Renau, and J. Torrellas. Positional adaptation of processors: application to energy reduction. In Proceedings of the International Symposium on Computer Architecture, San Diego, CA, June 2003.
[21]
E. Ipek, B. R. de Supinski, M. Schulz, and S. A. McKee. An approach to performance prediction for parallel applications. In Proceedings of the Euro-Par Conference, pages 196--205, 2005.
[22]
A. Jacquet, V. Janot, C. Leung, G. R. Gao, R. Govindarajan, and T. L. Sterling. An executable analytical performance evaluation approach for early performance prediction. In Proceedings of the International Parallel and Distribute Processing Symposium, 2003.
[23]
J. Lau, E. Perelman, and B. Calder. Selecting software phase markers with code structure analysis. In Proceedings of International Symposium on Code Generation and Optimization, March 2006.
[24]
W. Liu and M. Huang. Expert: Expedited simulation exploiting program behavior repetition. In Proceedings of International Conference on Supercomputing, June 2004.
[25]
G. Magklis, M. L. Scott, G. Semeraro, D. H. Albonesi, and S. Dropsho. Profile-based dynamic voltage and frequency scaling for a multiple clock domain microprocessor. In Proceedings of the International Symposium on Computer Architecture, San Diego, CA, June 2003.
[26]
P. Nagpurkar, M. Hind, C. Krintz, P. F. Sweeney, and V. Rajan. Online phase detection algorithms. In Proceedings of the International Symposium on Code Generation and Optimization, March 2006.
[27]
G. Rodríguez, R. M. Badia, and J. Labarta. Generation of simple analytical models for message passing applications. In Proceedings of the Euro-Par Conference, pages 183--188, 2004.
[28]
X. Shen, Y. Zhong, and C. Ding. Locality phase prediction. In Proceedings of the International Conference on Architectual Support for Programming Languages and Operating Systems, Boston, MA, 2004.
[29]
T. Sherwood, S. Sair, and B. Calder. Phase tracking and prediction. In Proceedings of International Symposium on Computer Architecture, San Diego, CA, June 2003.
[30]
A. Srivastava and A. Eustace. ATOM: A system for building customized program analysis tools. In Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation, Orlando, Florida, June 1994.

Cited By

View all
  • (2013)Runtime Application Behavior Prediction Using a Statistical Metric ModelIEEE Transactions on Computers10.1109/TC.2012.2562:3(575-588)Online publication date: 1-Mar-2013
  • (2011)Strategies for Rescheduling Tightly-Coupled Parallel Applications in Multi-Cluster GridsJournal of Grid Computing10.1007/s10723-010-9170-z9:3(379-403)Online publication date: 1-Sep-2011
  • (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

Index Terms

  1. Analysis of input-dependent program behavior using active profiling

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image ACM Conferences
    ExpCS '07: Proceedings of the 2007 workshop on Experimental computer science
    June 2007
    218 pages
    ISBN:9781595937513
    DOI:10.1145/1281700
    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

    In-Cooperation

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 13 June 2007

    Permissions

    Request permissions for this article.

    Check for updates

    Author Tags

    1. active profiling
    2. dynamic optimization
    3. memory management
    4. program phase analysis and prediction

    Qualifiers

    • Article

    Conference

    ExpCS07
    ExpCS07: Workshop on Experimental Computer Science
    June 13 - 14, 2007
    California, San Diego

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)4
    • Downloads (Last 6 weeks)1
    Reflects downloads up to 04 Oct 2024

    Other Metrics

    Citations

    Cited By

    View all
    • (2013)Runtime Application Behavior Prediction Using a Statistical Metric ModelIEEE Transactions on Computers10.1109/TC.2012.2562:3(575-588)Online publication date: 1-Mar-2013
    • (2011)Strategies for Rescheduling Tightly-Coupled Parallel Applications in Multi-Cluster GridsJournal of Grid Computing10.1007/s10723-010-9170-z9:3(379-403)Online publication date: 1-Sep-2011
    • (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

    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