- Open Access
Towards energy aware cloud computing application construction
© The Author(s) 2017
- Received: 15 February 2017
- Accepted: 18 May 2017
- Published: 23 June 2017
The energy consumption of cloud computing continues to be an area of significant concern as data center growth continues to increase. This paper reports on an energy efficient interoperable cloud architecture realised as a cloud toolbox that focuses on reducing the energy consumption of cloud applications holistically across all deployment models. The architecture supports energy efficiency at service construction, deployment and operation. We discuss our practical experience during implementation of an architectural component, the Virtual Machine Image Constructor (VMIC), required to facilitate construction of energy aware cloud applications. We carry out a performance evaluation of the component on a cloud testbed. The results show the performance of Virtual Machine construction, primarily limited by available I/O, to be adequate for agile, energy aware software development. We conclude that the implementation of the VMIC is feasible, incurs minimal performance overhead comparatively to the time taken by other aspects of the cloud application construction life-cycle, and make recommendations on enhancing its performance.
- Cloud computing
- Energy efficiency
- Cloud engineering
- Cloud architectures
- Cloud interoperability
- Performance evaluation
Current trends in industry show continuous growth in the adoption and market value of cloud computing with many companies changing their business models and products to adapt to a service oriented outlook. Cloud computing as a leading ICT approach provides elastic and on-demand ICT infrastructures makes up a large proportion of the total ICT energy consumption. Predictions have been made on an unsustainable quadrupling in the energy consumption and carbon emissions of data centres used to operate cloud services by 2020  with comparable emissions to the aeronautical industry. As energy efficiency is at the heart of governments/institutions for smart, sustainable and inclusive growth as part of a transition to a resource efficient economy, considering and improving the energy efficiency of cloud computing is therefore of paramount importance.
Research on energy efficiency in clouds has attracted considerable attention and has focused on many aspects including ICT equipment (servers, networks) as well as software solutions running on top of ICT equipment (e.g. cloud management system domain for managing the cloud infrastructure), see  for a survey. This paper is concerned with the topical issue of energy efficiency in clouds and specifically focuses on the design and construction of cloud services through the implementation of tools within a reference energy-aware and self-adaptive architecture. Such architecture provides novel methods and tools to support software developers aiming at optimising energy efficiency and minimising the carbon footprint resulting from designing, developing, deploying and running software in clouds. Cloud services are made of several shared software components, which are utilised many times. These components can then be characterised, which allows the Software developers to relate service construction and energy use. This relationship will further depend on the deployment conditions and the correct operation of the service, which can be achieved by means of an adaptive environment.
Software developers need to construct and analyse their applications using a programming model as part of a Software as a Service (SaaS) cloud layer. Currently, they usually optimise code to achieve high performance but guidelines for energy optimisation are also valuable. Consider an application which is developed using a programming model and the resultant program is analysed for potential energy hotspots . Methods from automatic complexity analysis and worst-case execution time analysis of the application can be extended and combined with energy models of the hardware, giving the developers an approximate energy profile for the program. This analysis provides feedback to the software developers thus enabling an adaptive software development methodology through monitoring (the code’s performance), analysing (identifying energy hotspots), planning (potential changes to the code to improve its performance) and executing (recompiling the code enabling further monitoring).
Similarly for software developers evaluating different deployment scenarios for the applications will need various installation configurations. For example, a developer models via UML the different deployment scenarios they wish to evaluate for potential use in a production environment. After which, these models are translated into descriptions, e.g. XML that can be processed into deployable virtual format artefacts.
In both cases image construction is required prior to the application deployment scenario which is realised as a collection of Virtual Machines (VMs) containing application components. To the best of our knowledge, no current software solution provides capabilities to both generate base images that contain a functional operating system and install and configure a cloud application automatically. This therefore provides the opportunity to create multiple different configurations of an application, where these different deployment configurations can be exploited, by selecting the most appropriate configuration to serve the required system load while saving energy. For comparison, a tool such as Packer  can be used to create golden images for multiple platforms from a single source configuration but does not provide support for the automated installation of software into these images. Another example tool such as Vagrant  enables software development teams to create identical development environments but does not provide a mechanism to automate the deployment of software into these environments.
A Virtual Machine Image Constructor (VMIC) is therefore key to support adaptive software development processes in an energy-aware SaaS architecture. Such component implements the automation of image construction that would otherwise make the burden and cost too high of considering iteratively adapting an application to use less energy in the software development stage through incremental out-of-band (of normal application operation) test based deployment scenarios. In addition to this, the VMIC is considered as an important contribution from the perspective of Software Engineering filling the gap between generating base images in cloud computing and automatic configuration of cloud applications. This component supports the energy efficiency goal within the cloud architecture by providing means of packaging cloud applications in a way that enables provider agnostic deployment, while maintaining energy awareness.
The detailed architecture of a SaaS layer component that facilitates an energy aware and efficient cloud development methodology.
The results of a performance evaluation and feasibility study of the VMIC tool for the construction of cloud application components.
Our practical experience during implementation and recommendations on enhancing the performance of the tool.
The remainder of the paper is structured as follows: “Related work” section reviews the literature on energy-aware cloud computing. “Energy efficient cloud architecture” section describes the proposed architecture to support energy-awareness with emphasis on the importance of the SaaS layer for facilitating energy efficiency in cloud applications. “Cloud engineering” section explains our vision of a self-adaptive development life-cycle and how this can enable energy aware cloud application construction through our VMIC tool. “Experimental design” section presents the experimental design where we evaluate the performance of the VMIC tool, and “Results and recommendations” section discusses the results. Finally, “Conclusion” section provides a conclusion on this paper and discusses plans for future work.
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 with energy requirements as well as product line oriented techniques to model and reason about system configuration [6, 7]. In terms of software design in relation to energy consumption, some research efforts relate energy awareness and optimization at the application and system level , focus on profiling the application’s energy consumption at runtime to iteratively narrow down on energy hot spots , or considers cloud architecture patterns to achieve greener business processes . 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 . 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 [12, 13], 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 . 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 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 .
Configuration management tools provide four core benefits to managing the cloud. These are i) the reproducibility and industrialization of software configuration, ii) the continuous vigilance over running systems with automated repairs and alert mechanisms, iii) enhanced control over and rationalisation of large scale deployments and iv) the ability to build up a knowledge base to document and trace the history of a system as it evolves. The most well know tools include CFEngine, Puppet and Chef.
CFEngine  provides automated configuration management for large networked systems and can be deployed to manage various infrastructure such as servers, desktops and mobile/embedded devices. It uses decentralised, autonomous software agents to monitor, repair and update individual machines. CFEngine central concept is the idea of convergence , where the final desired state of the system is described instead of the steps needed to get there. This enables CFEngine to run whatever the initial state of the system is with predictable end results. The downside of this approach is that only statistical compliance or best effort can be achieved with a given configuration policy, where by a system cannot be guaranteed to end up at a desired state but slowly converges at a rate defined by the ratio of environmental change to the rate at which CFEngine executes. Puppet  was forked from CFEngine and provides graph and model driven approaches to configuration management, through a simplified declarative domain specific language that was designed to be human readable.
Chef , a fork of Puppet, places emphasis on starting up services from newly provisioned clean systems, where the sequence and execution of configuration tasks is fixed and known by the user. This makes Chef particularly well suited to the paradigm of cloud computing where VM instances are short lived and new instances are spawned from a newly provisioned base image. Chef uses the analogy of cooking and creates “recipes” that are bundles of installation steps or scripts to be executed.
The Open Virtualization Format (OVF) is an open standard for defining, packaging and distributing virtual appliances that can run virtualized on a cloud . Its use as part of a service descriptor to define the requirements of an applications is not new and has been implemented within the OPTIMIS Toolkit , where an OVF fragment resides in a non-standard XML based service manifest schema. One issue with this approach is the impact on interoperability with cloud providers that need to support this schema to enable application deployment. This compared to the solution that is presented in this paper where a pure OVF document is used, extended and implemented according to the capabilities of the OVF Specification version 1.1.1, makes our solution 100% compliant with cloud providers and technologies that already support OVF.
In this paper, the proposed software tool provides capabilities to both generate base images that contain a functional operating system and install and configure a cloud application automatically. This sits alongside previous work [14, 22] that allows for the contextualisation and recontextualisation of virtual machines, so that the environment can be reconfigured dynamically at runtime, leading to a dynamic reconfigurable environment. This is key to support: 1) adaptive software development processes in a cloud architecture, and 2) the energy efficiency goal within the architecture by providing means of packaging cloud applications in a way that enables provider agnostic deployment, while maintaining energy awareness.
Collectively the automated configuration and reconfiguration of cloud applications, along with enhanced energy awareness of the different deployment solutions gives rise to the possibility of performing energy saving techniques. These techniques can be quite expansive such as: consolidation , horizontal and vertical scaling and the usage of DVFS  and RAPL .
In the SaaS layer, illustrated by Fig. 1, a set of components and tools 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. The Requirements and Design Modelling Plug-in provides developers with tools to aid in is based on the energy aware modelling of an application, while the Code Optimiser Plug-in provides offline functionality to profiler an application’s energy consumption during development. The Programming Model Plug-in is based on COMPSs  and provides an interface to the developer to create applications that follow the energy aware programming model . Finally the Deployment Experiment Manager Plug-in, helps to associate the outputs of the SaaS Modelling tools with the workloads and the energy-aware architecture.
A number of packaging components and tools are also made available to enable cloud provider agnostic deployment of the constructed cloud application, while also maintaining energy awareness. The Virtual Machine Image Constructor (VMIC) tool is responsible for fabricating the images and included software needed to deploy an application, which is in turn handled by the Application Uploader Plug-in, which uploads a packaged application created in the SaaS SDK layer to the Application Manager at the PaaS layer. The VM Image Constructor communicates with both the Programming Model Plug-in and Application Packager Plug-in for the installation of the programming model runtime and for packaging more traditional cloud applications into base images.
The PaaS layer, illustrated by Fig. 2, 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, stored as OVF properties, and tailoring the application to the selected provider’s hardware environment. Application level monitoring is also accommodated for here, in addition to support for Service Level Agreement (SLA) negotiation.
In the IaaS layer, illustrated by Fig. 3, the admission, allocation and management of virtual resource are performed through the orchestration of a number of components. The Virtual Machine Manager (VMM) is responsible for managing the complete life cycle of the VMs that are deployed in a specific infrastructure provider. 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. The Energy Awareness provision is an important step in the architecture implementation plan as it concentrates on delivering energy awareness in all system components. Monitoring and metrics information is measured at IaaS level and propagated through the various layers of the cloud stack (PaaS, SaaS) via the use of a OVF document.
Intra layer adaptation: refers to local layer adaptation in isolation. 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.
Inter layer adaptation: the aim is to achieve steering information among cloud layers for triggering other layers to adapt their energy mode, the focus being information sharing and decision making among SaaS, PaaS and IaaS layers.
The key research challenge is the ability to take adaptive actions based upon energy consumption, performance and cost factors within each layer of the architecture and examine the effect that these have upon the running applications. Self-adaptive cloud-based software applications can be realized via a MAPE (Monitor, Analyse, Plan and Execute) feedback control loop architecture . The cloud stack adaptation is then tailored for the Self-Adaptation Manager that manages applications at runtime and maintains performance and energy efficiency at the PaaS (Fig. 2) and IaaS (Fig. 3) layers, respectively. This is the subject of continued work .
Cloud engineering plays an important role in the context of creating energy efficient application development. Automation of cloud engineering tasks such as out of band testing and automated deployment are also necessary to gain full benefits from a cloud provider. In this section we discuss the importance of a self-adaptive development life-cycle that considers application energy consumption while maintaining other more traditional quality aspects of software such as performance at an acceptable level.
Towards a self-adaptive development life-cycle
To enable energy awareness in cloud applications, a self-adaptive software development methodology that considers energy at each stage: requirements gathering, software construction and testing is a necessity. Self-adaptation in this context refers to the ability to provide feedback in the form of energy metrics that guide a developer within an iterative development process towards an optimal energy efficient software solution. For any such methodology to exist a number of tools must be available to reduce the burden of energy consumption optimization. This is where the SaaS layer components of the architecture presented in ‘Energy efficient cloud architecture” section can reduce time-to-market of cloud applications through the automation of standard developer practices, enabling quicker feedback on energy efficiency and more development iterations. Some of the more time consuming and challenging aspects of developing a cloud Application are the construction of VM images and installation of software dependencies. This is where the work on the VMIC is positioned. This tool manages software dependency installation and creates cloud provider agnostic VM images in an automated fashion, reducing developer effort.
Cloud application construction - VMIC
The VMIC can operate in two modes, offline and online. The first phase of the VMIC automation process copies an appropriate base image such as a variant of Linux or Windows. After copying, depending on the nature of the packages to be installed, it either mounts the image using qemu-nbd  (offline mode) or instantiates it remotely (online mode) using libvirt . During offline mode packages are placed into the Web root of a pre-installed tomcat container and is primarily used by the Programming Model Plug-in. In online mode, a locally running Chef  configuration management server is used to issue Chef recipes to the base VM that contains configuration information, package repositories and packages to install. Finally after packages have been installed in the VM, the image is saved either by unmounting the image, as is the case with offline mode or by saving a snapshot of the base VM image to the local file system, as is the case in online mode. The image and its content can then be tested on a local infrastructure or passed to the PaaS layer for future deployment on an IaaS provider.
These two modes of operation cover the necessary features and functionality to enable support for both COMPSs  enabled applications (packaged as Java Tomcat Web Services) invoked via the Programming Model Plug-in and more generic cloud applications (such as a n-tier web application) invoked via the Application Packager Plug-in, while minimising the time to create an image. The remainder of this paper concentrates on the more flexible and challenging online mode.
- 1.Initialise - The OVF document passed to the VMIC is parsed for VM components attributes and their associated Chef cookbooks that contain recipes (instructions for installing software written in a domain specific language).
Copy Image - For every component and the given image type parsed from the OVF, the VMIC selects and copies an appropriate base image.
Boot Image - Using libvirt the baseline image selected is instantiated via a hypervisor such as KVM .
Bootstrap Image - Once the instantiated VM’s operating system has initialised, the VMIC bootstraps a Chef Client either via Secure Shell (Linux) or Windows Remote Management, registering it with a local Chef server.
Upload Cookbooks - The VMIC downloads cookbooks from URLs parsed from the OVF that reside on a remote repository running on a Web server. These cookbooks are then uploaded to the local Chef Server.
Deploy Cookbooks - The VMIC associates the uploaded Chef cookbooks with the instantiated VM within the Chef Server and invokes the Chef Client to download and install the cookbooks.
Clean Up - After installation is complete, the VMIC shuts down the instantiated VM and deletes the uploaded cookbooks.
To evaluate the feasibility of the VMIC architecture and the construction phases as outlined previously, the following section discusses the experimental design to test the performance of the VMIC tool. “Cloud testbed” subsection discusses the cloud testbed used for the experimentation and the environment in which the VMIC was deployed. “Cloud application & experimental set-up” subsection describes the cloud application used to test the VMIC and the experimental set-up that includes a description of variables monitored.
Cloud application & experimental set-up
NewsAsset application software dependencies
Chef cookbook to manage CPU related actions on linux.
Installs packages required for compiling C software from source.
Installs haproxy and prepares the configuration location.
Distribute and enable Chef Exception and Report handlers
Provides a set of useful Windows-specific primitives.
Custom cookbook to install a NewsAsset application server, its.Net dependencies and a monitoring probe
Distribute and enable Chef Exception and Report handlers
Provides a set of useful Windows-specific primitives.
Custom cookbook to install a Oracle DB server and NewsAsset application server scheme
Custom cookbook to configure CIFS based SMB share
The first evaluates the performance of each VMIC phase through the construction of the single image containing the application server component, the independent variable. Dependent variables in this experiment are the fine grained resource utilities of the ASCETiC SaaS VM: CPU utility and network bandwidth.
The second evaluates the runtime performance (execution time) of the VMIC. Linux and Windows components are compared, in addition to the time to generate all News Asset images over 10 consecutive runs.
In the third, the runtime performance of the VMIC is evaluated with a range (1−4) of concurrently generated HAProxy Linux based images again over 10 consecutive runs.
Finally, the fourth demonstrates the VMIC’s capabilities to aid in the deployment of NewsAsset energy aware application thanks to monitoring its power consumption.
The following section discusses the performance of the VMIC by presenting an analysis of the experimental results and illustrating adequate performance of its tool implementation.
Reviewing the network bandwidth consumption of the VMIC reveals that the copy of the base image is restricted by the available disk bandwidth over the network (a limitation of the testbed’s 1 Gbit network to the Ceph cluster), while the deployment of the cookbooks phase is limited by disk I/O. It is recommended that the use of 10 Gbit Ethernet or better and SSD backed storage would dramatically reduce the time to generate images (recommendation 1). Furthermore, due to mainly sequential installation processes of the NewsAsset application server, CPU utilization of the VMIC tool is mainly limited to 1 core. Given that the dependency graphs of most software are sequential in nature, we recommend that the VMIC tool be deployed on a machine with the best single thread performance, to reduce runtime further (recommendation 2). Finally, the installation of the Chef Client as part of the bootstrapping process could be omitted, if the base images used come with this pre-installed at the expense of additional developer time (recommendation 3).
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 and developing software at the different layers of the cloud stack while maintaining other quality aspects of software to adequate and agreed levels.
We discussed our practical experience during implementation of architectural components relevant to cloud application construction emphasising on automatic image construction, and presented a performance evaluation. The results show that the performance of VM construction is primarily limited by available network and disk I/O. However, for the purpose of a self-adaptive development life-cycle that considers energy awareness the time to generate application components is more than adequate.
Overall, the VMIC is interoperable with cloud providers and technologies that support OVF. It manages software dependency installation and creates cloud provider agnostic VM images in an automated fashion, reducing development effort. Finally, it is shown to be effective through the experimental evaluation of its implementation and is already integrated in a cloud computing toolkit.
Future work on the VMIC will include exploring the integration of third party baseline technologies for the creation of base (master) images such as Vagrant. Integration work will consider the use of containers with the image construction process used in the VMIC such as Docker . We will also consider optimising the energy efficiency of the build process by using DVFS and RAPL policies during the copy-image phase given that it is I/O-bound and can be seen as a possible source of energy saving. This is in addition to research into intra and inter layer adaptation for the purpose of coordinating the layers of the architecture presented in this paper to further increase cloud application energy efficiency.
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.
All authors read and approved the final manuscript.
The authors declare that they have no competing interests.
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Open Access This article is distributed under the terms of the Creative Commons Attribution 4.0 International License (http://creativecommons.org/licenses/by/4.0/), which permits unrestricted use, distribution, and reproduction in any medium, provided you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons license, and indicate if changes were made.
- Pawlish M, Varde AS, Robila SA (2012) Cloud Computing for Environment-friendly Data Centers In: Proceedings of the Fourth International Workshop on Cloud Data Management, CloudDB ’12, 43–48.. ACM, New York.View ArticleGoogle Scholar
- Mastelic T, Oleksiak A, Claussen H, Brandic I, Pierson J-M, Vasilakos AV (2014) Cloud computing: Survey on energy efficiency. ACM Comput Surv 47(2): 33:1–33:36.View ArticleGoogle Scholar
- Grech N, Georgiou K, Pallister J, Kerrison S, Morse J, Eder K (2015) Static analysis of energy consumption for llvm ir programs In: Proceedings of the 18th International Workshop on Software and Compilers for Embedded Systems. SCOPES ’15, 12–21.. ACM, USA.View ArticleGoogle Scholar
- (2016) Packer - Identical Machine Images for Multiple Platforms. https://www.packer.io/.
- (2016) Vagrant - Development Environments Made Easy. https://www.vagrantup.com/.
- Götz S, Wilke C, Cech S, Aßmann U (2011) Runtime variability management for energy-efficient software by contract negotiation In: Proceedings of the 6th International Workshop on Models@run.time, New Zealand.Google Scholar
- Hilty L, Lohmann W (2011) The Five Most Neglected Issues in “Green IT”. CEPIS UPGRADE12(4): 11–15.Google Scholar
- te Brinke S, Malakuti S, Bockisch C, Bergmans L, Aksit M (2013) A design method for modular energy-aware software. In: Shin SY Maldonado JC (eds)Procedings of the 28th Annual ACM Symposium on Applied Computing (SAC’2013, 1180–1182.. ACM, New York.View ArticleGoogle Scholar
- Grosskop K, Visser J (2013) Identification of Application-level Energy Optimizations. In: Hilty LM (ed)Proceedings of the First International Conference on Information and Communication Technologies for Sustainability (ICT4S’2013), Switzerland.Google Scholar
- Nowak A, Leymann F (2013) Green Business Process Patterns - Part II (Short Paper) In: 6th IEEE International Conference on Service-Oriented Computing and Applications, 168–173.. IEEE, Hawaii.Google Scholar
- Hönig T, Eibel C, Preikschat WS, Cassens B, Kapitza R (2013) Proactive energy-aware system software design with seep In: Proceedings of the 2nd Workshop on Energy Aware Software-Engineering and Development, 1–2.. GI Softwaretechnik-Trends.Google Scholar
- Klingert S, Berl A, Beck M, Serban R, Girolamo M, Giuliani G, Meer H, Salden A (2012) Sustainable Energy Management in Data Centers through Collaboration In: Energy Efficient Data Centers, 13–24.. volume 7396 of Lecture Notes in Computer Science, Springer Berlin Heidelberg.View ArticleGoogle Scholar
- Mammela O, Majanen M, Basmadjian R, Meer H, Giesler A, Homberg W (2012) Energy-aware job scheduler for high-performance computing. Comput Sci Res Dev 27(4): 265–275.View ArticleGoogle Scholar
- Armstrong D, Espling D, Tordsson J, Djemame K, Elmroth E (2015) Contextualization: dynamic configuration of virtual machines. J Cloud Comput 4(1): 1–15. 10.1186/s13677-015-0042-8, http://dx.doi.org/10.1186/s13677-015-0042-8.View ArticleGoogle Scholar
- Beloglazov A, Abawajy J, Buyya R (2012) Energy-aware resource allocation heuristics for efficient management of data centers for Cloud computing. Futur Gener Comput Syst 28(5): 755–768.View ArticleGoogle Scholar
- (2016) CFEngine 3 - Configuration Management Software for Agile System Administrators. http://cfengine.com/.
- Burgess M (2004) Configurable immunity for evolving human computer systems. Sci Comput Program 51(3): 197–213.MathSciNetView ArticleMATHGoogle Scholar
- (2016) Puppet - IT Automation for System Administrators. http://puppetlabs.com/.
- (2016) Chef - A Systems Integration Framework. http://wiki.opscode.com/display/chef/Home.
- (2015) Open Virtualization Format (OVF) - A standard from the Distributed Management Task Force. http://www.dmtf.org/standards/ovf.
- (2015) OPTIMIS Toolkit. http://optimistoolkit.com.
- Armstrong D, Espling D, Tordsson J, Djemame K, Elmroth E (2013) Runtime Virtual Machine Recontextualization for Clouds In: Euro-Par 2012: Parallel Processing Workshops, 567–576.. Springer Berlin Heidelberg, Rhodes Islands.View ArticleGoogle Scholar
- Srikantaiah S, Kansal A, Zhao F (2008) Energy aware consolidation for cloud computing In: Proceedings of the 2008 Conference on Power Aware Computing and Systems, HotPower’08, 10–10.. USENIX Association, Berkeley.Google Scholar
- Choi K, Soma R, Pedram M (2004) Fine-grained dynamic voltage and frequency scaling for precise energy and performance trade-off based on the ratio of off-chip access to on-chip computation times In: Proceedings Design, Automation and Test in Europe Conference and Exhibition, 4–9.. IEEE Computer Society, Washington. doi:10.1109/DATE.2004.1268819.View ArticleGoogle Scholar
- Rotem E, Naveh A, Ananthakrishnan A, Weissmann E, Rajwan D (2012) Power-Management Architecture of the Intel Microarchitecture Code-Named Sandy Bridge. IEEE Micro 32(2): 20–27.View ArticleGoogle Scholar
- Djemame K, Armstrong D, Kavanagh RE, Ferrer AJ, Perez DG, Antona DR, Deprez J-C, Ponsard C, Ortiz D, Macías M, Guitart J, Lordan F, Ejarque J, Sirvent R, Badia RM, Kammer M, Kao O, Agiatzidou E, Dimakis A, Courcoubetis C, Blasi L (2014) Energy Efficiency Embedded Service Lifecycle: Towards an Energy Efficient Cloud Computing Architecture In: Proceedings of the Energy Efficient Systems (EES’2014) Workshop, 1–6.. CEUR Workshop Proceedings, Stockholm. http://ceur-ws.org/Vol-1203/EES-paper1.pdf.Google Scholar
- Badia RM, Conejero J, Diaz C, Ejarque J, Lezzi D, Lordan F, Ramon-Cortes C, Sirvent R (2015) Comp superscalar, an interoperable programming framework. SoftwareX 3: 32–36.View ArticleGoogle Scholar
- Lordan F, Ejarque J, Sirvent R, Badia RM (2016) Energy-aware programming model for distributed infrastructures In: Proceedings of the 24th Euromicro International Conference on Parallel, Distributed, and Network-Based Processing (PDP 2016).. IEEE, Greece.Google Scholar
- Farokhi S, Jamshidi P, Brandic I, Elmroth E (2015) Self-adaptation challenges for cloud-based applications: a control theoretic perspective In: Proceedings of the 10th International Workshop on Feedback Computing.. ACM, USA.Google Scholar
- Djemame K, Kavanagh R, Armstrong D, Lordan F, Ejarque J, Macias M, Sirvent R, Guitart J, Badia RM (2016) Energy efficiency support through intra-layer cloud stack adaptation In: Proceedings of the 13th International Conference on Economics of Grids, Clouds, Systems and Services (GECON’2016).. Springer, Greece.Google Scholar
- (2016) QEMU - Open Source Machine Emulation and Virtualizer. http://www.qemu.org.
- Bolte M, Sievers M, Birkenheuer G, Niehorster O, Brinkmann A (2010) Non-intrusive Virtualization Management using libvirt In: 2010 Design, Automation & Test in Europe Conference & Exhibition, 574–579.. Piscataway, USA.View ArticleGoogle Scholar
- Kivity A, Kamay Y, Laor D, Lublin U, Liguori A (2007) KVM: The Linux Virtual Machine Monitor In: Proceedings of the Linux Symposium, 225–230, Canada.Google Scholar
- (2015) OpenStack: Open source software for building private and public clouds. http://www.openstack.org/.
- (2015) Zabbix - An Enterprise-class Monitoring Solution. http://www.zabbix.com/.
- (2013) GEMBIRD Deutschland GmbH. EGM-PWM-LAN data sheet. http://gmb.nl/Repository/6736/EGM-PWM-LAN_manual---7f3db9f9-65f1-4508-a986-90915709e544.pdf.
- (2016) ASCETiC. Adapting Service lifeCycle towards EfficienT Clouds. http://www.ascetic.eu/.
- (2016) Newsasset Agency. http://www.newsasset.com/.
- (2016) Oracle Database. https://www.oracle.com/database/index.html.
- (2015) HAProxy - A Reliable, High Performance TCP/HTTP Load Balancer. http://www.haproxy.org/.
- Docker Inc (2017) Docker - Homepage. https://www.docker.com/.