Application-level energy optimization has emerged as an important aspect of computer system energy management. Languages and frameworks that treat applications as a "white box" for program energy behavior, and energy as a first-class program entity, enjoy more powerful optimizations and stronger guarantees. In this talk, we introduce Ent, a programming language that encourages both a proactive and adaptive approach to energy management. On the proactive side, objects are labeled with modes that represent an object's expected energy behavior, encouraging programmers to reason about how their software components interact with respect to energy. On the adaptive side, such decisions about an object's energy behavior can be delayed until runtime, allowing a more flexible approach. The key insight of Ent is that both proactive and adaptive models can be unified under a type system with static and dynamic typing. We will show how Ent improves the programmability, debuggability, and energy efficiency of battery-aware and temperature-aware programs.
Anthony Canino is a 5th year PhD candidate at Binghamton University, State University of New York. His work focuses on bringing traditional programming language and software engineering techniques into the realm of application-level energy management.