Online Phase Detection Algorithms
- 7 April 2006
- proceedings article
- Published by Institute of Electrical and Electronics Engineers (IEEE)
- p. 111-123
- https://doi.org/10.1109/cgo.2006.26
Abstract
Today's virtual machines (VMs) dynamically optimize an application as it is executing, often employing optimizations that are specialized for the current execution profile. An online phase detector determines when an executing program is in a stable period of program execution (a phase) or is in transition. A VM using an online phase detector can apply specialized optimizations during a phase or reconsider optimization decisions between phases. Unfortunately, extant approaches to detecting phase behavior rely on either offline profiling, hardware support, or are targeted toward a particular optimization. In this work, we focus on the enabling technology of online phase detection. More specifically, we contribute (a) a novel framework for online phase detection, (b) multiple instantiations of the framework that produce novel online phase detection algorithms, (c) a novel client- and machine-independent baseline methodology for evaluating the accuracy of an online phase detector, (d) a metric to compare online detectors to this baseline, and (e) a detailed empirical evaluation, using Java applications, of the accuracy of the numerous phase detectors.Keywords
This publication has 25 references indexed in Scilit:
- Selecting Software Phase Markers with Code Structure AnalysisPublished by Institute of Electrical and Electronics Engineers (IEEE) ,2006
- Motivation for Variable Length Intervals and Hierarchical Phase BehaviorPublished by Institute of Electrical and Electronics Engineers (IEEE) ,2005
- The Strong correlation Between Code Signatures and PerformancePublished by Institute of Electrical and Electronics Engineers (IEEE) ,2005
- Method-level phase behavior in java workloadsPublished by Association for Computing Machinery (ACM) ,2004
- Characterizing and predicting program behavior and its variabilityPublished by Institute of Electrical and Electronics Engineers (IEEE) ,2004
- Continuous program optimizationACM Transactions on Programming Languages and Systems, 2003
- A hardware-driven profiling scheme for identifying program hot spots to support runtime optimizationPublished by Institute of Electrical and Electronics Engineers (IEEE) ,2003
- A dynamic optimization framework for a Java just-in-time compilerACM SIGPLAN Notices, 2001
- Dynamic feedbackACM SIGPLAN Notices, 1997
- Characteristics of program localitiesCommunications of the ACM, 1976