COCO: CONTINUOUS COMPILATION

Compilers, Programming Languages, and Architecture Group
Department of Computer Science, University of Pittsburgh

Overview People Projects Publications Meetings Conferences  

Profit-Driven Optimization

Although optimizations have been applied for a number of years to improve the performance of software, problems that have been long-standing remain, which include knowing what optimizations to apply and how to apply them. To systematically tackle these problems, we need to understand the properties of optimizations. In our current research, we are investigating the profitability property, which is useful for determining the benefit of applying an optimization. Due to the high cost of applying optimizations and then experimentally evaluating their profitability, we use an analytic model framework for predicting the profitability of optimizations. In our work, we target both loop and scalar optimizations. In particular, we have described framework instances for several classic loop optimizations. More recently, we have developed framework instances for scalar optimizations, such as Partial Redundancy Elimination (PRE) and Loop Invariant Code Motion (LICM). We have implemented our framework in the MachSUIF compiler to explore the effectiveness our analytic models. Experiments with both loop and scalar optimizations shows that the approach can very accurately predict the profitability of optimizations, with low compile-time overhead. By predicting the profitability using models, we can selectively apply optimizations. The model-based approach does not require tuning of parameters used in heuristic approaches and works well across different code contexts and optimizations.

A diagram and brief description of how our profit-driven optimization approach works is available here.

Publications

All publications are available from the CoCo publication web site. Please select the tab above for the publications.

Talks

  • Continuous Compilation for Aggressive and Adaptive Code Transformation, Bruce R. Childers, Colloquium at Pennsylvania State University, November 11, 2004.

  • Continuous Compilation: A New Approach to Aggressive and Adaptive Code Transformation (special emphasis on dynamic code instrumentation), Bruce R. Childers, Colloquium at COPPE - Systems Engineering and Computer Science Program, Federal University of Rio de Janeiro, Rio de Janeiro, Brazil, July 1, 2004. Please send Bruce Childers an e-mail for a copy of the presentation slides.

  • Continuous Compilation: A New Approach to Aggressive and Adaptive Code Transformation (special emphasis on profit-driven optimization), Bruce R. Childers, Colloquium at Instituto de Informatica, Federal University of Rio Grande do Sul, Porto Alegre, Brazil, June 30, 2004. Please send Bruce Childers an e-mail for a copy of the presentation slides.