Characterizing time-varying program behavior using phase complexity surfaces

  • Authors:
  • Frederik Vandeputte;Lieven Eeckhout

  • Affiliations:
  • ELIS Department, Ghent University, Gent, Belgium;ELIS Department, Ghent University, Gent, Belgium

  • Venue:
  • Transactions on High-Performance Embedded Architectures and Compilers IV
  • Year:
  • 2011

Quantified Score

Hi-index 0.00

Visualization

Abstract

It is well known that a program exhibits time-varying execution behavior, i.e., a program typically goes through a number of phases during its execution exhibiting relatively homogeneous behavior within a phase and distinct behavior across phases. In fact, several recent research studies have been exploiting this time-varying behavior for various purposes such as simulation acceleration, code optimization, hardware adaptation for reducing energy consumption, etc. This paper proposes phase complexity surfaces to characterize a computer program's phase behavior across various time scales in an intuitive manner. The phase complexity surfaces incorporate metrics that characterize phase behavior in terms of the number of phases, their predictability, the degree of variability within and across phases, and the phase behavior's dependence on the time scale granularity. Leveraging phase complexity surfaces, the paper then characterizes the phase behavior of the SPEC CPU benchmarks across multiple platforms (Alpha and IA-32) and across two CPU benchmark suite generations (CPU2000 and CPU2006).