Keynote

Toward Energy-Aware Software

Yu David Liu

SUNY Binghamton

Energy efficiency is increasingly becoming critical for modern software. From cloud computing servers, to sensor networks, to iPads, and Droids, new hardware platforms redefine what high-quality software is: occasional crashes may be tolerated, but unacceptable are electricity bills in an astronomical amount for a data center, or battery life of just a few hours for a smartphone.

In this talk, I relate energy efficiency to classic notions of software quality, and discuss recent progress in software-centric approaches toward improving energy efficiency. The first part of the talk elucidates the intimate relationship between energy efficiency and commonly discussed quality attributes, such as efficiency, usability, reliability, and portability. The second part of the talk centers around energy management through innovations on programming models and compiler technologies. In particular, I describe a recent programming language, ET, for smartphone programming on Android. ET offers a simple and intuitive syntax to bring programmers into the loop of energy management, provides a rigorous reasoning framework to enforce the consistency of programmer intentions, and ultimately promotes software quality in the context of energy-aware programming.