home · mobile · calendar · colloquia · 2005-2006 · 

Colloquium - Sweeney

Online Phase Detection Algorithms
IBM Thomas J. Watson Research Center

An online phase detector determines when an executing program is in a stable phase or in a transition between phases. Because a virtual machine (VM) dynamically optimizes an application while the application is executing, the VM can exploit detected phase behavior by specializing optimizations when the profile is stable or by reconsidering optimization decisions when the profile changes. Nevertheless a VM, such as one for the Java programming language, executes on a variety of hardware platforms, and optimizes applications for a variety of different settings. 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 novel framework for online phase detection; multiple instantiations of the framework that produce novel online phase detection algorithms; a novel client- and machine-independent methodology for evaluating the accuracy of an online phase detector, and a metric to compare online detectors to this baseline; and a detailed empirical evaluation for Java applications of the accuracy of the numerous phase detectors allowed by the framework.

This work was done in collaboration with Chandra Krintz and Priya Nagpurkar at the University of California at Santa Barbara and Michael Hind and V. T. Rajan at IBM and has been accepted at CGO 2006.

Department of Computer Science
University of Colorado Boulder
Boulder, CO 80309-0430 USA
May 5, 2012 (14:13)