DocumentCode
1607006
Title
A Programming Model for Sustainable Software
Author
Zhu, Haitao Steve ; Lin, Chaoren ; Liu, Yu David
Author_Institution
SUNY Binghamton, Binghamton, NY, USA
Volume
1
fYear
2015
Firstpage
767
Lastpage
777
Abstract
This paper presents a novel energy-aware and temperature-aware programming model with first-class support for sustainability. A program written in the new language, named Eco, may adaptively adjusts its own behaviors to stay on a given (energy or temperature) budget, avoiding both deficit that would lead to battery drain or CPU overheating, and surplus that could have been used to improve the quality of results. Sustainability management in Eco is captured as a form of supply and demand matching, and the language runtime consistently maintains the equilibrium between supply and demand. Among the efforts of energy-adaptive and temperature-adaptive systems, Eco is distinctive in its role in bridging the programmer and the underlying system, and in particular, bringing both programmer knowledge and application-specific traits into energy optimization. Through a number of intuitive programming abstractions, Eco reduces challenging issues in this domain --- such as workload characterization and decision making in adaptation --- to simple programming tasks, ultimately offering fine-grained, programmable, and declarative sustainability to energy-efficient computing. Eco is an minimal extension to Java, and has been implemented as an open-source compiler. We validate the usefulness of Eco by upgrading real-world Java applications with energy awareness and temperature awareness.
Keywords
Java; decision making; program compilers; public domain software; sustainable development; Eco; Java applications; decision making; energy awareness; energy optimization; energy-adaptive system; energy-aware programming model; energy-efficient computing; intuitive programming abstractions; open-source compiler; programming tasks; supply and demand matching; sustainability management; sustainable software; temperature awareness; temperature-adaptive system; temperature-aware programming model; workload characterization; Batteries; Calibration; Java; Programming; Runtime; Software; Thermal management; energy management; programming models; sustainability; thermal management;
fLanguage
English
Publisher
ieee
Conference_Titel
Software Engineering (ICSE), 2015 IEEE/ACM 37th IEEE International Conference on
Conference_Location
Florence
Type
conf
DOI
10.1109/ICSE.2015.89
Filename
7194624
Link To Document