Powered by
3rd International Workshop on Green and Sustainable Software (GREENS 2014),
June 1, 2014,
Hyderabad, India
3rd International Workshop on Green and Sustainable Software (GREENS 2014)
Frontmatter
Message from the Chairs
Welcome to GREENS 2014, the 3rd ACM/IEEE International Workshop on Green and Sustainable Software on June 1, 2014 in Hyderabad, India. GREENS 2014 is co-located with the 36th ACM/IEEE International Conference on Software Engineering (ICSE 2014).
Software can contribute to power reduction—become greener—by being more energy efficient—using fewer resources, or by making its supported processes more sustainable—decreasing the environmental impact of using software—applications and services. While research results exist in measuring and controlling the level of greenness of hardware components, research is needed to relate energy consumption to executing software. While low-level solutions and products already exist, they often rely on approximations solely on hardware rather than considering application software. We lack software instrumenting and monitoring methods to demonstrate green improvement effectively. With monitoring in place, we have the opportunity to adapt software systems dynamically to facilitate greening. We need to investigate software engineering methods to aid professionals with software sustainability issues and energy efficiency. Demonstrating green improvement due to software changes to decision makers and end-users as well as companies and governments is a key challenge. Showing how software user experiences, habits, or lifestyles can effectively decrease the energy footprint is the ultimate goal.
Developing Sustainability Frameworks
Developing a Sustainability Non-functional Requirements Framework
Ankita Raturi, Birgit Penzenstadler, Bill Tomlinson, and Debra Richardson
(University of California at Irvine, USA)
Requirements engineers are in a unique position to encourage the consideration of sustainability at a formative phase in the software development life cycle. In this paper, we look at how we can develop sustainability as a non-functional requirement (NFR). We describe an NFR framework that is informed by sustainability models and discuss how it can be used to appropriately elicit and describe sustainability related requirements of the software system to be developed. We outline a roadmap for how we may integrate sustain- ability in requirements engineering from a theoretical NFR framework to an applicable software quality and relevant software standards.
@InProceedings{GREENS14p1,
author = {Ankita Raturi and Birgit Penzenstadler and Bill Tomlinson and Debra Richardson},
title = {Developing a Sustainability Non-functional Requirements Framework},
booktitle = {Proc.\ GREENS},
publisher = {ACM},
pages = {1--8},
doi = {},
year = {2014},
}
Characterizing Energy-Aware Software
Towards Software-Adaptive Green Computing Based on Server Power Consumption
Andreas Bergen, Ronald Desmarais, Sudhakar Ganti, and Ulrike Stege
(University of Victoria, Canada)
With the proliferation of virtualization and cloud comput-
ing, optimizing the power usage effectiveness of enterprise
data centers has become a laudable goal and a critical re-
quirement in IT operations all over the world. While a sig-
nificant body of research exists to measure, monitor, and
control the greenness level of hardware components, signif-
icant research efforts are needed to relate hardware energy
consumption to energy consumption due to program exe-
cution. In this paper we report on our investigations to
characterize power consumption profiles for different types
of compute and memory intensive software applications. In
particular, we focus on studying the effects of CPU loads on
the power consumption of compute servers by monitoring
rack power consumption in a data center. We conducted a
series of experiments with a variety of processes of differ-
ent complexity to understand and characterize the effect on
power consumption. Combining processes of varying com-
plexity with varying resource allocations produces different
energy consumption levels. The challenge is to optimize pro-
cess orchestration based on a power consumption framework
to accrue energy savings. Our ultimate goal is to develop
smart adaptive green computing techniques, such as adap-
tive job scheduling and resource provisioning, to reduce over-
all power consumption in data centers or clouds.
@InProceedings{GREENS14p9,
author = {Andreas Bergen and Ronald Desmarais and Sudhakar Ganti and Ulrike Stege},
title = {Towards Software-Adaptive Green Computing Based on Server Power Consumption},
booktitle = {Proc.\ GREENS},
publisher = {ACM},
pages = {9--16},
doi = {},
year = {2014},
}
Towards Green Power Electronics: Software Controllers and Domain Knowledge
Krzysztof Sierszecki, Michaela Steffens, Thomas Fogdal, Juha Savolainen, and Tommi Mikkonen
(Danfoss, Denmark; Tampere University of Technology, Finland)
One of the key challenges of green software is that various aspects have an impact to the overall energy consumption over the lifetime of a system operated by software. In particular, in the field of industrial applications, where embedded devices cooperate with many IT systems to make the industrial processes more efficient, to reduce waste or raw materials, and to save the environment, the concept of green software becomes unclear. In this paper, we address the green aspects of software in different phases – software construction, software execution, and software control in both inside an individual component and as a part of a complete industrial application. Furthermore, we demonstrate that the insight into system knowledge, not aspects related to software per se, is the key to create truly green software. Consequently, when considering truly software green, the focus is to be placed on the system level savings for embedded systems at the highest possible level where domain knowledge can be taken into account, not on software development or execution.
@InProceedings{GREENS14p17,
author = {Krzysztof Sierszecki and Michaela Steffens and Thomas Fogdal and Juha Savolainen and Tommi Mikkonen},
title = {Towards Green Power Electronics: Software Controllers and Domain Knowledge},
booktitle = {Proc.\ GREENS},
publisher = {ACM},
pages = {17--22},
doi = {},
year = {2014},
}
Energy Aspects: Modularizing Energy-Aware Applications
Somayeh Malakuti and Claas Wilke
(TU Dresden, Germany)
To effectively extend legacy applications with energy-awareness functionality,
dedicated modularization mechanisms are required. This paper introduces the
GreenDev framework, which integrates energy testing and event-based
modularization for this matter. Energy testing facilitates identifying the
energy-related interfaces of applications to the energy-awareness
functionality, and event-based modularization facilitates modularizing this functionality from the
base functionality of the applications. To maintain loose coupling among these,
GreenDev offers a dedicated interface definition language, which enables
defining the interfaces abstractly from the actual implementation of the
applications. The applications are automatically augmented with these
interfaces. We illustrate the applicability of GreenDev in implementing an
energy-aware mobile emailing app.
@InProceedings{GREENS14p23,
author = {Somayeh Malakuti and Claas Wilke},
title = {Energy Aspects: Modularizing Energy-Aware Applications},
booktitle = {Proc.\ GREENS},
publisher = {ACM},
pages = {23--30},
doi = {},
year = {2014},
}
Understanding Energy Consumption on Mobile Platforms
Can Execution Time Describe Accurately the Energy Consumption of Mobile Apps? An Experiment in Android
Luis Corral, Anton B. Georgiev, Alberto Sillitti, and Giancarlo Succi
(Free University of Bolzano, Italy)
Measuring the energy spent by a software application is a problem that can be solved by having the proper hardware or software instruments. However, not always such tools are available or the provide resolution cannot fit the needs of the user, for instance when measuring a very small piece of code. This problem is particularly relevant on mobile software products, as they are developed to be executed in an environment limited in energy resources. Mobile software engineers should take special consideration on the energy consumption when designing and implementing an application. In this paper, we propose that the energy consumed by a unit of code can be approximated by the execution time. Using software benchmarks run with different data loads, we measured the execution time required to complete the job, and using a software tool to measure the energy spent during the execution of the benchmark, with the objective of finding a relationship among them. We observed that, regardless of the software benchmark, the data load injected and the programming language, of implementation the ratio between the execution time and the energy consumption remains consistent, opening the opportunity to develop techniques to approximate the energy consumption of mobile software based on execution time measurements.
@InProceedings{GREENS14p31,
author = {Luis Corral and Anton B. Georgiev and Alberto Sillitti and Giancarlo Succi},
title = {Can Execution Time Describe Accurately the Energy Consumption of Mobile Apps? An Experiment in Android},
booktitle = {Proc.\ GREENS},
publisher = {ACM},
pages = {31--37},
doi = {},
year = {2014},
}
Green Mining: Energy Consumption of Advertisement Blocking Methods
Kent Rasmussen, Alex Wilson, and Abram Hindle
(University of Alberta, Canada)
Extending battery life on mobile devices has become an important
topic recently due to the increasing frequency of smartphone adoption. A
primary component of smart phone energy consumption is the apps that
run on these devices. Many apps have embedded advertising and web
browser apps will show ads that are embedded on webpages. Other
researchers have found that advertising libraries and advertisements
tend to increase power usage. But is the converse true? If we use
advertisement blocking software will we consume less energy, or
will the overhead of ad-blocking consume more energy?
This study seeks to determine the effects of advertisements on energy
consumption, and the effects of attempts to block the
advertisements. We compared different methods of blocking
advertisements on an Android mobile phone platform and compared the
power efficiency of these methods. We found many cases where
ad-blocking software or methods resulted in increased power use.
@InProceedings{GREENS14p38,
author = {Kent Rasmussen and Alex Wilson and Abram Hindle},
title = {Green Mining: Energy Consumption of Advertisement Blocking Methods},
booktitle = {Proc.\ GREENS},
publisher = {ACM},
pages = {38--45},
doi = {},
year = {2014},
}
An Investigation into Energy-Saving Programming Practices for Android Smartphone App Development
Ding Li and
William G. J. Halfond
(University of Southern California, USA)
Developing energy efficient mobile applications is an impor-
tant goal for software developers as energy usage can di-
rectly affect the usability of a mobile device. Unfortunately,
developers lack guidance as to how to improve the energy
efficiency of their implementation and which practices are
most useful. In this paper we conducted a small-scale em-
pirical evaluation of commonly suggested energy-saving and
performance-enhancing coding practices. In the evaluation
we evaluated the degree to which these practices were able
to save energy as compared to their unoptimized code coun-
terparts. Our results provide useful guidance for mobile app
developers. In particular, we found that bundling network
packets up to a certain size and using certain coding prac-
tices for reading array length information, accessing class
fields, and performing invocations all led to reduced energy
consumption. However, other practices, such as limiting
memory usage had a very minimal impact on energy us-
age. These results serve to inform the developer community
about specific coding practices that can help lower the over-
all energy consumption and improve the usability of their
applications.
@InProceedings{GREENS14p46,
author = {Ding Li and William G. J. Halfond},
title = {An Investigation into Energy-Saving Programming Practices for Android Smartphone App Development},
booktitle = {Proc.\ GREENS},
publisher = {ACM},
pages = {46--53},
doi = {},
year = {2014},
}
proc time: 0.78