Software defined networking and virtual machine placement in data centers
Date of Issue2015
School of Computer Engineering
Increasing popularity of cloud computing and server virtualization has led to large Data Centers with tens of thousands of servers interconnected by a network. In a Data Center, server resources are shared by a number of Virtual Machines (VMs) and network bandwidth is shared by the traffic generated by the VMs. Recently, there has been a prominent shift from the traditional north-south traffic pattern (between servers in the Data Center and external clients) to east-west traffic pattern (between servers within the Data Center). Such traffic patterns are characterized by a mix of large number of short(mice) flows and small number of large (elephant) flows. The servers in a Data Center are connected by a Data Center network which generally uses a 3-tier multi-rooted tree topology. A key limitation of current Data Center networks is the absence of effective traffic engineering mechanism for routing traffic between servers. This results in overloading of certain links leading to congestion affecting the performance of applications. The conventional Spanning Tree Protocol (STP) does not utilize multipath diversity leading to congestion and poor network utilization. The existing Equal-Cost Multipath routing (ECMP), which is a hash-based routing method can make use of the available multiple paths. But, it does not consider the dynamic state of the network link utilization which could lead to a number of large elephant flows mapped to the same link causing congestion. Further, the capability of recently-emerged software-defined networking (SDN), VM placement, and VM migration techniques are not effectively used for dealing with congestion and failures. To address the above limitations, in this thesis, we investigated the problem of traffic engineering in Data Centers and studied several related issues focusing on congestion, fault tolerance, power consumption, and caching. Our solution approaches leverage on the unique features of SDN, VM placement, and VM migration. First, we developed an adaptive layer-2 load balancing framework utilizing multi-path diversity. This mechanism adaptively routes traffic based on path load conditions that enhances forwarding in Layer-2 Ethernet switches. It distributes traffic adaptively on multiple paths to reduce congestion and also ensures effective traffic redistribution upon link failures. Leveraging on the capability of SDN for monitoring the state of the links, we developed a flow-based adaptive rerouting scheme which considers the dynamic network state to provide high bisection bandwidth for throughput-sensitive flows. Our proposed scheme focuses on rerouting large flows to alternative paths in the event of link congestion or failure. We then extended the SDN-based framework for addressing the routing problem for the data replication application which is an effective approach for data reliability in Data Centers. Although, SDN brings in several benefits, it is still a challenge for SDN to provide a fair treatment for elephant flows in a Data Center due to the use of Ternary Content Addressable Memory (TCAM) -based flow tables which are limited in size for the reasons of cost and energy efficiency. To address the problem of frequent eviction of elephant flows, we proposed a differential flow cache framework to provide a fair treatment to elephant flows in the presence of large number of mice flows. We then addressed the problem of traffic engineering considering VM placement, a unique feature in Data Centers. We studied the problem of reducing congestion while providing a certain protection grade upon a link failure. We developed a greedy VM placement algorithm taking into consideration the impact on network load, and route traffic over two link-disjoint paths to solve the above problem. Leveraging on the feature of VM migration in Data Centers, we proposed a method for saving power using intelligent VM placement and migration in Data Centers. We carried out performance study through simulation experiments and also prototype implementations. The results demonstrate that our methods are effective in achieving the objectives.
DRNTU::Engineering::Computer science and engineering