Modeling Relations between Inputs and Dynamic Behavior for General Programs

  • Authors:
  • Xipeng Shen;Feng Mao

  • Affiliations:
  • Computer Science Department, The College of William and Mary, Williamsburg, USA;Computer Science Department, The College of William and Mary, Williamsburg, USA

  • Venue:
  • Languages and Compilers for Parallel Computing
  • Year:
  • 2007

Quantified Score

Hi-index 0.00

Visualization

Abstract

Program dynamic optimization, for being adaptive to runtime behavior changes, has become increasingly important for both performance and energy savings. However, most runtime optimizations often suffer from the lack of a global picture of a program's execution, and cannot afford sophisticated program analysis. On the other hand, offline profiling techniques overcome both obstacles but are oblivious to the effects of program inputs.An approach in the between is to offline find the connections between program inputs and runtime behavior, and then apply the knowledge to runtime optimizations. Although it potentially gets the best of both worlds, it faces a fundamental challenge: How to discover and model the relations between inputs and runtime behavior for general programs.This work tackles the problem from three aspects. It proposes an extensible input characterization language to resolve the complexity of program inputs. A translator to the langauage helps automatically convert a raw input into an attribute vector, which is then refined by a feature selector to remove redundancies and noises. Finally, statistical learning builds input-behavior models. Experiments on IBM XL compilers show accurate prediction of detailed execution profiles, helping profile-directed compilation outperform both static and offline profiling-based compilations, demonstrating the potential of the technique for continuous program optimizations.