• 沒有找到結果。

Load Balancing

6.2 Flow Routing

Traditional routing mechanisms provide single route path on the same source and destination due to the fixed algorithm written in the network devices.

Therefore, it can not compute fine-grained routing path based on the network status. After applying energy saving, nearly all of the power-on servers are

in full utilization. In other words, VMs take up all the bandwidth resource on some specific path. In the traditional static routing, there are numbers of data transmission on the same path so that it definitely occurs bottleneck at the lower switch level. Besides, the traditional routing algorithm is a dis-tributed system. In such huge scale of datacenter networks, routing tables are updated dynamically by obtaining the network information from other routers. Routers in the network must constantly update the information of the changes in the topology. Routers may be added or removed, or routers may be out of function due to failures in the physical links. This situation may lead to failure of routing path decision. Flow routing can provide a way to route in alternative path when failures and congestions happen unexpect-edly.

In traditional networks, the concept of flow routing has been proposed already. Edge Node Divided Spanning Tree (ENDIST) [22] is also a shortest-path routing algorithm. It divides edge nodes into sub-nodes, which helps to assign MAC address for each sub-node. ENDIST avoids the discipline of single path in spanning tree protocol by adopting flow-basis selection.

Hash-Based Routing (HBR) [28] is another method applying flow routing.

It constructs a routing path hash table as MAC address. The advantage of HBR is fast table look-up mechanism. HBR defines flows by the port they are received and decides the corresponding output ports for routing. Many different strategies, such as Round Robin, can be incorporated with HBR. It is applied onto a two-stage and fully-mesh topology and thus the flow can be transmitted effectively. A new routing algorithm, Dynamic & Disjoint ENDIST-based (D2ENDIST), is proposed to support various types of multi-layer scale network topologies, dynamic adjustment of traffic imbalance and fast recovery from link failure and VM migration. It consists of two main

stages: (1) routing by disjoint ENDIST and (2) rerouting with dynamic reweights.

6.3 Proposed Module

Figure 6.1: VM placement with load balance mechanism.

Fig. 6.1 is an illustrative an example that load balancing mechanism can improve network performance greatly. After the process of hop reduction and energy saving, we assume that VMs are hosted under switch 6 and switch 8. With traditional static routing algorithm, we notice that all of the traffic flows follow the path 6-2-0-4-8, which happens congestion. The purpose of load balancing is to detect the over-utilized links so that it can decide alternative path 6-3-1-5-8 to ease congestion. It helps to reach a balanced network.

Now, we have decided which host VMs should be put with the constrains of energy efficiency and hop reduction. Owing to the advantage of SDN, load balancing attempts to achieve flow transmission in networks without congestion. In SDN datacenters, the controller can assign flows to different

routing paths although they have the same source and destination. The con-troller monitors the utilization of every link in datacenter networks. Once controller detects that a link reaches to the threshold, like 90 % of the max-imum capacity, it will immediately assign another low utilization path and move certain portion of flows on it to balance the traffic. When VMs are randomly added or removed with time, we will periodically compute the new placement to maintain the network in the constraints of energy efficiency and delay reduction. Then, load balancing repeats again.

Chapter 7

Experimental Results

Through our proposed system model, we can notice that there are two parts of our experiment. One is to determine how to arrange VMs on servers based on energy efficiency and hop reduction. The other is to put our VM placement on the simulation tool to observe network performance. In the former part, we apply Java [29] programming to compute our VM placement setting. In the later part, we use NS2 [30] as our simulation tool.

Although there exist some simulation tools, such as Mininet [31], to create OpenFlow network environment and emulate the behavior of the controller managing the flows. However, Mininet is unable to quantify the traffic and the bandwidth information so that it is impossible to evaluate network per-formance. It is originally designed to perform how the controller modifies flow headers to manage OpenFlow networks. On the contrary, NS2 pro-vides source routing which can designate the routing path of each flow like OpenFlow controller does. That is why NS2 is adopted in our work.

In our experiment, given that topology architecture is a 3-tier fat-tree datacenter network, consisting 16 core-level, 32 aggregate-level and 32 edge-level switches. Each edge-edge-level switch can connect 8 servers, and each server

can host 4 VMs. We assume 256 VMs that power consumptions, memory usages and bandwidth demands are given from the network snapshot. The bandwidth demands of VMs meet the uniform distribution from 0 to 100%

utilization of the link capacity (10 Mb). Power consumptions and memory usages also meet uniform distribution U (0, 100), which are represented in the utilization percentage of a server. When we run the simulation in 10000 VMs, it occurs the problem of insufficient memory. Therefore, our model supports to the maximum size of 10000 VMs in datacenters. Some research show that communication intensive applications [12] appear more often nowadays.

Therefore, a large number of FTP traffic flows are generated to represent the real situations. Besides, most of the data transmission among VMs is related and confined in certain VMs [13]. We apply the group traffic as our traffic pattern. In our experiment, the default simulation time of networks is set as 100 seconds.

相關文件