<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Energy Efficiency Embedded Service Lifecycle: Towards an Energy Efficient Cloud Computing Architecture</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Karim Djemame</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Django Armstrong</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Richard Kavanagh</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Ana Juan Ferrer</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>David Garcia Perez</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>David Antonax</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Jean-Christophe Deprez</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Christophe Ponsardk</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>David Ortiz</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Mario Macias</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Jordi Guitart</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Francesc Lordan</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Jorge Ejarque</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Raul Sirvent</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Rosa Badiay</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Michael Kammer</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Odej Kao</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Eleni Agiatzidou</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Antonis Dimakis</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Costas Courcoubetisyy</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Lorenzo Blasi</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>School of Computing, University of Leeds</institution>
          ,
          <country country="UK">UK</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Technische Universitat Berlin</institution>
          ,
          <country country="DE">Germany</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>-The paper argues the need to provide novel methods and tools to support software developers aiming to optimise energy efficiency and minimise the carbon footprint resulting from designing, developing, deploying and running software in Clouds, while maintaining other quality aspects of software to adequate and agreed levels. A cloud architecture to support energy efficiency at service construction, deployment, and operation is discussed, as well as its implementation and evaluation plans.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>I. INTRODUCTION</title>
      <p>Cloud Computing aims to streamline the on-demand
provisioning of software, hardware, and data to provide flexibility
and agility, and economies of scale in IT resource management.</p>
      <p>Although building, deploying and operating applications on a
cloud can help to achieve speed, scalability, and maintain a
flexible infrastructure, it brings about a variety of challenges
due to its massive scalability, complexity, as well as dynamic
and evolving environments.</p>
      <p>
        There is currently an acceleration of adoption of cloud
applications and services by enterprises. Consequently, experts
warn of a dramatic increase in energy consumption for cloud
computing. It is predicted that the global energy consumption
for cloud computing will increase from 632 billion kWh in
2007 to 1,963 billion kWh by 2020 and the associated CO2
equivalent emissions will reach 1,034 megatonnes [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ].
      </p>
      <p>
        Research effort has targeted energy efficiency support at
various stages of the cloud service lifecycle. In the service
development stage, requirements elicitation includes techniques
for capturing, modelling and reasoning on energy requirements
as well as product line oriented techniques to model and
reason about system configuration [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ], [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ]. In terms of software
design in relation to energy consumption, some research efforts
relate energy awareness and optimization at the application
and system level [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ], focus on profiling the applications
energy consumption at runtime to iteratively narrow down
on energy hot spots [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ], or considers Cloud architecture
patterns to achieve greener business processes [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ]. Energy
efficiency has also been the subject of investigation in Software
development, e.g. by studying the energy consumption of the
application prior to deployment [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ]. In the service deployment
stage, research effort has focused on Service Level Agreement
(SLA) deployment strategies especially with regard to SLAs
that are energy-aware, e.g. by implementing specific policies
to save energy [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ], [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ], as well as service deployment
technologies which play a critical role in the management
of the cloud infrastructure and thus have an effect on its
overall energy consumption [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. In the service operation stage,
energy efficiency has been extensively studied and has focused
for example on approaches towards energy management for
distributed management of Virtual Machines (VMs) in cloud
infrastructures, where the goal is to improve the utilization
of computing resources and reduce energy consumption under
workload independent quality of service constraints [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]. Other
research effort has focused on scheduling techniques, data
management, virtualisation, networks, and operating systems.
      </p>
      <p>
        For a full state of the art on the subject of energy efficiency
in clouds see [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ].
      </p>
      <p>This paper is concerned with the topical issue of
energy efficient computing, specifically focusing on the design,
construction, deployment, and operation of cloud services.</p>
      <p>It argues that research is needed to propose novel methods
and develop tools to support software developers in
monitoring, minimising the carbon footprint and optimising energy
efficiency resulting from developing and deploying software
in cloud environments. Such research addresses the need for
continued development of infrastructure support for clouds in
order to optimise, monitor and reduce carbon footprint and
costs for cloud providers and end-users. The major contribution
to the carbon footprint of IT software in general is energy
consumed in its operation, thus the primary aim of this paper is
to relate software design and energy use. Although energy use
is of relevance across all software design and implementation,
this paper makes specific reference to cloud-based service
operations: the emergence of cloud computing with its emphasis</p>
      <p>Copyright c papers’ authors. Copying permitted only for private and academic purposes. This volume is published and copyrighted by its editors.
on shared software components which are likely to be used
and reused many times in many different applications makes
it imperative that the software to be developed is as energy
efficient as it possibly can be.</p>
      <p>Therefore, the paper’s primary goal is to characterise the
factors which affect energy efficiency in software development,
deployment and operations. The approach focuses firstly on
the identification of the missing functionalities to support
energy efficiency across all cloud layers, and secondly on
the definition and integration of explicit measures of energy
requirements into the design and development process for
software to be executed on a cloud platform.</p>
      <p>The paper’s main contributions are: 1) the incorporation
of a novel approach that combines energy-awareness related
to cloud environments with the principles of requirements
engineering and design modelling for self-adaptive
softwareintensive systems. This way, the energy efficiency of both
cloud infrastructure and software are considered in the cloud
service development and operation lifecycle, and 2) a proposed
energy efficiency aware cloud architecture, its components,
and their roles. This architecture is discussed in the context
of the cloud service life cycle: construction, deployment, and
operation.</p>
      <p>The remainder of the paper is structured as follows:
Section II describes the proposed architecture to support
energyawareness. Section III discusses the implementation and
evaluation plans of the architecture. In conclusion, Section IV
provides a summary of the research.</p>
      <p>II.</p>
    </sec>
    <sec id="sec-2">
      <title>ENERGY EFFICIENT CLOUD ARCHITECTURE</title>
      <p>As argued in Section I it is clear that methods and tools that
consider energy efficiency are needed to manage the life cycle
of cloud services from requirements to run-time through
construction, deployment, operation, and their adaptive evolution
over time. Their availability will result in an implementation
of a software stack for energy efficient-aware Clouds. Thus,
an architecture supporting energy efficiency and capable of
self-adaptation while at the same time aware of the impact on
other quality characteristics of the overall cloud system such
as performance is proposed.</p>
      <p>Figure 1 illustrates the vision of how to deal with energy
requirements together with other types or requirements, and
how to manage them across the design and run-time stages.
Consequently, the research questions that need to be addressed
are the normalisation of energy measurements, the mapping
between hardware, VM and software level, the management of
Key Performance Indicators (KPIs) of contributing/conflicting
goals as well as the identification of variability points available
for (self)-adaptation.</p>
      <p>Figures 2,3,4 provide an overview of the proposed
architecture. It includes the high-level interactions of all components,
is separated into three distinct layers and follows the standard
Cloud deployment model. Next, details on the interactions of
the architectural components are discussed.</p>
      <sec id="sec-2-1">
        <title>A. Layer 1 - SaaS</title>
        <p>In the SaaS layer a set of components interact to facilitate
the modelling, design and construction of a Cloud application.
The components aid in evaluating energy consumption of
a Cloud application during its construction. A number of
plug-ins are provided for a frontend Integrated Development
Environment (IDE) as a means for developers to interact with
components within this layer. A number of packaging
components are also made available to enable provider agnostic
deployment of the constructed cloud application, while also
maintaining energy awareness.</p>
        <p>
          The IDE is intended to be the main entry point to the
infrastructure for service designers and developers. The idea is
that the IDE integrates the graphical interfaces to the different
tools available in the SaaS layer, thus offering a unified and
integrated view to users. The Programming Model Plug-in (PM
plug-in) provides a graphical interface to use the
Programming Model and supporting tools to enable the development,
analysis and profiling of an application in order to improve
energy efficiency. On the other hand, the Programming Model
provides the service developers with a way to implement
services composed of source code, legacy applications
executions and external Web services [
          <xref ref-type="bibr" rid="ref11">11</xref>
          ]. Although these complex
services are written in a sequential fashion without APIs, the
applications are instrumented so they call the Programming
Model Runtime to be executed in parallel. The Modelling
Tools component extends the requirements engineering and
design phase with the capability to capture and reason on
energy as well as other quality aspects in the early steps of
the application. This will allow the SaaS architect to take the
right design decision either statically or by enabling adequate
run-time behaviour when deployed (e.g. through annotation
propagation, SLA definitions). The goal is also to provide
the KPI that will be monitored to check if the platform
is behaving properly and take corrective actions in case of
deviation. This component has a number of features that
facilitate requirements gathering and modelling and includes:
1) Goal energy repository: supporting energy patterns in
requirements; 2) Design pattern repository: supporting
energyaware cloud-patterns, and 3) Annotation repository: supporting
the association of energy KPIs across the whole refinement
structure of the (requirements) goal model. The Application
Package Manager is a collection of components providing
functionality to describe and bundle appropriate software,
including the selection of the most suitable energy efficient
runtime environment (e.g. JVM), into one or more VM images
ready for deployment. It is a conceptual component in the
architecture with a set of sub-components that package the
application and make it ready for deployment. The Programming
Model Runtime (PMR) deals with the orchestration of the task
executions. The PMR component is in charge of detecting the
dependencies among the task invocations and managing their
proper execution in the remote resources. The Programming
Model Packager (PMP) component creates the bundles of a
Programming Model application. More precisely, it will pack
method calls and tasks taking into account their requirements,
or any other constraints pointed out by the developer. It will
also generate the Service Manifest of the PM application. The
Application Descriptor Tool is a graphical tool that assists
developers in creating a Service Manifest. It helps the user
to build an Open Virtualization Format (OVF) description
document that describes the relation between different VMs
and the software installed in them to later be used by the
Application Packager to build the Service Manifest to submit
to the PaaS layer. The Application Packager component is
in charge of packaging non-PM applications. This component
will take into account the template filled by the user in OVF
format to package the software with the different requirements.
It also generates a Service Manifest to submit to the PaaS
layer. The VM Image Constructor (VMIC) uses the application
packages and the service manifest or application descriptor to
create VM images that can be deployed in the PaaS layer. The
Application Uploader interacts with the Application Manager
to register the final VMs ready for deployment. It essentially
serves the PM plug-in and the Application Packager once
images have been completed.
        </p>
      </sec>
      <sec id="sec-2-2">
        <title>B. Layer 2 - PaaS</title>
        <p>The PaaS layer provides middleware functionality for a
Cloud application and facilitates the deployment and operation
of the application as a whole. Components within this layer are
responsible for selecting the most energy appropriate provider
for a given set of energy requirements and tailoring the
application to the selected providers hardware environment.
Application level monitoring is also accommodated for here,
in addition to support for Service Level Agreement (SLA)
negotiation.</p>
        <p>The Application Manager (AM) component manages the
user applications that are described as virtual appliances,
formed by a set of VMs that are interconnected between them.</p>
      </sec>
      <sec id="sec-2-3">
        <title>The role of the Virtual Machine Contextualizer (VMC) is to</title>
        <p>embed software dependencies of a service into a VM image
and configure these dependencies at runtime via an
infrastructure agnostic contextualization mechanism. Additionally, the
VMC enables the use of energy probes for the gathering of VM
level energy performance metrics. The Application Monitor
(APPM) is able to monitor the resources (CPU, memory,
network ...) that are being consumed by a given application,
by providing historical statistics for host and VM metrics.
The monitoring of an application must be performed in terms
of performance (e.g. CPU that an application is consuming
during a given period of their execution) and energy (e.g.
watts that an application requires during a given moment of
their execution). The goal of the Energy Modeller is to gather
and manage energy related information throughout the whole
Cloud Service lifecycle and Cloud layers: from requirement
level KPIs to programming model annotations down to PaaS
and IaaS level measurements made through the monitoring
agents present at those levels. The energy modeller provides an
interface to estimate the energy cost of a PaaSs KPIs, and the
provided estimations assist in the selection of the appropriate
IaaS provider for running the application. The SLA Manager
is responsible for managing SLAs at PaaS level. This requires
interacting with the Application Manager, the Pricing Modeller
and the IaaS SLA Manager. The Application Manager provides
to the PaaS SLA Manager information to establish which
terms need to be scheduled and then negotiated with the IaaS
Providers. Once negotiation between PaaS SLA Manager and
IaaS SLA Manager is done, the PaaS SLA Manager will
request the price of the build offer to the Pricing Modeller.
The goal of the Pricing Modeller is to provide energy-aware
cost estimation related to the operation of applications on top
of VMs on a specific IaaS provider. In addition, the component
provides billing information.</p>
      </sec>
      <sec id="sec-2-4">
        <title>C. Layer 3 - IaaS</title>
        <p>In the IaaS layer the admission, allocation and management
of virtual resource are performed through the orchestration of
a number of components. Energy consumption is monitored,
estimated and optimized using translated PaaS level metrics.
These metrics are gathered via a monitoring infrastructure and
a number of software probes.</p>
        <p>The Virtual Machine Manager (VMM) component is
responsible for managing the complete life cycle of the virtual
machines that are deployed in a specific infrastructure provider.
The goal of the Energy Modeller is to gather and manage
energy related information throughout the whole Cloud Service
lifecycle and Cloud layers. This components core
responsibility is to provide energy usage estimates by presenting
the relevant KPIs for a virtual machine deployment on the
infrastructure provided. This will include cost trade off analysis
based on sources such as prior experience, the application
profile as defined in the SLA, which is subsequently translated
into infrastructure level KPIs, and finally from current up
to date monitoring information from the deployment
environment. The SLA Manager is responsible to manage SLA
negotiation requests at IaaS level. This is required in order
to allow the PaaS SLA Manager to provide offering for
User/SaaS that want to negotiate SLA with the platform. The
IaaS SLA Manager is also responsible to contact the VM
Manager to get the status of the available resources in order
to determinate the offer and it contacts the Pricing Modeller
to assign a price to the offered terms. The goal of the Pricing
Modeller is to provide energy-aware cost estimation related to
the operation of the physical resources that belong to the IaaS
provider and are used by specific VMs. In addition, it will
provide billing information. The Infrastructure Manager (IM)
manages the physical infrastructure and redirects requests to
hardware components. It maintains lists of hardware
energymeters, physical cluster nodes, network components and
storage devices. External components can obtain and manipulate
the state of the infrastructure through a common API that
is independent of the actual hardware. The IM in the duty
to provide power consumption information for each cluster
node. Furthermore, the IM requires an authentication for all
operations which ensures protection against attacks as well as
a sufficient separation of different parties.</p>
      </sec>
      <sec id="sec-2-5">
        <title>D. Adaptation</title>
        <p>Recall that the paper addresses energy-efficient
management of cloud resources across the entire cloud software stack.
Therefore, the proposed cloud architecture needs to support
self-adaptation regarding energy and eco-efficiency while at
the same time being aware of the impact on other quality
characteristics of the overall cloud system such as space
and time performance. Three steps are foreseen: 1) Energy
Awareness: concentrates on delivering energy awareness in
all system components. Monitoring and metrics information
will be measured at IaaS level and propagated through the
various layers of the Cloud stack (PaaS, SaaS) considering
static energy profiles; 2) Intra-Layer Cloud Stack Adaptation:
adaptation with regard to energy efficiency focuses on the
addition of capabilities required to achieve dynamic energy
management per each of the Cloud layers, in other words local
layer adaptation. It considers the extensions of the runtime
environment in order to be able to orchestrate the invocation
of different application components with advanced scheduling
techniques that take into account energy efficiency parameters.
It will provide the means to assess the services compliance
during their operation to the terms of a negotiated SLA (and
thus their QoS and their energy efficiency) as well as the
overall energy efficiency from the Cloud provider perspective,
and 3) Inter-Layer Cloud Stack Adaptation: builds on top
of intra-layer Energy Efficiency, in order to achieve steering
information and decisions among Cloud layers for triggering
other layers to adapt their energy mode. The aim is to enable
the entire Cloud stack to actively adapt to changing situations.
From the SaaS perspective the main focus will be on enriching
the runtime energy profiles with further PaaS and SaaS energy
related attributes so that an application can be better tailored
to the environment in which it is to run. At the PaaS and
IaaS layers, the main focus will be on information sharing
and decision making.</p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>III. IMPLEMENTATION AND EVALUATION</title>
      <p>The proposed architecture is currently being implemented
in a cloud testbed. The evaluation plan consists in the
consideration of two industrial use cases that will be used to exploit
and illustrate the architecture, and the possible energy gains it
will provide to the applications it operates.</p>
      <p>Use cases: The aim of the first use case is to adapt an
existing computationally intensive software and make it suitable for
an energy aware cloud environment by considering a product
life-cycle management system for the building Industry. This
is to facilitate the design and construction of a new generation
of prefabricated buildings by means of collaborative software
and industrial production. The aim of the second use case is to
adapt an existing data intensive software and make it suitable
for an energy aware cloud environment. This software has
been built to assist news agencies in creating, managing and
distributing breaking news quickly and efficiently to various
customers through a variety of delivery methods. Its core
functionality includes: news gathering, editing, archiving,
managing the production process and delivering services through
multiple channels.</p>
      <p>Metrics and KPIs: Two types of information for a running
application can be collected, namely its energy consumption
and application events. The application, developed with SaaS
tools (see section II-A), defines when an event or a specific
operation occurs during the application run time (e.g. when
a new request arrives to the application, when a search
operation is performed etc). Moreover the application (or some
architectural component) provides an OVF description of its
deployment (in terms of virtual systems and their connections).
Energy consumption at host physical systems is monitored and
the energy consumption of guest virtual systems is estimated.
Power consumption at a given sampling frequency is
monitored, as well as other metrics at a similar sampling frequency
to avoid inconsistencies. Applications are generally interested
in specific measurements that indicate how the application
behaves (e.g. response time, user served, number of times an
operation has been performed). Some of these measures can be
related to energy consumption, e.g. throughput-like measures
(number of operations in a given time), or an application-level
energy metric (energy consumption of a conceptual software
architecture component).</p>
      <p>Energy metrics at various levels (host, VM, tasks) will be
targeted in order to measure the energy consumed by
applications events, operations or components defined at development
time. These metrics have different contexts: software, platform,
infrastructure, and architectural component level. Examples of
such metrics include the Execution Plan Energy Efficiency to
measure how efficient a service is in its energy use or the
Disk Energy metric to measure the energy consumed by the
disk over time duration for a single VM dedicated to a given
SaaS application.</p>
      <p>
        Testbed: The testbed is located at the Technische
Universit a¨t Berlin. The computing cluster consists of sixteen nodes.
Each of these nodes is equipped with two quad-core processors
with 2; 66 GHz, 32 GB of RAM, 750 GB of local hard disk
capacity and an IPMI card for administration. Each node is
connected to two different networks and able to transfer full
speed with one Gbit/s synchronously. The first network is
dedicated for infrastructure management as well as regular data
exchange between the nodes. The second network is available
for storage area network usage only where storage nodes are
accessible through a distributed file systems. While several
hardware information are obtainable through the IPMI we
measure the energy-consumption of each node just before the
power supply unit. Each energy-meter can measure voltage,
current and power consumption. We use identical
energymeters to guarantee comparative measurements. The actual
devices are Gembird EnerGenie Energy Meters [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ] that share
their measurements in the local network. These devices can
measure power up to 2500 watts with an accuracy of 2%
and are able to deliver two measurements per second. A
dedicated node collects all measurements regularly and can
share the aggregated information with monitoring components.
Furthermore, this node shares visualized real-time information
in a web front-end with the local cluster administrators.
      </p>
      <p>IV.</p>
      <p>CONCLUSION</p>
      <p>This paper has highlighted the importance of providing
novel methods and tools to support software developers aiming
to optimise energy efficiency and minimise the carbon footprint
resulting from designing, developing, deploying and running
software at the different layers of Cloud stack while
maintaining other quality aspects of software to adequate and agreed
levels.</p>
      <p>The specification of a proposed architecture has been
presented, which includes the architectural roles and scope of
the components. This architecture complies with a standard
Cloud architecture, considers the classical SaaS, PaaS and IaaS
layers and supports components such as the Energy modeller,
the VM manager, the infrastructure monitor etc. The design
of the various architectural components was described, with
emphasis on the extension requirements in order to support
energy efficiency management. In this architecture, energy
efficiency is addressed at all layers of the cloud software stack
and during the complete lifecycle of a cloud application. Future
work includes its implementation and evaluation, which will be
showcased considering two industrial application deployment
illustrations.</p>
    </sec>
    <sec id="sec-4">
      <title>ACKNOWLEDGMENTS</title>
      <p>This work is partly supported by the European Commission
under FP7-ICT-2013.1.2 contract 610874 - Adapting Service
lifeCycle towards EfficienT Clouds (ASCETiC) project.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>Django</given-names>
            <surname>Armstrong</surname>
          </string-name>
          , Daniel Espling, Johan Tordsson, Karim Djemame, and
          <string-name>
            <given-names>Erik</given-names>
            <surname>Elmroth</surname>
          </string-name>
          .
          <article-title>Runtime virtual machine recontextualization for clouds</article-title>
          .
          <source>In Euro-Par 2012: Parallel Processing Workshops</source>
          , volume
          <volume>7640</volume>
          of Lecture Notes in Computer Science, pages
          <fpage>567</fpage>
          -
          <lpage>576</lpage>
          . Springer Berlin Heidelberg,
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <surname>ASCETiC.</surname>
          </string-name>
          <article-title>Requirements specification and state of the art</article-title>
          .
          <source>Deliverable D2.1</source>
          .1,
          <year>February 2014</year>
          . http://www.ascetic.eu/content/state-art.
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>Anton</given-names>
            <surname>Beloglazov</surname>
          </string-name>
          , Jemal Abawajy, and
          <string-name>
            <given-names>Rajkumar</given-names>
            <surname>Buyya</surname>
          </string-name>
          .
          <article-title>Energy-aware resource allocation heuristics for efficient management of data centers for cloud computing</article-title>
          .
          <source>Future Generation Computer Systems</source>
          ,
          <volume>28</volume>
          (
          <issue>5</issue>
          ):
          <fpage>755</fpage>
          -
          <lpage>768</lpage>
          ,
          <year>2012</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>GEMBIRD</given-names>
            <surname>Deutschland</surname>
          </string-name>
          <article-title>GmbH</article-title>
          .
          <article-title>EGM-PWM-LAN data sheet</article-title>
          . http://gmb.nl/Repository/6736/
          <string-name>
            <surname>EGM-PWM-LAN manual-</surname>
          </string-name>
          7f3db9f9
          <string-name>
            <surname>-</surname>
          </string-name>
          65f1
          <string-name>
            <surname>-</surname>
          </string-name>
          4508
          <string-name>
            <surname>-</surname>
          </string-name>
          a986-90915709e544.pdf,
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>Sebastian</given-names>
            <surname>Go</surname>
          </string-name>
          ¨tz, Claas Wilke,
          <string-name>
            <given-names>Sebastian</given-names>
            <surname>Cech</surname>
          </string-name>
          , and
          <string-name>
            <given-names>Uwe</given-names>
            <surname>Aßmann</surname>
          </string-name>
          .
          <article-title>Runtime variability management for energy-efficient software by contract negotiation</article-title>
          .
          <source>Proceedings of the International Workshop on Models@ run. time</source>
          ,
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>Kay</given-names>
            <surname>Grosskop</surname>
          </string-name>
          and
          <string-name>
            <given-names>Joost</given-names>
            <surname>Visser</surname>
          </string-name>
          .
          <article-title>Identification of application-level energy optimizations</article-title>
          . In Lorenz M. Hilty, editor,
          <source>Proceedings of the First International Conference on Information and Communication Technologies for Sustainability (ICT4S</source>
          '
          <year>2013</year>
          ), Zurich, Switzerland,
          <year>February 2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>Wolfgang</given-names>
            <surname>Hilty</surname>
          </string-name>
          , Lorenz M.;
          <string-name>
            <surname>Lohmann</surname>
          </string-name>
          .
          <article-title>The five most neglected issues in green it</article-title>
          .
          <source>CEPIS UPGRADE</source>
          ,
          <volume>12</volume>
          (
          <issue>4</issue>
          ):
          <fpage>11</fpage>
          -
          <lpage>15</lpage>
          ,
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>Timo</given-names>
            <surname>Ho</surname>
          </string-name>
          <article-title>¨nig, Christopher Eibel, Ru¨diger Kapitza, and Wolfgang Schro¨der-Preikschat. Seep: Exploiting symbolic execution for energyaware programming</article-title>
          .
          <source>In Proceedings of the 4th Workshop on PowerAware Computing and Systems</source>
          ,
          <source>HotPower '11</source>
          , pages
          <issue>4</issue>
          :
          <fpage>1</fpage>
          -
          <issue>4</issue>
          :
          <fpage>5</fpage>
          , New York, NY, USA,
          <year>2011</year>
          . ACM.
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>GreenPeace</given-names>
            <surname>International</surname>
          </string-name>
          .
          <article-title>Make it green - cloud computing and its contribution to climate change</article-title>
          ,
          <year>2010</year>
          . http://www.greenpeace.org/international/Global/international/planet2/report/2010/3/make-it
          <article-title>-green-cloud-computing</article-title>
          .pdf.
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <surname>Sonja</surname>
            <given-names>Klingert</given-names>
          </string-name>
          , Andreas Berl, Michael Beck, Radu Serban, Marco Girolamo, Giovanni Giuliani, Hermann Meer, and
          <string-name>
            <given-names>Alfons</given-names>
            <surname>Salden</surname>
          </string-name>
          .
          <article-title>Sustainable energy management in data centers through collaboration</article-title>
          .
          <source>In Energy Efficient Data Centers</source>
          , volume
          <volume>7396</volume>
          of Lecture Notes in Computer Science, pages
          <fpage>13</fpage>
          -
          <lpage>24</lpage>
          . Springer Berlin Heidelberg,
          <year>2012</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <surname>Francesc</surname>
            <given-names>Lordan</given-names>
          </string-name>
          , Enric Tejedor, Jorge Ejarque, Roger Rafanell, Javier Alvarez, Fabrizio Marozzo, Daniele Lezzi, Raul Sirvent, Domenico Talia, and
          <string-name>
            <given-names>Rosa</given-names>
            <surname>Badia</surname>
          </string-name>
          .
          <article-title>Servicess: An interoperable programming framework for the cloud</article-title>
          .
          <source>Journal of Grid Computing</source>
          , pages
          <fpage>1</fpage>
          -
          <lpage>25</lpage>
          , Sep.
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <surname>Olli</surname>
            <given-names>Mmmel</given-names>
          </string-name>
          , Mikko Majanen, Robert Basmadjian, Hermann Meer, Andr Giesler, and
          <string-name>
            <given-names>Willi</given-names>
            <surname>Homberg</surname>
          </string-name>
          .
          <article-title>Energy-aware job scheduler for high-performance computing</article-title>
          .
          <source>Computer Science - Research and Development</source>
          ,
          <volume>27</volume>
          (
          <issue>4</issue>
          ):
          <fpage>265</fpage>
          -
          <lpage>275</lpage>
          ,
          <year>2012</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <given-names>Alexander</given-names>
            <surname>Nowak</surname>
          </string-name>
          and
          <string-name>
            <given-names>Frank</given-names>
            <surname>Leymann</surname>
          </string-name>
          .
          <article-title>Green business process patterns - part ii (short paper)</article-title>
          .
          <source>In 6th IEEE International Conference on ServiceOriented Computing and Applications</source>
          , pages
          <fpage>168</fpage>
          -
          <lpage>173</lpage>
          , Koloa, Hi,
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <surname>Steven te Brinke</surname>
            , Somayeh Malakuti, Christoph Bockisch, Lodewijk Bergmans, and
            <given-names>Mehmet</given-names>
          </string-name>
          <string-name>
            <surname>Aksit</surname>
          </string-name>
          .
          <article-title>A design method for modular energyaware software</article-title>
          . In Sung Y. Shin and Jos Carlos Maldonado, editors,
          <source>Procedings of the 28th Annual ACM Symposium on Applied Computing (SAC'2013</source>
          , pages
          <fpage>1180</fpage>
          -
          <lpage>1182</lpage>
          . ACM,
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>