379,913 research outputs found

    A design method for modular energy-aware software

    Get PDF
    Nowadays achieving green software by reducing the overall energy consumption of the software is becoming more and more important. A well-known solution is to make the software energy-aware by extending its functionality with energy optimizers, which monitor the energy consumption of software and adapt it accordingly. Modular design of energy-aware software is necessary to make the extensions manageable and to cope with the complexity of the software. To this aim, we require suitable methods that guide designers through the necessary design activities and the models that must be prepared during each activity. Despite its importance, such a method is not investigated in the literature. This paper proposes a dedicated design method for energy-aware software, discusses a concrete realization of this method, and—by means of a concrete example—illustrates the suitability of this method in achieving modularity

    Energy-aware Software

    Get PDF
    Luca Ardito has focused his PhD on studying how to identify and to reduce the energy consumption caused by software. The project concentrates on the application level, with an experimental approach to discover and modify characteristics that waste energy. We can define five research goals: RG1. Is it possible to measure the energy consumption of an application? Measuring the energy consumption of an electronic device (PC, mobile phone, etc.) is straightforward, but several applications coexist on it, possibly with very different energy needs. Usage profiles for applications are certainly important too. We will consider the most common platforms (Windows, Linux, Mac Osx). RG2. Could Energy Efficiency be considered as a software non- functional requirement? Research has increasingly focused on improving the Energy Efficiency of hardware, but the literature still lacks in quantifying accurately the energy impact of software. This research goal is strictly related to the following one. RG3. Is it possible to profile the energy consumption of a software application? An empirical experiment could assess quantitatively the energetic impact of software usage by building up common application usage scenarios and executing them independently to collect power consumption data. RG4. Is there a relationship between the way a program is written and its energy consumption? The same application, at the code level, can be written in different ways. Here the question is if the different ways have impact on energy consumption. The code should be considered at two levels: source code (programmer) and object code/byte code (compiler). RG5. Is it possible to use the energy consumption information to trigger self-adaptation? A software application could automatically modify its behaviour in order to reduce its energy consumption

    Energy-Aware Software Engineering

    Get PDF
    A great deal of energy in Information and Communication Technology (ICT) systems can be wasted by software, regardless of how energy-efficient the underlying hardware is. To avoid such waste, programmers need to understand the energy consumption of programs during the development process rather than waiting to measure energy after deployment. Such understanding is hindered by the large conceptual gap from hardware, where energy is consumed, to high-level languages and programming abstractions. The approaches described in this chapter involve two main topics: energy modelling and energy analysis. The purpose of modelling is to attribute energy values to programming constructs, whether at the level of machine instructions, intermediate code or source code. Energy analysis involves inferring the energy consumption of a program from the program semantics along with an energy model. Finally, the chapter discusses how energy analysis and modelling techniques can be incorporated in software engineering tools, including existing compilers, to assist the energy-aware programmer to optimise the energy consumption of code

    Energy-aware routing in multiple domains software defined networks

    Get PDF
    The growing energy consumption of communication networks has attracted the attention of the networking researchers in the last decade. In this context, the new architecture of Software-Defined Networks (SDN) allows a flexible programmability, suitable for the power-consumption optimization problem. In this paper we address the issue of designing a novel distributed routing algorithm that optimizes the power consumption in large scale SDN with multiple domains. The solution proposed, called DEAR (Distributed Energy- Aware Routing), tackles the problem of minimizing the number of links that can be used to satisfy a given data traffic demand under performance constraints such as control traffic delay and link utilization. To this end, we present a complete formulation of the optimization problem that considers routing requirements for control and data plane communications. Simulation results confirm that the proposed solution enables the achievement of significant energy savings.Peer ReviewedPostprint (published version

    Chapter Energy-Aware Software Engineering

    Get PDF
    Polystyrene (PS) is a petroleum‐based plastic made from styrene (vinyl benzene) monomer. Since it was first commercially produced in 1930, it has been used for a wide range of commercial, packaging and building purposes. In 2012, approximately 32.7 million tonnes of styrene were produced globally, and polystyrene is now a ubiquitous household item worldwide. In 1986, the US Environmental Protection Agency (EPA) announced that the polystyrene manufacturing process was the fifth largest source of hazardous waste. Styrene has been linked to adverse health effects in humans, and in 2014, it was listed as a possible carcinogen. Yet, despite mounting evidence and public concern regarding the toxicity of styrene, the product of the polymerisation of styrene, PS, is not considered hazardous. This chapter draws on a series of movements called the ‘new materialisms’ to attend to the relational, unstable and contingent nature of PS, monomers and other additives in diverse environments, and thus, we highlight the complexities involved in the categorisation of PS as ‘hazardous’ and the futility of demarcating PS as ‘household waste'. While local examples are drawn from the New Zealand context, the key messages are transferrable to most policy contexts and diverse geographical locations

    EACOF: A Framework for Providing Energy Transparency to enable Energy-Aware Software Development

    Full text link
    Making energy consumption data accessible to software developers is an essential step towards energy efficient software engineering. The presence of various different, bespoke and incompatible, methods of instrumentation to obtain energy readings is currently limiting the widespread use of energy data in software development. This paper presents EACOF, a modular Energy-Aware Computing Framework that provides a layer of abstraction between sources of energy data and the applications that exploit them. EACOF replaces platform specific instrumentation through two APIs - one accepts input to the framework while the other provides access to application software. This allows developers to profile their code for energy consumption in an easy and portable manner using simple API calls. We outline the design of our framework and provide details of the API functionality. In a use case, where we investigate the impact of data bit width on the energy consumption of various sorting algorithms, we demonstrate that the data obtained using EACOF provides interesting, sometimes counter-intuitive, insights. All the code is available online under an open source license. http://github.com/eaco

    A manifesto for energy-aware software

    Get PDF
    According to recent estimates, computing and communications could account for 20% of energy usage globally by 2025.1 This trend shows no sign of slowing. The annual growth in power consumption of Internet-connected devices is 20%. Data centers alone are now accounting for more than 3% of global emissions. Even if you are not worried about this trend on the mega scale, you are likely concerned with the power consumption of the devices in your pocket, on your wrist, and in your ears. Software, hardware, and network attributes all contribute to power usage, but little attention has been given to this topic by the information and communications technology (ICT) community

    Modeling and visualizing networked multi-core embedded software energy consumption

    Full text link
    In this report we present a network-level multi-core energy model and a software development process workflow that allows software developers to estimate the energy consumption of multi-core embedded programs. This work focuses on a high performance, cache-less and timing predictable embedded processor architecture, XS1. Prior modelling work is improved to increase accuracy, then extended to be parametric with respect to voltage and frequency scaling (VFS) and then integrated into a larger scale model of a network of interconnected cores. The modelling is supported by enhancements to an open source instruction set simulator to provide the first network timing aware simulations of the target architecture. Simulation based modelling techniques are combined with methods of results presentation to demonstrate how such work can be integrated into a software developer's workflow, enabling the developer to make informed, energy aware coding decisions. A set of single-, multi-threaded and multi-core benchmarks are used to exercise and evaluate the models and provide use case examples for how results can be presented and interpreted. The models all yield accuracy within an average +/-5 % error margin

    Software-Defined Cloud Computing: Architectural Elements and Open Challenges

    Full text link
    The variety of existing cloud services creates a challenge for service providers to enforce reasonable Software Level Agreements (SLA) stating the Quality of Service (QoS) and penalties in case QoS is not achieved. To avoid such penalties at the same time that the infrastructure operates with minimum energy and resource wastage, constant monitoring and adaptation of the infrastructure is needed. We refer to Software-Defined Cloud Computing, or simply Software-Defined Clouds (SDC), as an approach for automating the process of optimal cloud configuration by extending virtualization concept to all resources in a data center. An SDC enables easy reconfiguration and adaptation of physical resources in a cloud infrastructure, to better accommodate the demand on QoS through a software that can describe and manage various aspects comprising the cloud environment. In this paper, we present an architecture for SDCs on data centers with emphasis on mobile cloud applications. We present an evaluation, showcasing the potential of SDC in two use cases-QoS-aware bandwidth allocation and bandwidth-aware, energy-efficient VM placement-and discuss the research challenges and opportunities in this emerging area.Comment: Keynote Paper, 3rd International Conference on Advances in Computing, Communications and Informatics (ICACCI 2014), September 24-27, 2014, Delhi, Indi
    corecore