Phase Tracking and Prediction
Skip to main content
eScholarship
Open Access Publications from the University of California

Phase Tracking and Prediction

Abstract

In a single second a modern processor can execute billions of instructions. Obtaining a bird's eye view of the behavior of a program at these speeds can be a difficult task when all that is available is cycle by cycle examination. In many programs, behavior is anything but steady state, and understanding the patterns of behavior at run-time can unlock a multitude of optimization opportunities. In this paper we present a unified profiling architecture that can efficiently capture, classify, and predict program behavior on the largest of time scales all at run-time with no support from software. By examining the proportion of instructions that were executed from different sections of code, we can find generic phases that correspond to changes in behavior across many metrics. By classifying phases generically, we avoid the need to identify phases for each optimization, and enable a unified prediction scheme that can forecast future behavior. We examine the ability of our phase tracking architecture to accurately capture the phase behavior of a program's execution with respect to its overall performance (IPC), branch prediction, cache performance, and energy, and show how phase behavior may be captured efficiently using a simple predictor.

Pre-2018 CSE ID: CS2002-0710

Main Content
For improved accessibility of PDF content, download the file to your device.
Current View