Conference Paper
To read the full-text of this research, you can request a copy directly from the authors.

Abstract

Power estimation of software processes provides critical indicators to drive scheduling or power capping heuristics. State-of-the-art solutions can perform coarse-grained power estimation in virtualized environments, typically treating virtual machines (VMs) as a black box. Yet, VM-based systems are nowadays commonly used to host multiple applications for cost savings and better use of energy by sharing common resources and assets. In this paper, we propose a fine-grained monitoring middleware providing real-time and accurate power estimation of software processes running at any level of virtualization in a system. In particular, our solution automatically learns an application-agnostic power model, which can be used to estimate the power consumption of applications. Our middleware implementation, named BitWatts, builds on a distributed actor implementation to collect process usage and infer fine-grained power consumption without imposing any hardware investment (e.g., power meters). BitWatts instances use high-throughput communication channels to spread the power consumption across the VM levels and between machines. Our experiments, based on CPU- and memory-intensive benchmarks running on different hardware setups, demonstrate that BitWatts scales both in number of monitored processes and virtualization levels. This non-invasive monitoring solution therefore paves the way for scalable energy accounting that takes into account the dynamic nature of virtualized environments.

No full-text available

Request Full-text Paper PDF

To read the full-text of this research,
you can request a copy directly from the authors.

Supplementary resource (1)

... 1) A formalisation of the SPUE metric, which has been mentioned by [2], but never properly defined, 2) The introduction of xPUE as a family of new and complementary PUE metrics to cover all the software layers of cloud infrastructures, 3) The implementation of xPUE metrics using the POW-ERAPI framework [5], 4) The study of xPUE metrics across multiple cloud deployments to deliver insightful feedback on the key factors impacting the Power Usage Effectiveness of cloud infrastructures. ...
... vP U E = Energy(hardware) Energy(software) (5) where hardware (taken from Equation 4) refers to all the server components required to operate the software hosted by the considered cloud platform. The list of included software covers all the processes running on the hosting server, which encompass the operating system, the cloud platform, as well as other daemon processes that can be deployed by the cloud operator. ...
... The implementation of the xPUE metrics requires reporting power measurements at a finer granularity than a power outlet. While any software-defined power meter, like SCAPHANDRE 5 or KEPLER, 6 can be used to implement the xPUE metrics we propose, we leverage the POWERAPI toolkit [5], [9] to implement the runtime support xPUE. ...
Preprint
The energy consumption analysis and optimization of data centers have been an increasingly popular topic over the past few years. It is widely recognized that several effective metrics exist to capture the efficiency of hardware and/or software hosted in these infrastructures. Unfortunately, choosing the corresponding metrics for specific infrastructure and assessing its efficiency over time is still considered an open problem. For this purpose, energy efficiency metrics, such as the Power Usage Effectiveness (PUE), assess the efficiency of the computing equipment of the infrastructure. However, this metric stops at the power supply of hosted servers and fails to offer a finer granularity to bring a deeper insight into the Power Usage Effectiveness of hardware and software running in cloud infrastructure.Therefore, we propose to leverage complementary PUE metrics, coined xPUE, to compute the energy efficiency of the computing continuum from hardware components, up to the running software layers. Our contribution aims to deliver realtime energy efficiency metrics from different perspectives for cloud infrastructure, hence helping cloud ecosystems-from cloud providers to their customers-to experiment and optimize the energy usage of cloud infrastructures at large.
... These tools have primarily focused on usability, accessibility, and the interpretability of their outputs, but they do not aim for fine-grained energy attribution. Specifically, they either assume that the measured application is not collocated with other tasks, treating the total energy consumption of the host machine as that of the target application, or they use coarse-grained energy attribution models at the process level [11,53] and do not consider NUMA effects in case of multiple CPU sockets ( §2). Moreover, these tools do not update the traced subtasks of the target application reactively, which is problematic since processes and threads can be created and deleted at runtime. ...
... While being an inherent tradeoff between granularity and cost, this drawback could be mitigated through a more optimized implementation of the proposed attribution model. For example, the importance of various counter values differs by specific use cases [11], and in turn, they should be sampled at different granularity to reduce the overhead. Lastly, validating fine-grained energy attribution model remains to be a prominent challenge. ...
... total ) ← Total available NUMA memory on(11) ...
Preprint
In the post-Moore's Law era, relying solely on hardware advancements for automatic performance gains is no longer feasible without increased energy consumption, due to the end of Dennard scaling. Consequently, computing accounts for an increasing amount of global energy usage, contradicting the objective of sustainable computing. The lack of hardware support and the absence of a standardized, software-centric method for the precise tracing of energy provenance exacerbates the issue. Aiming to overcome this challenge, we argue that fine-grained software energy attribution is attainable, even with limited hardware support. To support our position, we present a thread-level, NUMA-aware energy attribution method for CPU and DRAM in multi-tenant environments. The evaluation of our prototype implementation, EnergAt, demonstrates the validity, effectiveness, and robustness of our theoretical model, even in the presence of the noisy-neighbor effect. We envisage a sustainable cloud environment and emphasize the importance of collective efforts to improve software energy efficiency.
... To get rid of the hardware cost imposed by the above solutions, the design of power models has been regularly considered by the research community over the last decade, in particular for CPU [6,12,32,41,56]. Notably, as most architectures do not provide fine-grained power measurement capabilities, McCullough et al. [41] argue that power models are the first step towards enabling dynamic power management for power proportionality at all levels of a system. ...
... The workloads used along the training phase have to be carefully selected to capture the targeted system. In this domain, many benchmarks have been considered, but they are mostly a) designed for a given architecture [7,29], b) manually selected [9,12,14,17,38,[58][59][60], or even c) private [60]. Unfortunately, this often leads to the design of power models that are tailored to a given processor architecture and manually tuned (for a limited set of power-aware features) [7,9,29,38,39,58,60,52]. ...
... BITWATTS [12] is a monitoring middleware providing real-time power estimations of software processes running at any level of virtualization in a system. BITWATTS includes a power model that computes a polynomial regression for each frequency supported by the CPU (including Turbo Boost frequencies). ...
Thesis
Energy is one of the biggest expenses for a data center, most of which is attributed to the cooling system, as well as the many underlying parts, such as network equipment and the large number of machines used.These infrastructures are very energy-intensive, and their number is constantly increasing around the world, especially due to the growing popularity of the Cloud Computing.A lot of software is needed to run these infrastructures, especially for network management, data storage, task scheduling and the supervision of all hardware and software.All these software consumes a significant amount of energy, but are not taken into account in the calculation of the energy efficiency of the infrastructures.The scientific community as well as data center operators have developed many approaches to evaluate and optimize energy consumption globally, but the question of the energy cost of software infrastructures remains rarely studied.The objective of this thesis is to propose methods to analyze the end-to-end software energy efficiency of data processing infrastructures.To do so, we propose approaches and tools to accurately estimate the energy consumption of software running on a distributed infrastructure, as well as an indicator to calculate their energy efficiency.Firstly, we introduce SmartWatts, a software power meter to estimate the energy consumption of software containers deployed on a machine.Secondly, we propose SelfWatts, a controller to automate the configuration of software power meters to facilitate their deployment in heterogeneous infrastructures.And finally, we propose xPUE, a metric to calculate the energy efficiency of software and hardware in real-time at different levels of an infrastructure.Through these contributions, we aim to advance the knowledge in the field of software energy consumption, and allow to accurately measure the energy consumption of software deployed at different levels of the infrastructure.This allows infrastructure operators, as well as software developers and users, to observe and analyze in detail the energy consumption and thus assist in its optimization.
... This may result in inaccuracies in power estimations when facing unforeseen environments or workloads, thus affecting the exploitation process. As many distributed infrastructures, such as clusters or data centers, have to deal with the scheduling of unforeseen jobs, in particular when handling black-box virtual machines, we can conclude that the adoption of such static power models [5] has to be considered as inadequate in production. We therefore believe that the state-of-the-art in this domain should move towards the integration of more dynamic power models that can adjust themselves at runtime to better reflect the variation of the underlying workloads and to cope with the potential heterogeneity of the host machines. ...
... The deployment of SMARTWATTS in various environments, ranging from private clouds to distributed HPC clusters, demonstrates that SMARTWATTS can ensure accurate real-time power estimations (less than 3.5 % of error on average, at a frequency of 2 Hz) at the granularity of processes, containers and virtual machines. Interestingly, the introduction of sequential learning in software-defined power meters eliminates the learning phase, which usually last from minutes to hours or days, depending on the complexity of the hosting infrastructure [3], [5]. ...
... To get rid of the hardware cost imposed by the above solutions, the design of power models has been regularly considered by the research community over the last decade, in particular for CPU [5], [10]- [13]. Notably, as most architectures do not provide fine-grained power measurement capabilities, McCullough et al. [12] argue that power models are the first step towards enabling dynamic power management for power proportionality at all levels of a system. ...
Preprint
Fine-grained power monitoring of software activities becomes unavoidable to maximize the power usage efficiency of data centers. In particular, achieving an optimal scheduling of containers requires the deployment of software-defined power~meters to go beyond the granularity of hardware power monitoring sensors, such as Power Distribution Units (PDU) or Intel's Running Average Power Limit (RAPL), to deliver power estimations of activities at the granularity of software~containers. However, the definition of the underlying power models that estimate the power consumption remains a long and fragile process that is tightly coupled to the host machine. To overcome these limitations, this paper introduces SmartWatts: a lightweight power monitoring system that adopts online calibration to automatically adjust the CPU and DRAM power models in order to maximize the accuracy of runtime power estimations of containers. Unlike state-of-the-art techniques, SmartWatts does not require any a priori training phase or hardware equipment to configure the power models and can therefore be deployed on a wide range of machines including the latest power optimizations, at no cost.
... For learning approaches, the simplest approach is to utilize linear regression [29], as demonstrated in [8], [20], [30]. Tadesse et al. used polynomial regression in their container power model [30], which was also utilized in [31] in the context of general processes. SmartWatts [32] utilized ridge regression [33]. ...
... Dynamic power is the remaining part of the measured power after removing the idle power. Correspondingly, the container power model is trained by all running processes [31]. Some modeling approaches collect the power measurement before running the workload process, defined as idling background power. ...
Preprint
Full-text available
Estimating power consumption in modern Cloud environments is essential for carbon quantification toward green computing. Specifically, it is important to properly account for the power consumed by each of the running applications, which are packaged as containers. This paper examines multiple challenges associated with this goal. The first challenge is that multiple customers are sharing the same hardware platform (multi-tenancy), where information on the physical servers is mostly obscured. The second challenge is the overhead in power consumption that the Cloud platform control plane induces. This paper addresses these challenges and introduces a novel pipeline framework for power model training. This allows versatile power consumption approximation of individual containers on the basis of available performance counters and other metrics. The proposed model utilizes machine learning techniques to predict the power consumed by the control plane and associated processes, and uses it for isolating the power consumed by the user containers, from the server power consumption. To determine how well the prediction results in an isolation, we introduce a metric termed isolation goodness. Applying the proposed power model does not require online power measurements, nor does it need information on the physical servers, configuration, or information on other tenants sharing the same machine. The results of cross-workload, cross-platform experiments demonstrated the higher accuracy of the proposed model when predicting power consumption of unseen containers on unknown platforms, including on virtual machines.
... , and computing the schedule is ( ) (steps: [8][9][10][11]. The total complexity is O ( ...
... CarbonScaler currently focuses on CPU and GPU resources as they are 1) highly correlated with total energy consumption [25], 2) software tools such as (RAPL) [12] and nvidia-smi [37], are available on modern processors and GPUs. However, our accounting methods can be generalized to other server resources as shown in [7,10,15,25]. Such accounting techniques are vital for holistic carbon optimization since cloud service providers such as Microsoft [34] and AWS [33] are starting to offer basic carbon management capabilities. ...
Preprint
Full-text available
Cloud platforms are increasingly emphasizing sustainable operations in order to reduce their operational carbon footprint. One approach for reducing emissions is to exploit the temporal flexibility inherent in many cloud workloads by executing them in time periods with the greenest electricity supply and suspending them at other times. Since such suspend-resume approaches can incur long delays in job completion times, we present a new approach that exploits the workload elasticity of batch workloads in the cloud to optimize their carbon emissions. Our approach is based on the notion of carbon scaling, similar to cloud autoscaling, where a job's server allocations are varied dynamically based on fluctuations in the carbon cost of the grid's electricity supply. We present an optimal greedy algorithm for minimizing a job's emissions through carbon scaling and implement a prototype of our \systemName system in Kubernetes using its autoscaling capabilities, along with an analytic tool to guide the carbon-efficient deployment of batch applications in the cloud. We evaluate CarbonScaler using real-world machine learning training and MPI jobs on a commercial cloud platform and show that \systemName can yield up to 50\% carbon savings over a carbon agnostic execution and up to 35% over the state-of-the-art suspend resume policies.
... This can be done, as an example, with PowerAPI [25], which estimates the power consumed by the CPU, for a given process, using the CPU usage. Furthermore, PowerAPI proposes a middleware toolkit for defining software-level power meters, and several other energy and power estimation frameworks from the state of the art rely on it [43,137]. Compared to jRAPL, these frameworks rely on power models and are not impacted by the system consumption. ...
... Using this early feedback, software engineers can perform design choices aimed at energy efficiency, e.g. using the right data structures depending on the context, avoiding energy-consuming code smells [39,100,135,150,158]. In particular, many tools have been developed for measuring and estimating the energy consumption at the software and middleware levels [25,43,116,136,163,180]. Existing approaches from literature address the energy consumption of general-purpose programming languages instructions, e.g. based on LLVM IR [77], Android Bytecode [80], or System call traces [2]. ...
Thesis
Model-Driven Engineering (MDE) is a process that promotes models as the central key element for all phases in a software development lifecycle. Improving the quality of a software at design time can be done by performing analysis on the model it is designed with. Performing static analysis on models is extremely common during development phases, however the limited possibilities of dynamic analysis in models prevents early improvements of software and system. This lack of dynamic analysis options is especially important in the context of energy aware software engineering: good design choices must be done early in the development cycle to optimize the energy consumption. In this thesis we propose several approaches for performing dynamic analysis on models. A first contribution injects execution traces into source code model, and a second one generates monitoring application of cyber-physical system based on design model. Several dynamic analysis use-cases for energy-efficiency are presented: either for energy estimation or to lighten the cost of regression testing.
... Due to high accuracy levels, these models have been widely used in state-of-the-art research related to datacenters energy consumption and environmental sustainability [1], [8], [47], [142]. We are aware that there would be other more accurate models to estimate the energy consumption of a host, VM or container [129], [143], [144]; however, all these works have modelled the VM/container energy consumption as a fraction of physical host and its utilization level. In the context of our work, as we use SPECpower benchmarks for hosts energy consumption that accounts for CPU, memory, disk etc.; therefore, we believe that the overall datacenter's energy consumption will not be affected using a different energy consumption model. ...
... where u c is the utilization level of the container and V c is the fraction of VM resources (such as vCPU cores) allocated to the container. We are aware that there would be other more accurate models to estimate the energy consumption of a host, VM or container [118], [143], [129]; however, all these works have modelled the VM/container energy consumption as a fraction of physical host and its utilization level. In the context of our work, as we use SPECpower benchmarks for hosts energy consumption that accounts for CPU, memory, disk etc.; therefore, we believe that the overall datacenter's energy consumption will not be affected using a different energy consumption model. ...
... However, cWa s only uses CPU related metrics to compute container power from server power. CPUs are a major power consuming component of a typical server (nearly one-third [10] and even up to 40% [24] of the total server power), but other components need to be considered. Hence, WattsApp considers memory, IO and the network to account for container power. ...
... Joulemeter estimates VM power using linear regression with ordinary least square to correlate VM pro ling data to system power consumption. BITWATTS uses a two-level approach to estimate the process level power estimation based on CPU power consumption is developed [10]. is approach performs pro ling at both system and VM level. ...
Preprint
Full-text available
Containers are becoming a popular workload deployment mechanism in modern distributed systems. However, there are limited software-based methods (hardware-based methods are expensive requiring hardware level changes) for obtaining the power consumed by containers for facilitating power-aware container scheduling, an essential activity for efficient management of distributed systems. This paper presents WattsApp, a tool underpinned by a six step software-based method for power-aware container scheduling to minimize power cap violations on a server. The proposed method relies on a neural network-based power estimation model and a power capped container scheduling technique. Experimental studies are pursued in a lab-based environment on 10 benchmarks deployed on Intel and ARM processors. The results highlight that the power estimation model has negligible overheads for data collection - nearly 90% of all data samples can be estimated with less than a 10% error, and the Mean Absolute Percentage Error (MAPE) is less than 6%. The power-aware scheduling of WattsApp is more effective than Intel's Running Power Average Limit (RAPL) based power capping for both single and multiple containers as it does not degrade the performance of all containers running on the server. The results confirm the feasibility of WattsApp.
... Virtualization complicates the power usage monitoring as the hypervisor may not expose the performance counters to the guest OS. Thus, various estimation approaches have been proposed, including for nested virtualization scenarios (Colmant et al., 2015). It has been shown that Docker containerization is not more energy efficient compared to traditional VM hypervisors (Jiang et al., 2019). ...
Article
Full-text available
The growing popularity of mobile and cloud computing raises new challenges related to energy efficiency. This work evaluates four various SQL and NoSQL database solutions in terms of energy efficiency. Namely, Cassandra, MongoDB, Redis, and MySQL are taken into consideration. This study measures energy efficiency of the chosen data storage solutions on a selected set of physical and virtual computing nodes by leveraging Intel RAPL (Running Average Power Limit) technology. Various database usage scenarios are considered in this evaluation including both local usage and remote offloading. Different workloads are benchmarked through the use of YCSB (Yahoo! Cloud Serving Benchmark) tool. Extensive experimental results show that (i) Redis and MongoDB are more efficient in energy consumption under most usage scenarios, (ii) remote offloading saves energy if the network latency is low and destination CPU is significantly more powerful, and (iii) computationally weaker CPUs may sometimes demonstrate higher energy efficiency in terms of J/ops. An energy efficiency measurement framework is proposed in order to evaluate and compare different database solutions based on the obtained experimental results.
... The system is equipped with 128 GB of memory. For energy measurements, we use the integrated RAPL counters, which have been proven accurate in fine-grained energy measurements [15,21,25,56,61]. ...
Preprint
Full-text available
Energy efficiency has become a key concern in modern computing. Major processor vendors now offer heterogeneous architectures that combine powerful cores with energy-efficient ones, such as Intel P/E systems, Apple M1 chips, and Samsungs Exyno's CPUs. However, apart from simple cost-based thread allocation strategies, today's OS schedulers do not fully exploit these systems' potential for adaptive energy-efficient computing. This is, in part, due to missing application-level interfaces to pass information about task-level energy consumption and application-level elasticity. This paper presents E-Mapper, a novel resource management approach integrated into Linux for improved execution on heterogeneous processors. In E-Mapper, we base resource allocation decisions on high-level application descriptions that user can attach to programs or that the system can learn automatically at runtime. Our approach supports various programming models including OpenMP, Intel TBB, and TensorFlow. Crucially, E-Mapper leverages this information to extend beyond existing thread-to-core allocation strategies by actively managing application configurations through a novel uniform application-resource manager interface. By doing so, E-Mapper achieves substantial enhancements in both performance and energy efficiency, particularly in multi-application scenarios. On an Intel Raptor Lake and an Arm big.LITTLE system, E-Mapper reduces the application execution on average by 20 % with an average reduction in energy consumption of 34 %. We argue that our solution marks a crucial step toward creating a generic approach for sustainable and efficient computing across different processor architectures.
... For each process, the resource monitor collects a predefined set of hardware performance counters by using the perfmon library [24]. Prior work has established the accuracy of using performance counters to estimate process-level power consumption while maintaining low overhead [9,25,26]. Performance counter data are sent back to the endpoint, where they are forwarded to a cloud-hosted GreenFaaS database. To avoid creating more communication channels or relying on the shared file system, monitoring messages piggyback on the existing result communication mechanism from compute node to endpoint (typically deployed on a login node). ...
Preprint
Full-text available
Application energy efficiency can be improved by executing each application component on the compute element that consumes the least energy while also satisfying time constraints. In principle, the function as a service (FaaS) paradigm should simplify such optimizations by abstracting away compute location, but existing FaaS systems do not provide for user transparency over application energy consumption or task placement. Here we present GreenFaaS, a novel open source framework that bridges this gap between energy-efficient applications and FaaS platforms. GreenFaaS can be deployed by end users or providers across systems to monitor energy use, provide task-specific feedback, and schedule tasks in an energy-aware manner. We demonstrate that intelligent placement of tasks can both reduce energy consumption and improve performance. For a synthetic workload, GreenFaaS reduces the energy-delay product by 45% compared to alternatives. Furthermore, running a molecular design application through GreenFaaS can reduce energy consumption by 21% and runtime by 63% by better matching tasks with machines.
... The power of CMOS circuit is divided into static power and dynamic power [8], of which only dynamic power is related to container operation [9]. The dynamic power is further divided into two parts, one is the dynamic power related to the kernel, and the other is the dynamic power independent of the kernel [10]. The dynamic power related to the kernel is generated when the CPU is running. ...
Article
Full-text available
In order to make full use of the power capacity of the data center when deploying servers in the data center, the deployment method of data center power over-provisioning is adopted. By using the hypothetical power capacity of the data center instead of the actual power capacity to deploy servers, we can deploy more servers to improve power utilization and space utilization. However, in some cases, when the servers under the same power supply component reach a higher power level at the same time, the real-time power of the power supply component will exceed the rated power, affecting service operation and causing heavy losses. In response to the above problems, we propose DCMigrationALG: a power-aware data center container migration algorithm. This algorithm uses container migration to migrate the containers under the power supply component to other power supply components, thereby reducing the real-time power of the power supply component and ensuring power security. We conduct experiments in a real computer room environment to prove the effectiveness of our algorithm.
... The effectiveness of the tool is tested using high computing applications such as machine learning for image classification and video transcoding. Another tool for process-level power monitoring of virtual entities is developed in[192],known as 'BitWatts'. This middleware tool accesses the hardware level RAPL counter for each VM and its running processes. ...
Preprint
Full-text available
This article surveys the literature, over the period 2010-2020, on measurement of power consumption and relevant power models of virtual entities as they apply to the telco cloud. Hardware power meters are incapable of measuring power consumption of individual virtual entities co-hosted on a physical machine. Thus, software power meters are inevitable, yet their development is difficult. Indeed, there is no direct approach to measurement and, therefore, modeling through proxies of power consumption must be used. In this survey, we present trends, fallacies and pitfalls. Notably, we identify limitations of the widely-used linear models and the progression towards Artificial Intelligence / Machine Learning techniques as a means of dealing with the seven major dimensions of variability: workload type; computer virtualization agents; system architecture and resources; concurrent, co-hosted virtualized entities; approaches towards attribution of power consumption to virtual entities; frequency; and temperature.
... Based on this idea, a process level power analysis tool, Energy guard, is proposed to obtain the running information, resources and utilization ratio of each process through the daemons running in the kernel space, and then provide the real-time information of the power consumed by each process [21], which is used to eliminate the energy consumed by the application's abnormal behavior. Colmant et al. [22] has focused on the energy estimation of VMbased systems and has proposed a fine-grained monitoring middleware called BitWatts. It provides real-time and power estimation of software processes running at any level of virtualization in the system, which can automatically learn an application-agnostic power model to estimate the power consumption of applications. ...
Article
Full-text available
Accurate prediction of software energy consumption is of great significance for the sustainable development of the environment. In order to overcome the limitations of a single prediction method and further improve the prediction accuracy, a combined prediction energy model of adaboost algorithm and RBF (radial basis function) neural network at software architecture level is proposed. Firstly, three kinds of energy prediction models are established by polynomial regression, support vector machine and neural network respectively. Secondly, the RBF neural network is used to nonlinear combine the predicted values of the above three models. Finally, RBF integrated by adaboost algorithm is used as high-precision prediction of energy consumption. Experimental results show that the prediction accuracy of the combined prediction model is higher than that of the single model.
... Colmant et al. [53] investigated how to to estimate power consumption at the process level. They proposed a CPU frequency and unhalted cycles based power model that is suitable for computation-intensive applications: ...
Article
Full-text available
Due to the increasing demand of cloud resources, the ever-increasing number and scale of cloud data centers make their massive power consumption a prominent issue today. Evidence reveals that the behaviors of cloud servers make the major impact on data centers’ power consumption. Although extensive research can be found in this context, a systematic review of the models and modeling methods for the entire hierarchy (from underlying hardware components to the upper-layer applications) of the cloud server is still missing, which is supposed to cover the relevant studies on physical and virtual cloud server instances, server components, and cloud applications. In this article, we summarize a broad range of relevant studies from three perspectives: power data acquisition, power models, and power modeling methods for cloud servers (including bare-metal, virtual machine (VM), and container instances). We present a comprehensive taxonomy on the collection methods of server-level power data, the existing mainstream power models at multiple levels from hardware to software and application, and commonly used methods for modeling power consumption including classical regression analysis and emerging methods like reinforcement learning. Throughout the work, we introduce a variety of models and methods, illustrating their implementation, usability, and applicability while discussing the limitations of existing approaches and possible ways of improvement. Apart from reviewing existing studies on server power models and modeling methods, we further figure out several open challenges and possible research directions, such as the study on modeling the power consumption of lightweight virtual units like unikernel and the necessity of further explorations toward empowering server power estimation/prediction with machine learning. As power monitoring is drawing increasing attention from cloud service providers (CSPs), this survey provides useful guidelines on server power modeling and can be inspiring for further research on energy-efficient data centers.
... Furthermore, ℘ vmtrivial and ℘ vmmaximum denote the VM energy consumption when idle and fully utilised, respectively. We are aware of the fact that there may be several other precise models which may predict the energy usage of a server, VM, and container more accurately (Dayarathna et al., 2015), (Colmant et al., 2015), (Callau-Zori et al., 2018), (Lebre et al., 2019). However, the energy usage for a VM-container have been seen by these models as fraction of resources allocated from the physical server along with its usage levels. ...
Article
In major Information Technology (IT) companies such as Google, Rackspace and Amazon Web Services (AWS), virtualisation and containerisation technologies are usually used to execute customers' workloads and applications. The computational resources are provided through large-scale datacenters, which consume substantial amount of energy and have, therefore, ecological impacts. Since long, Google runs users' applications in containers, Rackspace offers bare-metal hardware, whereas AWS runs them either in VMs (EC2), containers (ECS) and/or containers inside VMs (Lambda); therefore, making resource management a tedious activity. The role of a resource management system is of the greatest importance, principally, if IT companies practice various kinds of sand-boxing technologies, for instance, bare-metal, VMs, containers, and/or nested containers in their datacenters (hybrid platforms). The absence of centralised, workload-aware resource managers and consolidation policies produces questions on datacenters energy efficiency, workloads performance, and users' costs. In this paper, we demonstrate, through several experiments, using the Google workload data for 12,583 hosts and approximately one million tasks that belong to four different kinds of workload, the likelihood of: (i) using workload-aware resource managers in hybrid clouds; (ii) achieving energy and cost savings, in heterogeneous hybrid datacenters such that the workload performance is not affected, negatively; and (iii) how various allocation policies, combined with different migration approaches, will impact on datacenter's energy and performance efficiencies. Using plausible assumptions for hybrid datacenters set-up, our empirical evaluation suggests that, for no migration, a single scheduler is at most 16.86% more energy efficient than distributed schedulers. Moreover, when migrations are considered, our resource manager can save up to 45.61% energy and can improve up to 17.9% workload performance.
... The energy consumption behavior of server mainly depends on the CPU activity. In the earliest study, the power consumption of the entire server was approximately calculated based on the load metrics of CPU (e.g., CPU utilization) [13][14][15]. In relevant research of cloud task scheduling and virtual machine scheduling in consideration of power consumption, CPU utilization, and frequency were often used to represent the power of the entire system [16]. ...
Article
Full-text available
As cloud computing technologies and applications develop rapidly in recent years, the quantity and size of cloud datacenters have been ever-increasing, making the overconsumption of energy in datacenters become a widespread concern. To reduce the energy cost by servers, we must first build an accurate power model to achieve flexible, device-free power consumption measuring. However, most of the previous work related to server power modeling solely apply to the server and virtual machine levels, and the existing power models fail to take into account the heterogeneity in workload. Therefore, we first propose separate power consumption models based on the distinction of workload types including CPU-intensive, I/O-intensive, memory-intensive, and mixed workload. Then, we present an adaptive workload-aware power consumption measuring method (WSPM) for cloud servers. Our method proactively selects an appropriate power model for the upcoming workload through workload clustering, forecasting and classification, which are implemented using K-means, ARIMA, and threshold-based methods, respectively. We conducted several experiments to evaluate the performance of the key components of our method. The result shows: (1) the accuracy of our future workload forecasting on real traces of requests to our servers, (2) the accuracy of the power consumption measured by WSPM, and (3) the effectiveness of our workload-aware method in reducing real-time power estimation lag. Overall, the proposed method simplifies power modeling under diverse workloads without losing accuracy, making it a general and highly available solution for cloud data centers.
... Due to high accuracy levels, these models have been widely used in stateof-the-art research related to datacenters energy consumption and environmental sustainability [11], [27], [28], [29]. We are aware that there would be other more accurate models to estimate the energy consumption of a host, VM or container [30], [31], [32]; however, all these works have modelled the VM/container energy consumption as a fraction of physical host and its utilisation level. In the context of our work, as we use SPECpower benchmarks for hosts energy consumption that accounts for CPU, memory, disk etc.; therefore, we believe that the overall datacenter's energy consumption will not be affected using a different energy consumption model. ...
Article
Datacenters are the principal electricity consumers for cloud computing that provide an IT backbone for today's business and economy. Numerous studies suggest that most of the servers, in the US datacenters, are idle or less-utilised, making it possible to save energy by using resource consolidation techniques. However, consolidation involves migrations of virtual machines, containers and/or applications, depending on the underlying virtualisation method; that can be expensive in terms of energy consumption and performance loss. In this paper, we: (a) propose a consolidation algorithm which favours the most effective migration among VMs, containers and applications; and (b) investigate how migration decisions should be made to save energy without any negative impact on the service performance. We demonstrate through a number of experiments, using the real workload traces for 800 hosts, approximately 1516 VMs, and more than million containers, how different approaches to migration, will impact on datacenter's energy consumption and performance. We suggest, using reasonable assumptions for datacenter set-up, that there is a trade-off involved between migrating containers and virtual machines. It is more performance efficient to migrate virtual machines; however, migrating containers could be more energy efficient than virtual machines. Moreover, migrating containerised applications, that run inside virtual machines, could lead to energy and performance efficient consolidation technique in large-scale datacenters. Our evaluation suggests that migrating applications could be ~5.5% more energy efficient and ~11.9% more performance efficient than VMs migration. Further, energy and performance efficient consolidation is ~14.6% energy and ~7.9% performance efficient than application migration. Finally, we generalise our results using several repeatable experiments over various workloads, resources and datacenter set-ups.
... BitWatts 28 is a middleware solution that calculates the energy consumption of an application inside a VM via an energy estimation model [Colmant et al. 2015]. It is an extension of the PowerAPI toolkit [Bourdon et al. 2012] and is designed to collect energy measurements from modern and complex microprocessors that support multicores, hyper-threading, DVFS, and dynamic overclocking. ...
Article
Full-text available
Motivation: In modern it systems, the increasing demand for computational power is tightly coupled with ever higher energy consumption. Traditionally, energy efficiency research has focused on reducing energy consumption at the hardware level. Nevertheless, the software itself provides numerous opportunities for improving energy efficiency. Goal: Given that energy efficiency for it systems is a rising concern, we investigate existing work in the area of energy-aware software development and identify open research challenges. Our goal is to reveal limitations, features, and tradeoffs regarding energy-performance for software development and provide insights on existing approaches, tools, and techniques for energy-efficient programming. Method: We analyze and categorize research work mostly extracted from top-tier conferences and journals concerning energy efficiency across the software development lifecycle phases. Results: Our analysis shows that related work in this area has focused mainly on the implementation and verification phases of the software development lifecycle. Existing work shows that the use of parallel and approximate programming, source code analyzers, efficient data structures, coding practices, and specific programming languages can significantly increase energy efficiency. Moreover, the utilization of energy monitoring tools and benchmarks can provide insights for the software practitioners and raise energy-awareness during the development phase.
... Mobius et al. [33] broke the power consumption of VM into CPU, cache, memory, and disk. BITWATTS [14] modeled the power consumption at a finergrained process level. Shen et al. [37] proposed a power container to account for energy consumption of requests in multi-core systems. ...
Article
Full-text available
Container technology provides a lightweight operating system level virtual hosting environment. Its emergence profoundly changes the development and deployment paradigms of multi-tier distributed applications. However, due to the incomplete implementation of system resource isolation mechanisms in the Linux kernel, some security concerns still exist for multiple containers sharing an operating system kernel on a multi-tenancy container-based cloud service. In this paper, we first present the information leakage channels we discovered that are accessible within containers. Such channels expose a spectrum of system-wide host information to containers without proper resource partitioning. By exploiting such leaked host information, it becomes much easier for malicious adversaries (acting as tenants in a container cloud) to launch attacks that might impact the reliability of cloud services. We demonstrate that the information leakage channels could be exploited to infer private data, detect and verify co-residence, build covert channels, and launch more advanced cloud-based attacks. We discuss the root causes of the containers information leakage and propose a two-stage defense approach. As demonstrated in the evaluation, our defense is effective and incurs trivial performance overhead.
... This allows VMs to deploy a PM policy based on the charge estimated by the power metering techniques. Besides, BITWATTS [11] provides a per-process/application power metering in a single VM. VIP can consider the estimated power consumption of each application when they choose or develop a PM policy efficient for the applications. ...
Conference Paper
A power management policy aims to improve energy efficiency by choosing an appropriate performance (voltage/frequency) state for a given core. In current virtualized environments, multiple virtual machines (VMs) running on the same core must follow a single power management policy governed by the hypervisor. However, we observe that such a per-core power management policy has two limitations. First, it cannot offer the flexibility of choosing a desirable power management policy for each VM (or client). Second, it often hurts the power efficiency of some or even all VMs especially when the VMs desire conflicting power management policies. To tackle these limitations, we propose a per-VM power management mechanism, VIP supporting Virtual Performance-state for each VM. Specifically, for VMs sharing a core, VIP allows each VM's guest OS to deploy its own desired power management policy while preventing such VMs from interfering/influencing each other's power management policy. That is, VIP can also facilitate a pricing model based on the choice of a power management policy. Second, identifying some inefficiency in strictly enforcing per-VM power management policies, we propose hypervisor-assisted techniques to further improve power and energy efficiency without compromising the key benefits of per-VM power management. To demonstrate the efficacy of VIP, we take a case that some VMs run CPU-intensive applications and other VMs run latency-sensitive applications sharing the same cores. Our evaluation shows that VIP reduces the overall energy consumption and improves the execution time of CPU-intensive applications compared with the default ondemand governor of Xen hypervisor up to 27% and 32%, respectively, without violating service level agreement (SLA) of latency-sensitive applications.
... The model predicts instantaneous power consumption of an individual VM hosted on a physical node in addition to the full system power consumption with a model which predicts the power consumption as the weighted sum of CPU, cache, disk and memory utilization. Yet another tool to measure power consumption of virtualized applications are presented by Colmant et al. 9 . This paper 9 presents a fine-grained monitoring middleware named BITWATTS, which automatically learns an applicationagnostic power model, which can be used to estimate the power consumption of applications. ...
Preprint
Full-text available
Virtualization is a key building block of next-generation mobile networks. It can be implemented through two main approaches: traditional virtual machines and lighter-weight containers. Our objective in this paper is to compare these approaches and study the power consumption they are associated with. To this end, we perform a large set of real-world measurements, using both synthetic workloads and real-world applications, and use them to model the relationship between the resource usage of the hosted application and the power consumption of both virtual machines and containers hosting it. We find that containers incur substantially lower power consumption than virtual machines, and that such consumption increases more slowly with the application load.
Article
In the post-Moore's Law era, relying solely on hardware advancements for automatic performance gains is no longer feasible without increased energy consumption, due to the end of Dennard scaling. Consequently, computing accounts for an increasing amount of global energy usage, contradicting the objective of sustainable computing. The lack of hardware support and the absence of a standardized, software-centric method for the precise tracing of energy provenance exacerbates the issue. Aiming to overcome this challenge, we argue that fine-grained software energy attribution is attainable, even with limited hardware support. To support our position, we present a thread-level, NUMA-aware energy attribution method for CPU and DRAM in multi-tenant environments. The evaluation of our prototype implementation, EnergAt, demonstrates the validity, effectiveness, and robustness of our theoretical model, even in the presence of the noisy-neighbor effect. We envisage a sustainable cloud environment and emphasize the importance of collective efforts to improve software energy efficiency.
Article
Cloud platforms are increasing their emphasis on sustainability and reducing their operational carbon footprint. A common approach for reducing carbon emissions is to exploit the temporal flexibility inherent to many cloud workloads by executing them in periods with the greenest energy and suspending them at other times. Since such suspend-resume approaches can incur long delays in job completion times, we present a new approach that exploits the elasticity of batch workloads in the cloud to optimize their carbon emissions. Our approach is based on the notion of "carbon scaling," similar to cloud autoscaling, where a job dynamically varies its server allocation based on fluctuations in the carbon cost of the grid's energy. We develop a greedy algorithm for minimizing a job's carbon emissions via carbon scaling that is based on the well-known problem of marginal resource allocation. We implement a CarbonScaler prototype in Kubernetes using its autoscaling capabilities and an analytic tool to guide the carbon-efficient deployment of batch applications in the cloud. We then evaluate CarbonScaler using real-world machine learning training and MPI jobs on a commercial cloud platform and show that it can yield i) 51% carbon savings over carbon-agnostic execution; ii) 37% over a state-of-the-art suspend-resume policy; and iii) 8 over the best static scaling policy.
Article
The growing electricity demand of IT infrastructure has raised significant concerns about its carbon footprint. To mitigate the associated emissions of computing systems, current efforts therefore increasingly focus on aligning the power usage of software with the availability of clean energy. To operate, such carbon‐aware applications require visibility and control over relevant metrics and configurations of the energy system. However, research and development of novel energy system abstraction layers and interfaces remain difficult due to the scarcity of available testing environments: Real testbeds are expensive to build and maintain, while existing simulation testbeds are unable to interact with real computing systems. To provide a widely applicable approach for developing and testing carbon‐aware software, we propose a method for integrating real applications into a simulated energy system through software‐in‐the‐loop simulation. The integration offers an API for accessing the energy system, while continuously modeling the computing system's power demand within the simulation. Our system allows for the integration of physical as well as virtual compute nodes, and can help accelerate research on carbon‐aware computing systems in the future.
Article
Virtualization technologies provide solutions for cloud computing. Virtual resource scheduling is a crucial task in data centers, and the power consumption of virtual resources is a critical foundation of virtualization scheduling. Containers are the smallest unit of virtual resource scheduling and migration. Although many practical models for estimating the power consumption of virtual machines (VMs) have been proposed, few power estimation models of containers have been put forth. In this paper, we propose a fast-training piecewise regression model based on a decision tree for VM power metering and estimate the power of containers configured on the VM by treating the container as a group of processes on the VM. We select appropriate features from the collected metrics of VMs/containers to help our model fit the nonlinear relationship between power and features well. Besides, we optimize the leaf nodes of the regression tree, realizing the effective power metering of virtualization environments. We evaluate the proposed model on 13 tasks in PARSEC and compare it with several commonly used models in data centers. The experimental results prove the effectiveness of the proposed model, and the estimated power of containers is in line with expectations.
Article
Establishing an accurate edge server power model is helpful for resource providers to predict and optimize power consumption within edge data centers. Considering the fact that the accuracy of the previous energy consumption model is easily affected by the workload types, this paper develops an edge server power model based on BP (back propagation) neural network and feature selection, which is denoted by DSBF. For different task types, DSBF leverages “principal component analysis (PCA)” to analyze the contribution of each energy consumption parameter and selects “representative parameter”, and then builds a power model based on BP neural network. In contrast to other power models, DSBF can effectively handle the variable workload. To measure the effectiveness of the DSBF model, a series of experiments were conducted. The results suggest that compared with other energy consumption models, DSBF can better adapt to the changing workload and has advantages in predicting the accuracy of the energy consumption model.
Article
The pervasive use of virtualization techniques in today's datacenters poses challenges in power monitoring since it is not possible to directly measure the power consumption of a virtual entity such as a virtual machine (VM) and a container. In this paper, we present cWatts++, a lightweight virtual power meter that enables the accurate power usage measurement in virtualized computing environments, such as VMs and containers of cloud data centers. At the core of cWatts++ is its application-agnostic power model. To this end, we devise two power models (eventModel and raplModel) that are driven by CPU event counters and the Running Average Power Limit (RAPL) feature of modern Intel CPUs, respectively. While eventModel is more generic and, thus, applicable to a wide range of workloads, raplModel is particularly good for CPU-bound workloads. We have evaluated cWatts++ with its two power models in a real system using the PARSEC benchmark suite and our in-house benchmarks. Our evaluation study demonstrates that these power models have an average error of 4.55 % and 1.25 %, respectively, compared with actual power usage measurements of a real power meter, Cabac Power-Mate.
Article
Full-text available
The development of energy-efficient software has become a key requirement for a large number of devices, from smartphones to data centers. However, measuring accurately this consumption is a major challenge that state-of-the-art approaches have tried to tackle with a limited success. While monitoring applications' consumption offers a clear insight on where the energy is being spent, it does not help in understanding how the energy is consumed. In this paper, we therefore introduce JalenUnit, a software framework that infers the energy consumption model of software libraries from execution traces. This model can then be used to diagnose application code for detecting energy bugs, understanding energy distribution, establishing energy profiles and classifications, and comparing software libraries against their energy consumption.
Article
Full-text available
The great amounts of energy consumed by large-scale computing and network systems, such as data centers and supercomputers, have been a major source of concern in a society increasingly reliant on information technology. Trying to tackle this issue, the research community and industry have proposed myriad techniques to curb the energy consumed by IT systems. This article surveys techniques and solutions that aim to improve the energy efficiency of computing and network resources. It discusses methods to evaluate and model the energy consumed by these resources, and describes techniques that operate at a distributed system level, trying to improve aspects such as resource allocation, scheduling, and network traffic management. This work aims to review the state of the art on energy efficiency and to foster research on schemes to make network and computing resources more efficient.
Article
Full-text available
GreenIT has emerged as a discipline concerned with the optimization of software solutions with regards to their energy consumption. In this domain, most of the state-of-the-art solutions concentrate on coarse-grained approaches to monitor the energy consumption of a device or a process. However, none of the existing solutions addresses in-process energy monitoring to provide in-depth analysis of a process energy consumption. In this paper, we therefore report on a fine-grained runtime energy monitoring framework we developed to help developers to diagnose energy hotspots with a better accuracy than the state-of-the-art. Concretely, our approach adopts a 2-layer architecture including OS-level and process-level energy monitoring. OS-level energy monitoring estimates the energy consumption of processes according to different hardware devices (CPU, network card). Process-level energy monitoring focuses on Java-based applications and builds on OS-level energy monitoring to provide an estimation of energy consumption at the granularity of classes and methods. We argue that this per-method analysis of energy consumption provides better insights to the application in order to identify potential energy hotspots. In particular, our preliminary validation demonstrates that we can monitor energy hotspots of Jetty web servers and monitor their variations under stress scenarios.
Conference Paper
Full-text available
Accurate power characterization is important in computing platforms for several reasons ranging from poweraware adaptation to power provisioning. Power characterization is typically obtained through either direct measurements enabled by physical instrumentation or modeling based on hardware performance counters. We show, however, that linear-regression based modeling techniques commonly used in the literature work well only in restricted settings. These techniques frequently exhibit high prediction error in modern computing platforms due to inherent complexities such as multiple cores, hidden device states, and large dynamic power components. Using a comprehensive measurement framework and an extensive set of benchmarks, we consider several more advanced modeling techniques and observe limited improvement. Our quantitative demonstration of the limitations of a variety of modeling techniques highlights the challenges posed by rising hardware complexity and variability and, thus, motivates the need for increased direct measurement of power consumption.
Article
Full-text available
This paper explores the feasibility of and challenges in developing methods for black-box monitoring of the power usage of a virtual machine (VM) at run-time, on shared virtualized compute platforms, including those with complex memory hierarchies. We demonstrate that VM-level power utilization can be accurately estimated, or estimated with accuracy with bound error margins. The use of bounds permits more lightweight online monitoring of fewer events, while relaxing the fidelity of the estimates in a controlled manner. Our methodology is evaluated on the Intel Core i7 and Core2 x86-64 platforms, running synthetic and SPEC benchmarks.
Article
Full-text available
Virtualization is often used in cloud computing platforms for its several advantages in efficiently managing resources. However, vir-tualization raises certain additional challenges, and one of them is lack of power metering for virtual machines (VMs). Power man-agement requirements in modern data centers have led to most new servers providing power usage measurement in hardware and alter-nate 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 hyper-visors can be used to build the required power models on real plat-forms 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 allow virtualized data centers to achieve the same savings that non-virtualized data cen-ters achieved through physical server power capping, but also that it enables further savings in provisioning costs with virtualization.
Conference Paper
Full-text available
Microprocessor power has become a first-order constraint at run-time. Designers must employ aggressive power-management techniques at run-time to keep a processor's ballooning power requirements under control. Effective power management benefits from knowledge of run-time microprocessor power consumption in both the core and individual microarchitectural structures, such as caches, queues, and execution units. Increasingly feasible per-structure power-control techniques, such as fine-grain clock gating, power gating, and dynamic voltage/frequency scaling (DVFS), become more effective from run-time estimates of per-structure power. However, run-time computation of per-structure power estimates based on utilization requires daunting numbers of input statistics, which makes per-structure monitoring of run-time power a challenging problem. To address the challenges of estimating per-structure power in hardware, we propose a new technique, called Common Activity-based Model for Power (CAMP), to estimate activity factors and power for microarchitectural structures. Despite using a relatively few input parameters-specifically nine-based on general microprocessor utilization statistics (e.g., IPC and load rate), our linear-regression-based model estimates activity and dynamic power for over 100 structures in an out-of-order x86 pipeline and core power with an average error of 8%. Because the computations utilize few inputs, CAMP is simple enough to implement in hardware, providing run-time structure and core power estimates for dynamic power management. Because the input statistics are generic in nature and the model remains accurate across incremental microarchitectural refinements, CAMP provides simple intuitive equations relating global microarchitectural statistics to structure activity and power. These equations provide a simple technique that can equate changes in one structure's activity to power variations in other structures across the pipeline.
Conference Paper
Full-text available
Workload placement on servers has been traditionally driven by mainly performance objectives. In this work, we investigate the design, implementation, and evaluation of a power-aware application placement controller in the context of an environment with heterogeneous virtualized server clusters. The placement component of the application management middleware takes into account the power and migration costs in addition to the performance benefit while placing the application containers on the physical servers. The contribution of this work is two-fold: first, we present multiple ways to capture the cost-aware application placement problem that may be applied to various settings. For each formulation, we provide details on the kind of information required to solve the problems, the model assumptions, and the practicality of the assumptions on real servers. In the second part of our study, we present the pMapper architecture and placement algorithms to solve one practical formulation of the problem: minimizing power subject to a fixed performance requirement. We present comprehensive theoretical and experimental evidence to establish the efficacy of pMapper.
Conference Paper
Full-text available
The increasing heterogeneity between applications in emerging virtualized data centers like clouds introduce significant challenges in estimating the power drawn by the data center. In this work, we presentWattApp: an application-aware power meter for shared data centers that addresses this challenge. In order to deal with heterogeneous applications, WattApp introduces application parameters (e.g, throughput) in the power modeling framework. WattApp is based on a carefully designed set of experiments on a mix of diverse applications: power benchmarks, web-transaction workloads, HPC workloads and I/O-intensive workloads. Given a set of N applications and M server types, WattApp runs in O(N) time, uses O(NxM) calibration runs, and predicts the power drawn by any arbitrary placement within 5%of the real power for the applications studied.
Conference Paper
Full-text available
In classical machine virtualization, a hypervisor runs multiple operating systems simultaneously, each on its own virtual machine. In nested virtualization, a hypervisor can run multiple other hypervisors with their associated virtual machines. As operating systems gain hypervisor functionality—Microsoft Windows 7 already runs Windows XP in a virtual machine—nested virtualization will become necessary in hypervisors that wish to host them. We present the design, implementation, analysis, and evaluation of high-performance nested virtualization on Intel x86-based systems. The Turtles project, which is part of the Linux/KVM hypervisor, runs multiple unmodified hypervisors (e.g., KVM and VMware) and operating systems (e.g., Linux and Windows). Despite the lack of architectural support for nested virtualization in the x86 architecture, it can achieve performance that is within 6-8 % of single-level (non-nested) virtualization for common workloads, through multi-dimensional paging for MMU virtualization and multi-level device assignment for I/O virtualization. The scientist gave a superior smile before replying, “What is the tortoise standing on?” “You’re very clever, young man, very clever”, said the old lady. “But it’s turtles all the way down! ” 1 1
Conference Paper
Today's cloud offerings, while promising flexibility, fail to deliver this flexibility to lower-end services with frequent, minute-long idle times. We present DreamServer, an architecture and combination of technologies to deploy virtualized services just-in-time: virtualized web applications are suspended when idle and resurrected only when the next request arrives. We demonstrate that stateful VM resume can be accomplished in less than one second for select applications. We have implemented DreamServer by customizing well-known open source software projects, the Apache web server and the virtual machine emulator qemu. Our evaluation of just how fast idle services can be reactivated includes different storage technologies, local and networked storage, and multiple VM resume strategies. The empirical results show that just-in-time deployment of virtualized services is possible with a minimal additional delay. This brings us closer to our understanding of flexibility in the cloud especially for customers with sporadic resource usage.
Article
Today's cloud offerings, while promising flexibility, fail to deliver this flexibility to lower-end services with frequent, minute-long idle times. We present DreamServer, an architecture and combination of technologies to deploy virtualized services just-in-time: virtualized web applications are suspended when idle and resurrected only when the next request arrives. We demonstrate that stateful VM resume can be accomplished in less than one second for select applications. We have implemented DreamServer by customizing well-known open source software projects, the Apache web server and the virtual machine emulator qemu. Our evaluation of just how fast idle services can be reactivated includes different storage technologies, local and networked storage, and multiple VM resume strategies. The empirical results show that just-in-time deployment of virtualized services is possible with a minimal additional delay. This brings us closer to our understanding of flexibility in the cloud especially for customers with sporadic resource usage.
Conference Paper
Gone are the days of homogeneous sets of disks. Even disks of a given batch, of the same make and model, will have significantly different bandwidths. This paper describes the disk technology trends responsible for the now-inherent heterogeneity of multi-disk systems and disk-based clusters, provides measurements quantifying it, and discusses its implications for system designers.
Conference Paper
Energy efficiency and power capping are critical concerns in server and cloud computing systems. They face growing challenges due to dynamic power variations from new client-directed web applications, as well as complex behaviors due to multicore resource sharing and hardware heterogeneity. This paper presents a new operating system facility called "power containers" that accounts for and controls the power and energy usage of individual fine-grained requests in multicore servers. This facility relies on three key techniques---1) online model that attributes multicore power (including shared maintenance power) to concurrently running tasks, 2) alignment of actual power measurements and model estimates to enable online model recalibration, and 3) on-the-fly application-transparent request tracking in multi-stage servers to isolate the power and energy contributions and customize per-request control. Our mechanisms enable new multicore server management capabilities including fair power capping that only penalizes power-hungry requests, and energy-aware request distribution between heterogeneous servers. Our evaluation uses three multicore processors (Intel Woodcrest, Westmere, and SandyBridge) and a variety of server and cloud computing (Google App Engine) workloads. Our results demonstrate the high accuracy of our request power accounting (no more than 11% errors) and the effectiveness of container-enabled power virus isolation and throttling. Our request distribution case study shows up to 25% energy saving compared to an alternative approach that recognizes machine heterogeneity but not fine-grained workload affinity.
Conference Paper
Power demand of data centers is a topic of great interest and numerous research papers. Most handle power saving by using virtualization technologies and server consolidation. In this position paper, we propose the idea of approaching a specific power consumption of an entire data center by using virtual machine migration strategies. To achieve this goal, several models of data center components are needed. We illustrate the models we developed as well as the measurement set-up and results we have. These are especially models for server power estimation and for a virtual machine power breakdown. At the end of the paper, we present our further ideas and future research intentions.
Article
Energy consumption of IT increased continuously during the last decades. Numerous works have been accomplished for improving energy efficiency of hardware whereas software energy efficiency has been ignored for a long time. This contribution presents a novel approach for estimating energy consumption of computer systems in dependency of software-caused workloads in different execution environments. The system is the basis for automatic optimization of software execution in an energy-efficient way by finding the best-suiting host computer (and best-suiting peripheral devices). Thus, it opens novel ways to further improve energy-efficiency of IT systems by migrating software-caused load to an energy-efficient target. Exemplary, the approach is tested in a virtualized data center environment, where virtual machines are the applications. The presented approach is a vehicle for automatically computing an energy-efficient virtual machine placement. The paper presents a new algorithm for estimating virtual machine power consumption, which consists of CPU power consumption estimation as well as power usage estimation of peripheral components like hard disk drive and network interface controller. The accuracy of the presented approach is proved by means of measurements.
Article
Understanding the power dissipation behavior of an application/workload is the key to writing power-efficient software and designing energy-efficient computer systems. Power modeling based on performance monitoring counters (PMCs) is an effective approach to analyze and quantify power dissipation behaviors on a real computer system. One of the potential benefits is that software developers are able to optimize the power behavior of an application by adjusting its source code implementations. However, it is challenging to relate power dissipation to the execution of specific segments of source code directly. In addition, existing power models need to be further investigated by reconsidering multicore architecture processors with on-chip shared resources. Therefore, we need to adjust PMC-based power models from the developers’ perspective, and reevaluate them on multicore computer systems. In this paper, followed by a detailed classification of previous efforts on power profiling, we propose a two-level power model that estimates per-core power dissipation on chip multiprocessor (CMP) on-the-fly by using only one PMC and frequency information from CPUs. The model attempts to satisfy the basic requirements from developer point of view: simplicity and applicability. Based on this model, we design and implement SPAN, a software power analyzer, to identify power behavior associated with source code. Given an application, SPAN is able to determine its power dissipation rate at the function-block level. We evaluate both the power model and SPAN on two general purpose multicore computer systems. The experimental results based on SPEC2008Cjvm benchmark suite show the average error rate of 5.40% across one core to six core validation. We also verify SPAN using the FT benchmark from NAS parallel benchmark suite and a synthetic workload. The overall estimated error of SPAN is under 3.00%.
Conference Paper
Measuring the energy consumption of software components is a major building block for generating models that allow for energy-aware scheduling, accounting and budgeting. Cur-rent measurement techniques focus on coarse-grained mea-surements of application or system events. However, fine grain adjustments in particular in the operating-system ker-nel and in application-level servers require power profiles at the level of a single software function. Until recently, this appeared to be impossible due to the lacking fine grain res-olution and high costs of measurement equipment. In this paper we report on our experience in using the Running Average Power Limit (RAPL) energy sensors avail-able in recent Intel CPUs for measuring energy consumption of short code paths. We investigate the granularity at which RAPL measurements can be performed and discuss practical obstacles that occur when performing these measurements on complex modern CPUs. Furthermore, we demonstrate how to use the RAPL infrastructure to characterize the en-ergy costs for decoding video slices.
Article
Virtualization is a hot topic in operating systems these days. It is useful in many scenarios: server consolida-tion, virtual test environments, and for Linux enthusiasts who still can not decide which distribution is best. Re-cently, hardware vendors of commodity x86 processors have added virtualization extensions to the instruction set that can be utilized to write relatively simple virtual machine monitors. The Kernel-based Virtual Machine, or kvm, is a new Linux subsystem which leverages these virtualization extensions to add a virtual machine monitor (or hyper-visor) capability to Linux. Using kvm, one can create and run multiple virtual machines. These virtual ma-chines appear as normal Linux processes and integrate seamlessly with the rest of the system.
Conference Paper
Data centers are seeing unprecedented growth in recent years. The energy requirements to operate these large scale facilities are increasing significantly both in terms of operation cost as well as their indirect impact on ecology due to high carbon emissions. There are several ongoing research efforts towards the development of an integrated cloud management system to provide comprehensive online monitoring of resource utilization along with the implementation of power-aware policies to reduce the total energy consumption. However, most of these techniques provide online power monitoring based on the power consumption of a physical node running one or more Virtual Machines (VM). They lack a fine-grained mechanism to profile the power of an individual hosted VM. In this work we present a novel power modelling technique, VMeter, based on online monitoring of system-resources having high correlation with the total power consumption. The monitored system sub-components include: CPU, cache, disk, and DRAM. The proposed model predicts instantaneous power consumption of an individual VM hosted on a physical node besides the full system power consumption. Our model is validated using computationally diverse and industry standard benchmark programs. Our evaluation results show that our model is able to predict instantaneous power with an average mean and median accuracy of 93% and 94%, respectively, against the actual measured power using an externally attached power meter.
Conference Paper
Current approaches to power management are based on operating systems with full knowledge of and full control over the underlying hardware; the distributed nature of multi-layered virtual machine environments renders such approaches insufficient. In this paper, we present a novel framework for en- ergy management in modular, multi-layered oper- ating system structures. The framework provides a unified model to partition and distribute energy, and mechanisms for energy-aware resource account- ing and allocation. As a key property, the frame- work explicitly takes the recursive energy consump- tion into account, which is spent, e.g., in the virtu- alization layer or subsequent driver components. Our prototypical implementation targets hyper- visor-based virtual machine systems and comprises two components: a host-level subsystem, which con- trols machine-wide energy constraints and enforces them among all guest OSes and service components, and, complementary, an energy-aware guest oper- ating system, capable of fine-grained application- specific energy management. Guest level energy management thereby relies on effective virtualiza- tion of physical energy effects provided by the vir- tual machine monitor. Experiments with CPU and disk devices and an external data acquisition system demonstrate that our framework accurately controls and stipulates the power consumption of individual hardware devices, both for energy-aware and energy- unaware guest operating systems.
Conference Paper
This paper proposes the use of microprocessor performance counters for online measurement of complete system power consumption. While past studies have demonstrated the use of performance counters for microprocessor power, to the best of our knowledge, we are the first to create power models for the entire system based on processor performance events. Our approach takes advantage of the "trickle-down" effect of performance events in a microprocessor. We show how well known performance-related events within a microprocessor such as cache misses and DMA transactions are highly correlated to power consumption outside of the microprocessor. Using measurement of an actual system running scientific and commercial workloads we develop and validate power models for five subsystems: memory, chipset, I/O, disk and microprocessor. These models are shown to have an average error of less than 9% per subsystem across the considered workloads. Through the use of these models and existing on-chip performance event counters, it is possible to estimate system power consumption without the need for additional power sensing hardware
Conference Paper
We present and evaluate a surrogate model, based on hardware performance counter measurements, to estimate computer system power consumption. Power and energy are especially important in the design and operation of large data centers and of clusters used for scientific computing. Tradeoffs are made between performance and power consumption, this needs to be dynamic because activity varies over time. While it is possible to instrument systems for fine-grain power monitoring, such instrumentation is costly and not commonly available. Furthermore, the latency and sampling periods of hardware power monitors can be large compared to time scales at which workloads can change and dynamic power controls can operate. Given these limitations, we argue that surrogate models of the kind we present here can provide low-cost and accurate estimates of power consumption to drive on-line dynamic control mechanisms and for use in off-line tuning. In this brief paper, we discuss a general approach to building system power estimation models based on hardware performance counters. Using this technique, we then present a model for an Intel Core i7 system that has an absolute estimation error of 5.32 percent (median) and acceptable data collection overheads on varying workloads, CPU power states (frequency and voltage), and number of active cores. Since this method is based on event sampling of hardware counters, one can make a tradeoff between estimation accuracy and data-collection overhead.
Article
Virtualized infrastructure providers demand new methods to increase the accuracy of the accounting models used to charge their customers. Future data centers will be composed of many-core systems that will host a large number of virtual machines (VMs) each. While resource utilization accounting can be achieved with existing system tools, energy accounting is a complex task when per-VM granularity is the goal. In this paper, we propose a methodology that brings new opportunities to energy accounting by adding an unprecedented degree of accuracy on the per-VM measurements. We present a system which leverages CPU and memory power models based in performance monitoring counters (PMCs) to perform energy accounting in virtualized systems. The contribution of this paper is threefold. First, we show that PMC-based power modeling methods are still valid on virtualized environments. Second, we show that the Dynamic Voltage and Frequency Scaling (DVFS) mechanism, which commonly is used by infrastructure providers to avoid power and thermal emergencies, does not affect the accuracy of the models. And third, we introduce a novel methodology for accounting of energy consumption in virtualized systems. Accounting is done on a per-VM basis, even in the case where multiple VMs are deployed on top of the same physical hardware, bypassing the limitations of per-server aggregated power metering. Overall, the results for an Intel® Core™ 2 Duo show errors in energy estimations <5%. Such an approach brings flexibility to the chargeback models used by service and infrastructure providers. For instance, we are able to detect cases where VMs executed during the same amount of time, present more than 20% differences in energy consumption even only taking into account the consumption of the CPU and the memory.
Conference Paper
This paper demonstrates a first-order, linear power estimation model that uses performance counters to estimate run-time CPU and memory power consumption of the Intel PXA255 processor. Our model uses a set of power weights that map hardware performance counter values to processor and memory power consumption. Power weights are derived offline once per processor voltage and frequency configuration using parameter estimation techniques. They can be applied in a dynamic voltage/frequency scaling environment by setting six descriptive parameters. We have tested our model using a wide selection of benchmarks including SPEC2000, Java CDC and Java CLDC programming environments. The accuracy is quite good; average estimated power consumption is within 4% of the measured average CPU power consumption. We believe such power estimation schemes can serve as a foundation for intelligent, power-aware embedded systems that dynamically adapt to the device's power consumption.
Article
The increasing constraints on power consumption in many computing systems point to the need for power modeling and estimation for all components of a system. The Operating System (OS) constitutes a major software component and dissipates a significant portion of total power in many modern application executions. Therefore, modeling OS power is imperative for accurate software power evaluation, as well as power management (e.g. dynamic thermal control and equal energy scheduling) in the light of OS-intensive workloads. This paper characterizes the power behavior of a commercial OS across a wide spectrum of applications to understand OS energy profiles and then proposes various models to cost-effectively estimate its run-time energy dissipation. The proposed models rely on a few simple parameters and have various degrees of complexity and accuracy. Experiments show that compared with cycle-accurate full-system simulation, the model can predict cumulative OS energy to within 1% accuracy for a set of benchmark programs evaluated on a high-end superscalar microprocessor. When applied to track runtime OS energy profiles, the proposed routine level OS power model offers superior accuracy than a simpler, flat OS power model, yielding per-routine estimation error of less than 6%. The most striking observation is the strong correlation between power consumption and the instructions per cycle (IPC) during OS routine executions. Since tools and methodology to measure IPC exist on modern microprocessors, the proposed models can estimate OS power for run-time dynamic thermal and energy management.
Enabling the low carbon economy in the information age
  • Climate The
  • Group
  • Smart
[28] THE CLIMATE GROUP. SMART 2020: Enabling the low carbon economy in the information age, 2008.
How Clean is Your Cloud ? Greenpeace
  • G Cook
  • Cook G.
Energy Consumption tool in Visual Studio 2013
  • C Sterling
Jason Mars, HaPPy: hyperthread-aware power profiling dynamically
  • Yan Zhai
  • Xiao Zhang
  • Stephane Eranian
  • Lingjia Tang
Sterling C. Energy Consumption tool in Visual Studio
  • C Sterling
Energy Consumption tool in Visual Studio
  • C Sterling
  • Sterling C.
Design Document. Standard Performance Evaluation Corporation (SPEC) ( 2013 ). SPECjbb2013 Design Document. Standard Performance Evaluation Corporation (SPEC
  • Spe Cjbb
  • Cjbb
Complete System Power Estimation: A Trickle-Down Approach Based on Performance Events
  • W L Bircher
  • L K Bircher
  • Bircher W. L.