Simulation of power consumption of cloud data centers

https://doi.org/10.1016/j.simpat.2013.08.004Get rights and content

Abstract

Energy efficiency of cloud data centers received significant attention recently as data centers often consume significant resources in operation. Most of the existing energy-saving algorithms focus on resource consolidation for energy efficiency. This paper proposes a simulation-driven methodology with the accurate energy model to verify its performance, and introduces a new resource scheduling algorithm Best-Fit-Decreasing-Power (BFDP) to improve the energy efficiency without degrading the QoS of the system. Both the model and the resource algorithm have been extensively simulated and validated, and results showed that they are effective. In fact, the proposed model and algorithm outperforms the existing resource scheduling algorithms especially under light workloads.

Introduction

The scale and computing capability of recent data centers in the IT industry lead to important issues in energy management as each data center consumes significant resources for its operations. For example, Google’s cloud computing center in Oregon operating at full load will consume the energy sufficient to sustain a medium-sized city [1]. According to a Gartner report [2], the energy consumption of data centers in the United States accounted for 2% of the total US power consumption. The increasing energy consumption of data centers has become a concern for the IT industry. According to the Congress report on energy efficiency on American data center [3], the 3-year cost of powering and cooling servers is estimated to be 1.5 times the cost of purchasing server hardware, and energy cost is expected to be even higher in the future. In addition to the expensive cost for operation and maintenance of data centers, such huge power consumption also creates environmental issues.

Because most data centers are powered by conventional energy supplies instead of green and renewable energy resources, their carbon footprints have gone far beyond the reasonable limit. McKinsey research data [4] demonstrate that carbon dioxide emissions from data centers around the world is two times of emissions in the past, and this level is equivalent to that of the entire aviation industry.

Therefore, both infrastructure designers and operators have significant financial incentive and regulation pressures to find strategies for reducing the cost of system operations and maintenance and to cut down the carbon footprints of data centers. Such efforts often take two complementary approaches:

  • 1.

    Renewable energy resources.

  • 2.

    Energy consumption reduction by resource virtualization and consolidation.

For example, large IT companies such as Google [5], Microsoft [6] and Apple [7] used solar-powered or biogas-powered systems for their data centers. In addition, many large data centers provide virtual machines (VMs) for customers to run their services without setting up in-house data centers. Such a virtualized environment allows users to shut down unnecessary physical machines to save energy. While cloud computing addresses energy consumption in the IT industry, it still needs efficient resource consolidation and management to minimize its energy and environmental footprint. By the way, cloud data centers often have hundreds of thousands of servers and need megawatts of power supply.

Recently, a variety of power-saving methods in cloud infrastructure have been proposed, most of them focus on energy-aware resource management for VM allocation and scheduling. The idea is to minimize the number of active physical machines allocated for VMs and switch off or slow down those idle machines without affecting other VM workloads. To this end, the resource management algorithm needs to estimate the total amount of computing capacity for the required VMs and allocate resources based on the estimation. The estimated aggregate capacity ensures that the Service-Level-Agreements (SLAs) for individual VMs are preserved.

But the dynamic nature of VM workloads makes the situation complex. A cloud infrastructure is designed to serve its users in an on-demand way. A VM with initial low CPU and memory usage may demand significant computation resources due to the increasing number of users. Another VM may decrease its resource demand when its users finish their tasks. To cope with fluctuation of the VM workloads, a resource scheduling algorithm needs to adopt dynamic migration to move VMs among physical machines to optimize the performance of related VMs. A VM can be shifted from its host server with low load to a medium-load server with enough capacity to host. Subsequently, the old host server can be shut down when all the VMs hosted by it are removed, thus conserving the energy required to run this server. When using live migration, the user may be unaware of these changes [8].

The energy-aware resource management algorithm needs to consider both energy consumption and the service QoS requirements. In a cloud environment, each VM has a SLA to specify its performance parameters of CPU, memory, disk, and networks. When the resource management algorithm performs computation and possibly also data migration, these energy-aware optimization mechanisms may actually affect the performance of VM at least temporarily. Due to the variability of the workload and aggressive consolidation, some VMs may not obtain required resources at the peak load, so failing to meet the desired QoS requirements. Therefore, the primary objective of the energy-aware resource scheduling algorithm is to achieve the optimization of physical resource usage without violating the negotiated SLA.

The other challenge comes from the heterogeneous workloads in a cloud environment. Users can run a variety of applications such as social networking, scientific computing, and business services, that often demonstrate different characteristics of CPU usage, memory, and IO access. All these heterogeneous workloads with different QoS requirements in their SLAs make it more complicated to design an optimal resource scheduling algorithm. Current methods to energy efficient consolidation of VMs in cloud data centers usually focus on single type of workload without in-depth investigation into this problem.

In general, it is difficult to find the optimal solution to such an optimization problem with multiple optimization objectives and constraints. one can model this VM allocation and migration as an instance of the multi-dimensional bin-packing problem. Because of the NP-hard nature of the problem, heuristic approaches have been used to provide good results such as “First-Fit-Decreasing-Resource” and “Best-Fit-Decreasing-Resource” approach. To evaluate different heuristic algorithms, one needs to test these algorithms in different scenarios via either experiments or simulations. But a real experiment needs many measurement probes to set up for accurately profiling the energy consumption of a cluster. And it takes significant effort to modify the resource scheduling policies in a production data center for testing the performance and penalty of resource scheduling algorithms. Even if a scientists has access to the experimental data centers as energy efficiency test platforms, it is be hard to the same experiments repeatedly using various energy-saving algorithms with the exact same workload and verify the results due to the high variation in the workload, resource usage, and user behavior in large-scale data centers. Thus, simulation becomes a viable approach.

Although simulation-driven environment can facilitate large-scale power consumption research in a more cost-efficient way, it also has limitations, especially related to the simulation accuracy and authenticity. To address the accuracy, this paper introduces realistic workload and energy model in simulation experiments. The energy model is built from samples collected from physical servers in data centers running comprehensive benchmarks. Once the simulation-generated data closely match with real data, the simulation model can be used to evaluate various energy-saving algorithms accurately.

This paper describes a simulation framework for energy saving in cloud data centers and introduces a novel resource scheduling algorithm to minimize energy consumption. Specifically, this paper makes the following contributions:

  • 1.

    An accurate energy model to predict energy consumption of single machines: Accurate energy model is the foundation of this study. In most of the existing cloud computing energy studies, linear models are used to describe the relationship between energy consumption and resource utilizations. However, with the changes in computer architecture, the relationship between energy and resource utilizations may not be linear. In fact, this project explores a variety of regression analysis methods to estimate the energy consumption accurately with low computational overhead. Initially, multiple linear regression models are used, but they often do not produce good enough results. Thus, this project chose three non-linear models for experimentation and polynomial regression with Lasso produces the best estimation.

  • 2.

    A simulation-driven framework to evaluate energy-aware resource schedule algorithms: With an accurate energy model, this project extended CloudSim [9], an event-based simulation framework that allows modeling and experimentation of cloud infrastructure and applications. We rewrote all the modules associated with energy consumption, especially all the linear energy model are replaced by the new non-linear model. As this new model captures the usage of both CPU and the system memory, it is necessary to modify event monitors in the CloudSim models about physical servers, VMs, and jobs to implement this new model. Furthermore, based on this extended framework, we implemented several energy-aware resource scheduling algorithms to evaluate their performance under different workloads and system scales.

  • 3.

    An efficient resource scheduling algorithm to achieve energy efficiency in cloud infrastructure while ensuring the SLA of cloud services: In a cloud environment, a VM is scheduled as the resource unit. As the QoS requirement for each VM is independent, the VM scheduling problem can be modeled as a Bin Packing Problem [21]. The most common optimization strategies for this problem include First-Fit-Decreasing-Resource (FFDR) and Best-Fit-Decreasing-Resource Algorithms (BFDR). The FFDR is a greedy algorithm attempting to place a VM in the first available physical machine, while the BFDR looks for the physical machine with the highest workload but enough capacity for the new VM. Neither algorithm takes the energy consumption as its optimization goal. Therefore, this paper proposes a new energy-aware algorithm named as Best-Fit-Decreasing-Power (BFDP) and it locates the host machine expected to use the minimum energy. Simulation results show that this algorithm outperforms other algorithms.

This paper is organized as follows: Section 2 summarizes the related work in energy efficiency in cloud computing; Section 3 presents the new energy model and the updated simulation framework; Section 4 describes the energy-aware resource scheduling algorithm; Section 5 provides the simulation experiments and the analysis of results; Section 6 concludes this paper.

Section snippets

Related work

Many projects have been done in energy efficiency of cloud computing according to the cloud deployment architecture such as XaaS where X can be infrastructure, platform, or software.

Methodology

Simulation of energy consumption in clouds involves multiple steps including: building an accurate energy model for the target cloud system, designing and implementing candidate energy-aware algorithms, and evaluating simulations for running these algorithms under different scenarios. Fig. 1 displays the methodology in our project. Basically, this process has two phases: (1) establishing an energy model and (2) energy-saving algorithm evaluation.

The process of building energy model consists of

Energy-aware resource scheduling algorithms

This section describes several resources scheduling algorithms.

Experiments and analysis

To verify the effectiveness of the BFDP, we set up two sets of simulation environments, a cloud environment with a linear model, and another with a non-linear model. The experimental environment consists of 56–1000 computing nodes with each node a simulated server. We built up the server model according to SuperMicro blade server. Each server node has 2 Quad-Core Intel CPU at 2.4 GHz,12 G RAM,160 GB SAS Drive,600 GB Network Storage and 1 Gbps Ethernet Card. The specific configuration and energy

Conclusion and future work

This paper describes a new simulation framework with a new energy model with a novel energy-aware resource scheduling algorithm.

First, this paper developed an accurate energy model based on polynomial regression with Lasso to predict energy consumption.

Second, this paper proposed the BFDP by modifying the common used Best-Fit heuristic strategy and shifting its optimization goal from resource consolidation to power consumption.

Third, this paper extended CloudSim extensively to verify and

Acknowledgements

This work was supported by National Important Research Plan of Infrastructure Software Grant No. 2010ZX01042-002-001-00 and the State Key Laboratory of Software Development Environment Funding No. SKLSDE-2012ZX-19.

References (39)

  • ...
  • Gartner Press Release April 26, 2007, Gartner Estimates ICT Industry Accounts for 2 Percent of Global CO2 Emissions....
  • K.G. Brill

    Data Center Energy Efficiency and Productivity

    (2007)
  • J. Kaplan et al.
    (2008)
  • ...
  • ...
  • ...
  • Andrew J. Younge

    Efficient resource management for cloud computing environments

    Green Computing Conference, 2010 International

    (2010)
  • Rodrigo N. Calheiros, Rajiv Ranjan, Cesar A.F. De Rose, Rajkumar Buyya, CloudSim: A Novel Framework for Modeling and...
  • E. Feller, C. Morin, D. Leprince, State of the Art of Power Saving in Clusters and Results from the EDF Case Study,...
  • X. Fan, W.D. Weber, L. Barroso, Power provisioning for a warehouse-sized computer, in: Proc. International Symposium on...
  • C.H. Hsu, S.W. Poole, Power Signature Analysis of the SPECpower_ssj2008 Benchmark”, Performance Analysis of Systems and...
  • G. Contreras, M. Martonosi, Power Prediction for Intel XScale®Processors Using Performance Monitoring Unit Events, Low...
  • K. Singh, M. Bhadauria, S.A. McKee, Real Time Power Estimation and Thread Scheduling via Performance Counters, ACM...
  • C. Isci, M. Martonosi, Runtime power monitoring in high-end processors: methodology and empirical data, in: 36th...
  • D. Economou, S. Rivoire, C. Kozyrakis, P. Ranganathan, Full-system power analysis and modeling for server environments,...
  • A. Lewis, S. Ghosh, N.F. zeng, Run-time energy consumption estimation based on workload in server systems, in:...
  • S. Rivoire, P. Ranganathan, C. Kozyrakis, A comparison of high-level full-system power models, in: Proceedings of the...
  • G. von Laszewski et al., Power-aware scheduling of virtual machines in dvfs-enabled clusters, in: Cluster Computing and...
  • Cited by (0)

    View full text