An Energy-Aware Algorithm for Optimizing
Resource Allocation in Software Defined Network
Bing Yu, Yanni Han, Xuemin Wen, Xin Chen, Zhen Xu
State Key Laboratory of Information Security, Institute of Information Engineering,
Chinese Academy of Sciences, Beijing 100093, China
Corresponding Author: hanyanni@iie.ac.cn
Abstract—With the increasing popularity of cloud computing,
the huge amount of energy consumed by data centers has gained
much attention. Current proposals address the energy efficiency
problem by two major methods: optimizing the allocation of
physical servers and network elements (routers or switches). In
order to improve resource utilization and minimize the energy
consumption, the former method focuses on virtual machine
(VM) placement regardless of the inherent traffic between VMs.
The latter designs power saving routing and flow scheduling
while this method neglects the resource demands in VMs. In this
paper, we jointly consider the VM placement and network routing
to optimize energy cost. In addition, we take advantage of the
centralized and global controller in Software Defined Networking
(SDN) paradigm. Inspired by the idea of Data Field, we propose
a novel algorithm to evaluate the importance and relationships
among multiple VMs. The potential score based on Data Field is a
more accurate global ranking considering the resource demands
and inter-VM traffic. Extensive simulations are conducted on
different scales of typical data center topologies, such as Fat-
Tree and BCube. Results show that our proposal can reduce
the number of active devices including the servers and network
elements, and thereby saves power consumption. Moreover, the
proposed algorithm improves network performance by decreas-
ing the average hops of per flow.
I. INTRODUCTION
Cloud computing has been proven to be a promising
paradigm which adopts network virtualization technology and
provides infrastructures and resources as a service [1]. In
cloud data centers, service providers (SPs) lease physical
resources (e.g., CPU, memory, disk) and network resources
(e.g., bandwidth, link) from infrastructure provider (InP) in
an on-demand manner and deploy applications in the form of
virtual machines (VMs). With the dramatic growth of large
scale data centers, energy consumption of clouds has gained
much attention for highly carbon footprint and electric cost,
which is expected to account for 8% of the world electricity
by 2020 [2]. However, current approaches mainly focus on
power saving from two aspects separately, namely physical
machines (PMs, or called servers) by VM placement and
network elements (such as switches) by flow routing. On
the other hand, Software Defined Networking (SDN) as an
emerging technology has been widely applied to data centers.
Its significant advantage of central controller helps to obtain
global view of the network and make coordinated decisions
for resource provision, thereby achieves objectives such as
improving resource utilization and reducing energy cost.
Generally, server energy is cut down by consolidation,
which basically aims at minimizing the number of running
servers. For instance, Verma et al. [3] formulated the problem
of VM placement as a bin-packing problem and put forward
a workload assignment scheme named pMapper. Younge et
al. [4] proposed the power model for PMs and confirmed
energy savings can be achieved by continuous consolidation of
servers. Beloglazou et al. [5] designed energy-aware heuristics
for assigning VMs in the way of best fit decreasing and
consolidating under-utilized servers to save energy. However,
the main limitation of above proposals is that they ignore the
traffic interactions between VM pairs and energy consumed
by network devices. This makes such approaches dissatisfy
the bandwidth demands, increase network energy and even
degrade the network scalability. Similarly, from the perspec-
tive of network energy saving, the intention is to minimize
the active switches and ports by making use of the richly-
connected topologies in data centers. The most typical routing
scheme is ElasticTree which dynamically adjusts the set of
active links and switches to satisfy changing traffic loads with
energy efficiency [6]. In addition, Xu et al. [7] established a
model of routing problem which gradually removed switches
and links to reduce power consumption while meeting the
network performance requirements. Unfortunately, the above
proposals concentrate on energy saving from network resource
management without consideration of physical resources.
In the field of jointly deploying physical resources and net-
work resources by VM placement and flow routing, Meng et
al. [8] formulated it as Quadratic Assignment Problem (QAP),
then partitioned VMs and PMs into clusters and matched them
individually. They aimed at improving the network scalability
by placing VM pairs with heavier traffic closer. In order to
minimize traffic cost as well as improve utilization of servers
and links, Jiang et al. [9] proposed an online algorithm using
Markov approximation to place VMs and route flows jointly.
Zheng et al. [10] designed a power optimization framework
called PowerNetS, which comprises of a VM consolidation
module and a traffic consolidation module. They leveraged
workload correlation analysis to avoid workloads of different
servers and flows peaking simultaneously. Moreover, SDN
is implemented in clouds to control and manage resources
centrally. For instance, IBM proposed a SDN-based cloud
network management framework named NetGraph [11]. In
NetGraph, a shared graph algorithm library is used to obtain