Powered by
Conference Publishing Consulting

3rd International Workshop on Green and Sustainable Software (GREENS 2014), June 1, 2014, Hyderabad, India

GREENS 2014 – Proceedings

Contents - Abstracts - Authors

3rd International Workshop on Green and Sustainable Software (GREENS 2014)


Title Page

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.

Publisher's Version Article Search

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.

Publisher's Version Article Search
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.

Publisher's Version Article Search
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.

Publisher's Version Article Search

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.

Publisher's Version Article Search
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.

Publisher's Version Article Search
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.

Publisher's Version Article Search

proc time: 0.27