Recently, power dissipation and energy consumption have become optimization goals in their own right, no longer being considered a by-product of traditional performance optimizations. Effective power and energy management is important to prolong battery life and to reduce heat dissipation. Developing compile-time techniques for application specific power and energy management is an exciting new challenge.
The introductory tutorial will give an overview of current approaches to compiler-directed power and energy management. Several promising compiler optimization techniques will be discussed in detail, together with an assessment of their potential benefits. These optimizations include remote task mapping, resource hibernation, dynamic frequency and voltage scaling, and quality of result trade-offs. A compiler writer's wish list for hardware and OS features to support compiler-directed power and energy mangement, together with an overview of future challenges, will conclude the tutorial.
Ulrich Kremer is an Associate Professor in the Department of Computer Science at Rutgers University. His research interests include programming environments and advanced optimizing compilers for imperative (Fortran, C), object oriented (Java, C++), and parallel languages (HPF). In addition, he is interested in performance prediction models and new compiler optimizations for location-aware programs on mobile target systems, in particular optimizations for low power and low energy. He received his PhD and MS in computer science from Rice University in 1995 and 1993, and his diploma in computer science from the University of Bonn, Germany, in 1987.