4
Implementation of Neural Switch using OpenFlow as Load Balancing Method in Data Center Alex M. R. Ruelas , Christian E. Rothenberg (Adviser) Departamento de Engenharia de Computação e Automação Industrial (DCA) Faculdade de Engenharia Elétrica e de Computação (FEEC) Universidade Estadual de Campinas (Unicamp) Caixa Postal 6101, 13083-970 – Campinas, SP, Brasil {alrodrig,chesteve}@dca.fee.unicamp.br Abstract – The increasing traffic in data centers are affecting the performance due to bottlenecks and can result in packet loss. Hence multipath routes are better choice compared to single route option. Usage of multipath to route traffic can lead to lower management cost and increased performance at data centers. Since the traffic informations remain almost similar everyday in the data centers, the implementaion of Neural network is possible inside switch/router which can compose routing between origin and destination. Multipath routing with neural network can achieve dynamic load balancing and optimized routing without intervention from the SDN controller. Keywords – Data Center, SDN, OpenFlow, Network Neural, fat-tree topology. 1. Introduction The traffic that flows from the data center to users through the Internet has grown at a compound an- nual growth rate [2] of 23 percent from 2013 to 2018. Traffic growth rate per year EB 513 and EB 1457 respectively. Data centers are the main con- nection between users and various services offered (e.g. internet banking transfer), independent of the end user equipment such as computer, cell phone etc. One factor that could enhance the performance of our data centers is to use multipath routing over single path routing which can be congested easily. Software Defined Networking (SDN) intro- duces the separation of the control and data planes, the flow abstraction upon which forwarding deci- sions are made, the (logical) centralization of net- work control, and the ability to program the network [3]. The SDN employs OpenFlow 1.3 protocol [1] for monitoring network switches, sending policy commands to each switch, programming routes us- ing flow tables that can define the path information. Furthermore, the protocol allows for dynamic repro- gramming of network devices through an external controller that contains the control logic. The load balancing methods can be divided into two types: static load balancing and dynamic load balancing [6], in Static load balancing it is not possible to reassign the calculated route after data is transmit- ted. However, the dynamic load balancing method allows us to modify the router according to the con- tinuously updated traffic statistics. A dynamic load balancer[6] uses a perfor- mance management (PM). PM measures key indi- cators of network performance such as latency and packet loss for each route. This module can detect performance fluctuations in the network and if com- bined with an SDN controller, the controller can dy- namically reconfigure the network when bandwidth fluctuations occur. It may be the case that the information about the traffic generated in a data center is sim- ilar every day and the routing information doesn’t change. In this scenario neural networks can be used to develope control logic according to the system behavior, and can be trained. Neural network will be implemented in each network device to choose several the possible paths or routes, to send info, and to create a dynamic load balancer. The present work aims to use multiple paths between source and destination for a data center with fat-tree topology while being controlled by the neural network implemented in each switch or router. A collection system to collect metrics about bandwidth and and packet loss of each switch or router will be used to train neural networks. Our proposal will be compared with two load balancers: (random) static load balancer and ECMP load bal- ancer. 2. Proposal 2.1. System Architecture The objective of this study is to route data traffic using the previously trained neural network. The

Implementation of Neural Switch using OpenFlow as Load

  • Upload
    others

  • View
    10

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Implementation of Neural Switch using OpenFlow as Load

Implementation of Neural Switch using OpenFlow as LoadBalancing Method in Data Center

Alex M. R. Ruelas , Christian E. Rothenberg (Adviser)

Departamento de Engenharia de Computação e Automação Industrial (DCA)Faculdade de Engenharia Elétrica e de Computação (FEEC)

Universidade Estadual de Campinas (Unicamp)Caixa Postal 6101, 13083-970 – Campinas, SP, Brasil

{alrodrig,chesteve}@dca.fee.unicamp.br

Abstract – The increasing traffic in data centers are affecting the performance due to bottlenecks and can resultin packet loss. Hence multipath routes are better choice compared to single route option. Usage of multipathto route traffic can lead to lower management cost and increased performance at data centers. Since the trafficinformations remain almost similar everyday in the data centers, the implementaion of Neural network is possibleinside switch/router which can compose routing between origin and destination. Multipath routing with neuralnetwork can achieve dynamic load balancing and optimized routing without intervention from the SDN controller.

Keywords – Data Center, SDN, OpenFlow, Network Neural, fat-tree topology.

1. Introduction

The traffic that flows from the data center to usersthrough the Internet has grown at a compound an-nual growth rate [2] of 23 percent from 2013 to2018. Traffic growth rate per year EB 513 and EB1457 respectively. Data centers are the main con-nection between users and various services offered(e.g. internet banking transfer), independent of theend user equipment such as computer, cell phoneetc. One factor that could enhance the performanceof our data centers is to use multipath routing oversingle path routing which can be congested easily.

Software Defined Networking (SDN) intro-duces the separation of the control and data planes,the flow abstraction upon which forwarding deci-sions are made, the (logical) centralization of net-work control, and the ability to program the network[3].

The SDN employs OpenFlow 1.3 protocol[1] for monitoring network switches, sending policycommands to each switch, programming routes us-ing flow tables that can define the path information.Furthermore, the protocol allows for dynamic repro-gramming of network devices through an externalcontroller that contains the control logic. The loadbalancing methods can be divided into two types:static load balancing and dynamic load balancing[6], in Static load balancing it is not possible toreassign the calculated route after data is transmit-ted. However, the dynamic load balancing methodallows us to modify the router according to the con-tinuously updated traffic statistics.

A dynamic load balancer[6] uses a perfor-mance management (PM). PM measures key indi-cators of network performance such as latency andpacket loss for each route. This module can detectperformance fluctuations in the network and if com-bined with an SDN controller, the controller can dy-namically reconfigure the network when bandwidthfluctuations occur.

It may be the case that the informationabout the traffic generated in a data center is sim-ilar every day and the routing information doesn’tchange. In this scenario neural networks can be usedto develope control logic according to the systembehavior, and can be trained. Neural network willbe implemented in each network device to chooseseveral the possible paths or routes, to send info, andto create a dynamic load balancer.

The present work aims to use multiple pathsbetween source and destination for a data centerwith fat-tree topology while being controlled bythe neural network implemented in each switch orrouter. A collection system to collect metrics aboutbandwidth and and packet loss of each switch orrouter will be used to train neural networks. Ourproposal will be compared with two load balancers:(random) static load balancer and ECMP load bal-ancer.

2. Proposal

2.1. System ArchitectureThe objective of this study is to route data trafficusing the previously trained neural network. The

Page 2: Implementation of Neural Switch using OpenFlow as Load

path are chosen with greater availability of band-width and lower packet loss. The neural networkalgorithm is implemented inside the Open vSwitch(OVS)[5] as an internal controller for routing traffic.As it does not depend on a central controller (SDN)for a switch or router, it eliminates processing timein the routing decision. The internal control switchor router will enhance the performance of the datacenter.

A general scheme is shown in Figure 1.

Figure 1. General scheme.

The protocol choosen is OpenFlow 1.3[1],where we use the Group Table function that allowsto interact the neural network algorithm inside eachswitch or router. It is not controlled by any externalcontroller to program the flow tables. The sFlow-RTprogram allows to obtain statistics and OpenDay-light sends the parameters for each neural networkthat is on the switch/router. A program developed inpython named SeRMoP (Collection Service, mon-itoring, parameter setting, and sending data ) willallow to collect metrics from all the switches androuters using the REST API. The different collectedmetrics are bandwidth availability for each outputport and packet loss on each link from the possiblepaths . Furthermore, it conduct a real-time moni-toring behavior of the traffic information. Next theparameterized entries will be sent to each switch orrouter to be used by the neural network in the rout-ing decision. Every 5 min this procedure will be

repeated.

2.2. TopologyTo route data traffic between user and server, fat-tree topology presents multiple paths, allowing thesending of information by various routes.

Figure 2. Fat tree

The Figure 2 shows the fat-tree topologydata center. It consists of three levels, where the firstlevel is core, second level is aggregation and thirdlevel edge. Each node represented as a switch orrouter will have an implementation of a backprop-agation neural network. At present there are no re-search proposal work in reference to our proposal.Our simulation uses Mininet network simulator[4].We implemented the OpenFlow switch with OpenvSwitch (OVS)[5].

2.3. Neural NetworkWe used the back propagation neural network(BPNN). We had 4 input nodes, 3 hidden nodes, and2 output node as shown in Figure 3. The inputs arethe availability of bandwidth and packet loss, for ex-ample in figure 3 shows the neural network to theswitch 5 is:

Figure 3. BPNN 4 input, 3 hidden, 2 output

Page 3: Implementation of Neural Switch using OpenFlow as Load

As is connected to SW2 and SW3, inputsfor BPNN are bandwidth (BW): Port 5-2 and Port5-3, also packet loss (PL): Link 5-2 and Link 5-3.

The collected data (available bandwidth andpacket loss) is responsible for parameterized BWand PL in the range of 0 to 1, to send the data tothe neural network, for example the value 0.5 repre-senting 50% of the available bandwidth or the value0.1 representing 10% of availability of bandwidth.

The neural networks are uses their ability tobe trained of the specific job like multipath routingwhile utilizing most of the infrastructure link dataand achieves dynamic load balancing depending onthe bandwidth and packet loss.

2.4. Load Balancing MethodThe use of a predetermined traffic in the static loadbalancer allow knowing the behavior of BW and PLon switches with other switches. These data willbe collected and used to train neural networks. Thesame experiment was developed with the load bal-ancer ECMP. Then the path or multipath will be de-fined by the training of BW and PL with respect tothe communication between neighbor switches.

The behavior of the neural network to de-cide where to send packets, will be illustrated in fig-ure 4, for example, if the PC connected to switch 5wants to communicate with the PC of the switch 10,possible routes are:

• 5-3-1-8-10• 5-3-1-8-9-7-10• 5-3-4-2-6-7-10• 5-3-4-2-6-7-9-8-10• 5-2-6-7-10• 5-2-6-7-9-8-10• 5-2-4-3-1-8-10• 5-2-4-3-1-8-9-7-10

Figure 4. Fat-tree routing

When a packet reaches the switch 5, theBPNN decides to send the switch SW3 or SW2. Ifthe switch 2 is elected, this will be evaluated againby the BPNN (Switch 2) on each route. the BPNNdecides where the data will go. It may be the casewhere it divides, the data flow for both routes, suchas 50% for each route, or also send 70% in the firstroute and the other 30%.

For this example we illustrate the behaviorBW for the static load balancer:

Figure 5. Fat-tree routing

Figure 5 shows that the BW is reduced be-cause of using the same route between the originand destination.

The behavior BW for the ECMP load bal-ancer:

Figure 6. Fat-tree routing

In Figure 6 shows that the BW increasecompared to Figure 5 and has instants where moreincreases BW.

3. ConclusionNeural networks can develop new routes or multipleroutes, in the data center for data traffic. The benefit

Page 4: Implementation of Neural Switch using OpenFlow as Load

of having multiple paths between source and desti-nation allows for greater bandwidth with less packetloss. The OpenFlow protocol allows implement al-gorithms inside the switch as an internal controller.

References[1] Openflow switch specification, version 1.3.0.

https://www.opennetworking.org/images/stories/downloads/sdn-resources/onf-specifications/openflow/openflow-spec-v1.3.0.pdf. (accessedin 09/07/2015).

[2] Cisco 2014. Cisco global cloudindex: Forecast and methodol-ogy, 2013 - 2018. http://www.cisco.com/c/en/us/solutions/collateral/service-provider/global-cloud-index-gci/Cloud_Index_White_Paper.pdf. (accessed in09/07/2015).

[3] Diego Kreutz, Fernando MV Ramos, P Es-teves Verissimo, Christian Esteve Rothen-berg, Siamak Azodolmolky, and Steve Uh-lig. Software-defined networking: A com-prehensive survey. proceedings of the IEEE,103(1):14–76, 2015.

[4] Bob Lantz, Brandon Heller, and Nick McKe-own. A network in a laptop: rapid prototypingfor software-defined networks. In Proceedingsof the 9th ACM SIGCOMM Workshop on HotTopics in Networks, page 19. ACM, 2010.

[5] Ben Pfaff, Justin Pettit, Teemu Koponen,Ethan J Jackson, Andy Zhou, Jarno Rajahalme,Jesse Gross, Alex Wang, Jonathan Stringer,Pravin Shelar, et al. The design and implemen-tation of open vswitch. In 12th USENIX Sym-posium on Networked Systems Design and Im-plementation, 2015.

[6] Y Zhang, H Kameda, and S-L Hung. Com-parison of dynamic and static load-balancingstrategies in heterogeneous distributed systems.IEE Proceedings-Computers and Digital Tech-niques, 144(2):100–106, 1997.