• 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