Cloud Computing: Survey on Energy Efficiency <s> Compilers. <s> Virtualization is often used in cloud computing platforms for its several advantages in efficiently managing resources. However, virtualization raises certain additional challenges, and one of them is lack of power metering for virtual machines (VMs). Power management requirements in modern data centers have led to most new servers providing power usage measurement in hardware and alternate solutions exist for older servers using circuit and outlet level measurements. However, VM power cannot be measured purely in hardware. We present a solution for VM power metering, named Joulemeter. We build power models to infer power consumption from resource usage at runtime and identify the challenges that arise when applying such models for VM power metering. We show how existing instrumentation in server hardware and hypervisors can be used to build the required power models on real platforms with low error. Our approach is designed to operate with extremely low runtime overhead while providing practically useful accuracy. We illustrate the use of the proposed metering capability for VM power capping, a technique to reduce power provisioning costs in data centers. Experiments are performed on server traces from several thousand production servers, hosting Microsoft's real-world applications such as Windows Live Messenger. The results show that not only does VM power metering allows virtualized data centers to achieve the same savings that non-virtualized data centers achieved through physical server power capping, but also that it enables further savings in provisioning costs with virtualization. <s> BIB001 </s> Cloud Computing: Survey on Energy Efficiency <s> Compilers. <s> Cloud computing is characterized today by a hotchpotch of elements and solutions, namely operating systems running on a single virtualized computing environment, middleware layers that attempt to combine physical and virtualized resources from multiple operating systems, and specialized application engines that leverage a key asset of the cloud service provider (e.g. Google's BigTable). Yet, there does not exist a virtual distributed operating system that ties together these cloud resources into a unified processing environment that is easy to program, flexible, scalable, self-managed, and dependable. In this position paper, we advocate the importance of a virtual distributed operating system, a Cloud OS, as a catalyst in unlocking the real potential of the Cloud-a computing platform with seemingly infinite CPU, memory, storage and network resources. Following established Operating Systems and Distributed Systems principles laid out by UNIX and subsequent research efforts, the Cloud OS aims to provide simple programming abstractions to available cloud resources, strong isolation techniques between Cloud processes, and strong integration with network resources. At the same time, our Cloud OS design is tailored to the challenging environment of the Cloud by emphasizing elasticity, autonomous decentralized management, and fault tolerance. <s> BIB002 </s> Cloud Computing: Survey on Energy Efficiency <s> Compilers. <s> SlapOS is an open source grid operating system for distributed cloud computing based on the moto everything is a process. SlapOS combines grid computing and Enterprise Resource Modeling (ERP) to provide Infrastructure as a Service (IaaS), Platform as a Service (PaaS) and Software as a Service (SaaS) through a simple, unified API which one can learn in a matter of minutes. Thanks to its unified approach and modular architecture, SlapOS has been used as a research test bed to benchmark NoSQL databases and optimize process allocation over intercontinental Cloud. SlapOS opens new perspectives for research in the area of resilience and security on the Cloud. <s> BIB003 </s> Cloud Computing: Survey on Energy Efficiency <s> Compilers. <s> In this paper we present an overview of the CoolEmAll project which addresses the important problem of data center energy efficiency. To this end, CoolEmAll aims at delivering advanced simulation, visualization and decision support tools along with open models of data center building blocks to be used in simulations. Both building blocks and the toolkit will take into account aspects that have major impact on actual energy consumption such as cooling solutions, properties of applications, and workload and resource management policies. In the paper we describe the CoolEmAll approach, its expected results and an environment for their verification. <s> BIB004 </s> Cloud Computing: Survey on Energy Efficiency <s> Compilers. <s> Emerging cloud computing has caused data centers consume more energy and therefore there is more CO2 emission. Using resources more efficiently can help reducing energy consumption in data centers. There are different hardware and software solutions and technologies such as virtualization, using hardware with lower energy consumption, and implementing efficient software algorithms to optimize energy consumption. Considering new architectural approaches in softwares which are run on the cloud is one of the most important methods to achieve green cloud computing. A Software can be implemented as a set of loosely coupled services and components that can be shared between different softwares. This paper proposes an energy-aware layer in software architecture that is responsible for evaluating micro-metrics and macro-metrics of energy consumption in data centers and then makes services to migrate to hosts consuming energy more efficiently. <s> BIB005 </s> Cloud Computing: Survey on Energy Efficiency <s> Compilers. <s> Due to high energy costs, fine-grained power consumption accounting and capability of making users of High Performance Computing (HPC) clusters aware of the cost of their computation is becoming more and more important. Hardware power measurement solutions can be very expensive, hence the appeal of software-based estimation methods. In this paper we present a practical approach to power consumption estimation of both individual application executions and whole computing nodes. We compare it to existing state-of-the-art solutions, provide accuracy figures, and discuss possible deployment scenarios. Highlights? We explore existing methods for measuring HPC machine power use. ? We propose general method for software estimation of power consumption. ? We discuss both application and machine-level power estimation. ? We provide practical application scenarios for both methods. <s> BIB006
6.2.3. Application Monitoring. To improve the energy efficiency of appliances, their power usage must be monitored. Identifying the consumption of particular applications is a nontrivial problem, and attempts have been made to do this. For example, PowerTOP is a utility created by Intel that monitors a system and reports to the user which processes are responsible for wakeups that prevent a CPU from entering a sleep state. Other tools that could be used to estimate application power usage are Joulemeter BIB001 and ectop, developed within the scope of the CoolEmAll project BIB004 . There are also approaches to estimate power usage of servers based on specific characteristics of executed applications, such as those presented in BIB006 . These solutions additionally allow users to identify which combination of application classes and hardware configurations is the most efficient. They focus more on HPC applications, but this is consistent with a current hot topic: HPC in the cloud and moving scientific applications to the cloud. Additionally, a similar methodology could be applied to cloud applications. Some attempts to do this were featured in projects such as Hemera [2013] and Magellan [2013] . BIB005 proposes an energy-aware software layer for more efficient energy usage. It collects micro-and macrometrics in order to efficiently use and deploy shared services in a shared cloud infrastructure. 6.2.4. Application Platforms. Studies have shown that a common situation in today's software is that a substantial amount of power is being consumed while system utilization is low. For example,a typical blade server can consume 50% of its peak power at only 10% of its utilization. Examples of overheads related to system monitoring are presented in  who indicate that an event-based architecture in which nodes are only contacted when they are needed to do some work would be more efficient in terms of power consumption but may suffer from poor performance or inaccurate information reporting. Engineers must examine tradeoffs of this type, and, if possible, implementations should be modified to suit system requirements. Energy consumption overheads are related most often to monitoring, virtualization (addressed in the previous section), and operating systems, which are often responsible for significant power usage compared to the appliance itself. Therefore, substantial effort was invested into research on distributed cloud operating systems BIB002 BIB003 . Nevertheless, their overhead and energy-efficiency characteristics should be studied in more detail.