Energy
Efficiency in Data Centers and Clouds
Demand for computing power has been increasing due to the
penetration of information technologies in our daily interactions with the
world both at personal and public levels, encompassing business, commerce,
education, manufacturing, and communication services. At personal level, the
wide-scale presence of online banking, E-commerce, SaaS (Software as a
Service), social networking, and so on produce workloads of great diversity and
enormous scale. At the same time, computing and information processing
requirements of various public organizations and private corporations have also
been increasing rapidly. Examples include digital services and functions
required by the various industrial sectors, ranging from manufacturing to
housing, from transportation to banking. Such a dramatic increase in the
computing demand requires a scalable and dependable IT infrastructure
comprising of servers, storage, network bandwidth, physical infrastructure, electrical grid,
IT personnel and billions of dollars in capital expenditure, and operational
cost to name a few.
Datacenters are the backbone of today's IT infrastructure. The reach of
datacenters spans a broad range of application areas from energy production and
distribution, complex weather modeling and prediction, manufacturing,
transportation, entertainment, and even social networking. There is a critical
need to continue to improve efficiency in all these sectors by accelerated use
of computing technologies, which inevitably requires increasing the size and
scope of datacenters. However, datacenters themselves are now faced with a
major impediment of power consumption. Some reports estimate that the
datacenter electricity demand in 2012 was around 31 GW globally, which is
equivalent to the electricity demand of around 23 million homes. These reports
also predict fast growth rate for electrical energy consumption in datacenters.
Power consumption of datacenters will soon match or exceed many other
energy-intensive industries such as air transportation.
Apart from the total energy
consumption, another critical component is the peak power; according
to an EPA report, the peak load on the power grid from datacenters is estimated
to be approximately 7 GW in 2006 in the United States, equivalent to the
output of about 15 base-load power plants. This load is increasing as shipments
of high-end servers used in datacenters (e.g., blade servers) are increasing at
a 20–30% CAGR.
System-wide power management is a huge challenge in datacenters. First,
restrictions on availability of power and large power consumption of the IT
equipment make the problem of datacenter power management a very difficult one
to cope with. Second, the physical infrastructure (e.g., the power backup and
distribution system and the computer room air conditioning systems) tends to
account for up to one-third of total datacenter power and capital costs. Third,
the peak instantaneous power consumption must be controlled. The reason for
capping power
dissipation in the datacenters is the capacity limitation of
the power delivery
network in the datacenter facility. Fourth, power budgets in
datacenters exist in different granularities:
datacenter, cluster, rack, or even servers. A difficulty in the power capping
is the distributed nature of power consumption in the datacenter. For example,
if there is a power budget for a rack in the datacenter, the problem is how to
allocate this budget to different servers and how to control this budget in a
distributed fashion. Finally, another goal is to reduce the total power
consumption. A big portion of the datacenter operational cost is the cost of
electrical energy purchased from the utility companies. A trade-off exists
between power consumption and performance of the system and the power manager
should consider this trade-off carefully. For example, if the supply voltage
level and clock frequency of a CPU are reduced, the average power
consumption (and even energy needed to execute a given task) is
reduced, but the total computation time is increased.
Low utilization of servers in a datacenter is one of the biggest factors
in low power efficiency of the datacenter. The most important reason behind
having the best energy efficiency at 100% load in servers is the energy non-proportional
behavior of the servers. This means that servers with idle status consume a big
portion of their peak power consumption. The fact that most of the times,
servers are utilized with between 10% and 50% of their peak load and discrete
frequent idle times of servers amplify this issue in the datacenters. This
fact motivates the design of energy-proportional servers to minimize the
overall power consumption. However, due to the non-energy-proportional nature
of the current servers, it is prudent from an energy efficiency viewpoint to
have as few servers as possible turned on with each active server being highly
utilized. In order to decrease the number of active servers, sharing a physical
server between several applications is necessary. Virtualization
technology creates this opportunity.
Virtualization technology creates an application-hosting environment
that provides independence between applications that share a physical machine
together. Nowadays, computing systems rely heavily on this technology.
Virtualization technology provides a new way to improve the power efficiency of
the datacenters: consolidation. Consolidation means assigning more than one
virtual machine (VM) to a physical server. As a result, some of the servers can
be turned off and power consumption of the computing system decreases. Again
the technique involves performance-power trade-off. More precisely, if
workloads are consolidated on servers, performance of the consolidated VMs may
decrease because of physical resource
contention (CPU, memory, I/O bandwidth) but the power
efficiency will improve because fewer servers will be used to service the VMs.
In order to determine the amount of the resources that needs to be allocated
to each VM, some performance target needs to be defined for each VM. The IT
infrastructure provided by the datacenter owners/operators must meet
various service level
agreements (SLAs) established with the clients. The SLAs may be
resource related (e.g., amount of computing power, memory/storage space,
network bandwidth), performance related (e.g., service time or throughput), or
even quality of service (QoS) related (24-7 availability, data security,
percentage of dropped requests). SLA constraints can be used to determine the
limit (minimum and maximum) on the resource requirement of each VM to be able
to satisfy the required performance target. On the other hand, in order to
minimize the operational cost of the datacenter, energy cost also needs to be
considered to decide about optimal resource assignment to VMs.
The scale of the resource management problem in datacenters is very big
because a datacenter comprises of thousands to tens of thousands of server machines,
working in tandem to provide services to hundreds of thousands clients at the
same time. In such a large computing system, energy efficiency can be maximized
through system-wide resource allocation and VM consolidation. This is in spite
of non-energy-proportional characteristics of current server machines.
Resource management solution affects the operational cost and admission
control policy in the cloud computing
system. Resource management in datacenter is usually handled by three
types of resource manager:
resource arbiter, power manager, and thermal managers. Resource arbiter or VM
manager decides about VM to server
assignment and migration and resource allocation. Power manager
controls the average and peak power in a distributed or centralized fashion in
datacenters and thermal manager keeps the hardware temperature below certain
critical point and minimizes the power consumption of the cooling system. In
this chapter, a review of the most important work in the area of the resource
arbiter and power manager is presented. Moreover, a novel approach to minimize
the energy cost of datacenter by increasing the VM consolidation opportunity using
VM replication is proposed.
Generating multiple copies of a VM and placing them on different servers
is one of the basic ways to increase the service reliability. In this approach,
only the original copy of the VM handles the requests and the other copies are
idle. In this chapter, we propose to exploit all of these copies for servicing
the requests. In this scenario, resource provided for each copy of the VM
should satisfy SLA requirements and the set of distributed VMs should be able
to service all of the incoming requests. For this reason, memory bandwidth (bandwidth)
provided for each copy of the VM should be the same as that of the original VM
whereas the total CPU cycles provided for these VMs should be greater or equal
to the provided CPU cycles for the original VM. Using this approach and an
effective VM placement algorithm,
which determines the number of VMs and place them on physical machines, the
energy cost of the system can be reduced by 20%.
The proposed VM replication and placement
algorithm is based on the dynamic programming (DP) and local search
methods. The DP method determines the number of copies for each VM
and places them on servers and the local search tries to minimize the energy
cost by turning off the under-utilized servers.
Comments
Post a Comment