Green Computing Algorithmics: Managing Power Heterogeneity
Jan 25, 2012

We are in the midst of a green computing revolution involving the redesign of information technology (IT) hardware and software at all levels of the IT stack with energy efficiency as the first order design constraint.This green computing revolution has spawned a multitude of algorithmic problems involving managing power, energy or temperature as a computational resource.The physical properties of energy are fundamentally different from the physical properties of time and space, the previous first order design constraints for IT.Thus the algorithmic problems related to efficient use of energy as a computational resource are fundamentally different than the now familiar algorithmic problems related to the efficient use of time or space.

After a general discussion of green computing algorithmics, I'll focus on one particular class of problems:managing power-heterogeneous devices in which high-power modes are less energy efficient, but are faster.Speed scalable processors, and heterogeneous multicore chips are common examples.The resulting algorithmic problems involve determining when the improvement of performance(say for example, how long tasks take to complete) is sufficient to justify the inefficient use of significant energy that arises from using the faster device/mode.I will show that some algorithms produce near optimal schedules, and show the techniques that have been developed to reason about near optimal schedules.