Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/1772954.1772989acmconferencesArticle/Chapter ViewAbstractPublication PagescgoConference Proceedingsconference-collections
research-article

Exploiting statistical correlations for proactive prediction of program behaviors

Published: 24 April 2010 Publication History
  • Get Citation Alerts
  • Abstract

    This paper presents a finding and a technique on program behavior prediction. The finding is that surprisingly strong statistical correlations exist among the behaviors of different program components (e.g., loops) and among different types of program level behaviors (e.g., loop trip-counts versus data values). Furthermore, the correlations can be beneficially exploited: They help resolve the proactivity-adaptivity dilemma faced by existing program behavior predictions, making it possible to gain the strengths of both approaches--the large scope and earliness of offline-profiling--based predictions, and the cross-input adaptivity of runtime sampling-based predictions.
    The main technique contributed by this paper centers on a new concept, seminal behaviors. Enlightened by the existence of strong correlations among program behaviors, we propose a regression based framework to automatically identify a small set of behaviors that can lead to accurate prediction of other behaviors in a program. We call these seminal behaviors. By applying statistical learning techniques, the framework constructs predictive models that map from seminal behaviors to other behaviors, enabling proactive and cross-input adaptive prediction of program behaviors. The prediction helps a commercial compiler, the IBM XL C compiler, generate code that runs up to 45% faster (5%-13% on average), demonstrating the large potential of correlation-based techniques for program optimizations.

    References

    [1]
    A. V. Aho, M. S. Lam, R. Sethi, and J. D. Ullman. Compilers: Principles, Techniques, and Tools. Addison Wesley, 2nd edition, August 2006.
    [2]
    R. Allen and K. Kennedy. Optimizing Compilers for Modern Architectures: A Dependence-based Approach. Morgan Kaufmann Publishers, 2001.
    [3]
    M. Annavaram, R. Rakvic, M. Polito, J. Bouguet, R. Hankins, and B. Davies. The fuzzy correlation between code and performance predictability. In Proceedings of the 37th Annual IEEE/ACM International Symposium on Microarchitecture, pages 407--420, 2004.
    [4]
    M. Arnold, S. Fink, D. Grove, M. Hind, and P.F. Sweeney. Adaptive optimization in the Jalapeno JVM. In Proceedings of ACM SIGPLAN Conference on Object-Oriented Programming Systems, Languages and Applications, Minneapolis, MN, October 2000.
    [5]
    M. Arnold, A. Welc, and V.T. Rajan. Improving virtual machine performance using a cross-run profile repository. In the Conference on Object-Oriented Systems, Languages, and Applications, 2005.
    [6]
    P. Berube and J. N. Amaral. Additional inputs for SPEC CPU2000. http://www.cs.ualberta.ca/~Eberube/compiler/fdo/inputs.shtml.
    [7]
    W. Chen, S. Bhansali, T. M. Chilimbi, X. Gao, and W. Chuang. Profile-guided proactive garbage collection for locality optimization. In Proceedings of PLDI, 2006.
    [8]
    B. Childers, J. Davidson, and M. L. Soffa. Continuous compilation: A new approach to aggressive and adaptive code transformation. In Proceedings of NSF Next Generation Software Workshop, 2003.
    [9]
    P. Chuang, H. Chen, G. Hoflehner, D. Lavery, and W. Hsu. Dynamic profile driven code version selection. In Proceedings of the 11th Annual Workshop on the Interaction between Compilers and Computer Architecture, 2007.
    [10]
    T. Hastie, R. Tibshirani, and J. Friedman. The elements of statistical learning. Springer, 2001.
    [11]
    J. Lau, M. Arnold, M. Hind, and B. Calder. Online performance auditing: Using hot optimizations without getting burned. In Proceedings of PLDI, 2006.
    [12]
    H. Leather, E. Bonilla, and M. O'Boyle. Automatic feature generation for machine learning based optimizing compilation. In Proceedings of the International Symposium on Code Generation and Optimization (CGO), 2009.
    [13]
    X. Li, M. J. Garzaran, and D. Padua. A dynamically tuned sorting library. In Proceedings of the International Symposium on Code Generation and Optimization, 2004.
    [14]
    F. Mao and X. Shen. Cross--input learning and discriminative prediction in evolvable virtual machine. In Proceedings of the International Symposium on Code Generation and Optimization(CGO), 2009.
    [15]
    T. Sherwood, E. Perelman, G. Hamerly, and B. Calder. Automatically characterizing large scale program behavior. In Proceedings of International Conference on Architectural Support for Programming Languages and Operating Systems, pages 45--57, 2002.
    [16]
    M. Voss and R. Eigenmann. High-level adaptive program optimization with ADAPT. In Proceedings of ACM Symposium on Principles and Practice of Parallel Programming, pages 93--102, Snowbird, Utah, June 2001.
    [17]
    C. Wang and Z. Li. Parametric analysis for adaptive computation offloading. In Proceedings of ACM SIGPLAN Conference on Programming Languages Design and Implementation, pages 119--130, 2004.
    [18]
    R. W. Wisniewski, P. F. Sweeney, K. Sudeep, M. Hauswirth, E. Duesterwald, C. Cascaval, and R. Azimi. Performance and environment monitoring for whole-system characterization and optimization. In PAC2 Conference on Power/Performance Interaction with Architecture, Circuits, and Compilers, 2004.

    Cited By

    View all
    • (2024)Beyond Time-Quantum: A Basic-Block FDA Approach for Accurate System Computing Performance Estimation2024 29th Asia and South Pacific Design Automation Conference (ASP-DAC)10.1109/ASP-DAC58780.2024.10473915(698-703)Online publication date: 22-Jan-2024
    • (2024)Software Failure Prediction Based On Program State and First-Error CharacteristicsThe Computer Journal10.1093/comjnl/bxae025Online publication date: 23-Mar-2024
    • (2022)Making the Most of Scarce Input Data in Deep Learning-Based Source Code Classification for Heterogeneous Device MappingIEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems10.1109/TCAD.2021.311461741:6(1636-1648)Online publication date: Jun-2022
    • Show More Cited By

    Index Terms

    1. Exploiting statistical correlations for proactive prediction of program behaviors

      Recommendations

      Comments

      Information & Contributors

      Information

      Published In

      cover image ACM Conferences
      CGO '10: Proceedings of the 8th annual IEEE/ACM international symposium on Code generation and optimization
      April 2010
      300 pages
      ISBN:9781605586359
      DOI:10.1145/1772954
      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

      • IEEE CS uArch

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      Published: 24 April 2010

      Permissions

      Request permissions for this article.

      Check for updates

      Author Tags

      1. correlation
      2. program behavior

      Qualifiers

      • Research-article

      Conference

      CGO '10

      Acceptance Rates

      Overall Acceptance Rate 312 of 1,061 submissions, 29%

      Contributors

      Other Metrics

      Bibliometrics & Citations

      Bibliometrics

      Article Metrics

      • Downloads (Last 12 months)7
      • Downloads (Last 6 weeks)0
      Reflects downloads up to 26 Jul 2024

      Other Metrics

      Citations

      Cited By

      View all
      • (2024)Beyond Time-Quantum: A Basic-Block FDA Approach for Accurate System Computing Performance Estimation2024 29th Asia and South Pacific Design Automation Conference (ASP-DAC)10.1109/ASP-DAC58780.2024.10473915(698-703)Online publication date: 22-Jan-2024
      • (2024)Software Failure Prediction Based On Program State and First-Error CharacteristicsThe Computer Journal10.1093/comjnl/bxae025Online publication date: 23-Mar-2024
      • (2022)Making the Most of Scarce Input Data in Deep Learning-Based Source Code Classification for Heterogeneous Device MappingIEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems10.1109/TCAD.2021.311461741:6(1636-1648)Online publication date: Jun-2022
      • (2019)Code Mapping in Heterogeneous Platforms Using Deep Learning and LLVM-IRProceedings of the 56th Annual Design Automation Conference 201910.1145/3316781.3317789(1-6)Online publication date: 2-Jun-2019
      • (2019)Status Quo in Requirements EngineeringACM Transactions on Software Engineering and Methodology10.1145/330660728:2(1-48)Online publication date: 26-Feb-2019
      • (2018)Learning probabilistic dependencies among events for proactive security auditing in cloudsJournal of Computer Security10.3233/JCS-181137(1-38)Online publication date: 13-Dec-2018
      • (2018)Multimedia Big Data AnalyticsACM Computing Surveys10.1145/315022651:1(1-34)Online publication date: 10-Jan-2018
      • (2018)Machine Learning in Compiler OptimizationProceedings of the IEEE10.1109/JPROC.2018.2817118106:11(1879-1901)Online publication date: Nov-2018
      • (2018)The Alberta Workloads for the SPEC CPU 2017 Benchmark Suite2018 IEEE International Symposium on Performance Analysis of Systems and Software (ISPASS)10.1109/ISPASS.2018.00029(159-168)Online publication date: Apr-2018
      • (2017)End-to-End Deep Learning of Optimization Heuristics2017 26th International Conference on Parallel Architectures and Compilation Techniques (PACT)10.1109/PACT.2017.24(219-232)Online publication date: Sep-2017
      • Show More Cited By

      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