Download as pdf or txt
Download as pdf or txt
You are on page 1of 5

See discussions, stats, and author profiles for this publication at: https://www.researchgate.

net/publication/328439451

A Load Balancing Method based on Artificial Neural Networks for Knowledge-


defined Data Center Networking

Conference Paper · October 2018


DOI: 10.1145/3277103.3277135

CITATIONS READS

14 1,471

2 authors:

Alex Midwar Rodriguez Ruelas Christian Esteve Rothenberg


University of Campinas University of Campinas
1 PUBLICATION 14 CITATIONS 188 PUBLICATIONS 8,073 CITATIONS

SEE PROFILE SEE PROFILE

All content following this page was uploaded by Christian Esteve Rothenberg on 06 December 2018.

The user has requested enhancement of the downloaded file.


A Load Balancing Method based on Artificial Neural Networks
for Knowledge-defined Data Center Networking
Alex M. R. Ruelas Christian Esteve Rothenberg
University of Campinas (UNICAMP) University of Campinas (UNICAMP)
Campinas, SP, Brazil Campinas, SP, Brazil
alrodrig@dca.fee.unicamp.br chesteve@dca.fee.unicamp.br

ABSTRACT distribute the network traffic through different service replicas. Al-
The growth of cloud application services delivered through data cen- though this approach achieve high performance in general, it is
ters with varying traffic demands unveils limitations of traditional expensive and lacks of flexibility in its configuration, which cannot
load balancing methods. Aiming at attending evolving scenarios be dynamically adjusted based on real-time information.
towards improved network performance, this paper presents a load As an innovative networking technology that offers (logical)
balancing method based on an Artificial Neural Network (ANN) in centralization of programmable network control, Software Defined
the context of Knowledge-Defined Networking (KDN). KDN seeks Networking (SDN) [9] has been applied to many load balancing
to leverage Artificial Intelligence (AI) techniques for the control and and traffic engineering systems [1], based on decoupling of the
operation of computer networks. KDN extends Software Defined data and control planes, with the state in the data plane being
Networking (SDN) with advanced telemetry and network analytics managed by a remote SDN controllers. OpenFlow version 1.3 [14]
introducing a so-called Knowledge Plane. The proposed ANN is is the most well-known allowing for this control plane split and
capable of predicting the network performance according to traffic data plane programmability. OpenFlow-based SDN can be used
parameters by creating a model of traffic behavior based on band- for monitoring network switches, sending policy instructions to
width and latency measurements over different paths. The method each switch, defining routes through arbitrary flow table entries,
includes training the ANN model to choose the path with least load. and so on. The dynamic reconfiguration of network devices is
We conduct a series of experiments in an emulated environment done by external controllers running the control logic with global
to validate the proposed method. The initial experimental results knowledge of the network state.
point to the potential performance gains of KDN approaches. Knowledge-Defined Networking (KDN) [12] is a recent network-
ing paradigm based on the application of Artificial Intelligence (AI)
CCS CONCEPTS techniques for the control and operation of the network. KDN relies
on SDN, telemetry, network analytics, and introduces a so-called
• Networks → Network design principles; Network algorithms;
Knowledge Plane for network control and management operations.
• Computing methodologies → Neural networks;
In this paper, we propose a KDN approach based on a load bal-
ancing method using performance metrics (bandwidth and latency)
KEYWORDS
of each path of the network. Applying an Artificial Neural Net-
SDN, OpenFlow, sFlow, Data center, Artificial Neural Network, work (ANN) to model the system behavior, the proposed load bal-
Knowledge-Defined Networking. ancing method selects the least loaded path for each flow, altogether
ACM Reference Format: improving the SDN routing capabilities.
Alex M. R. Ruelas and Christian Esteve Rothenberg. 2018. A Load Balancing The rest of this paper is organized as follows. Section II gives an
Method based on Artificial Neural Networks for Knowledge-defined Data overview of the related works. Section III presents the proposed
Center Networking. In Proceedings of the 2018 IFIP Latin American Network- load balancing scheme and describes the method to acquire two load
ing Conference (IFIP LANC 2018), October 2018, São Paulo, Brazil. ACM, New
features and the primary mechanism of Artificial Neural Network
York, NY, USA, 4 pages. https://doi.org/10.1145/3277103.3277135
to achieve integrated path load. Section IV presents the experimen-
tal results compared with other load balancing schemes. Finally,
1 INTRODUCTION
Section V concludes this paper with final remarks and future work.
Data centers around the world are the hosting infrastructures of
Internet applications and services (i.e., multimedia content, Inter- 2 RELATED WORK
net banking, social networks). Traditional load balancing methods
in such data center networks use dedicated hardware devices to Many methods and mechanisms have been proposed to implement
load balancing beyond Equal-Cost MultiPath (ECMP) [8] in SDN en-
Permission to make digital or hard copies of all or part of this work for personal or
classroom use is granted without fee provided that copies are not made or distributed
vironments using the OpenFlow protocol [1][2][3][10][11][18]. In
for profit or commercial advantage and that copies bear this notice and the full citation Valiant Load Balancing (VLB) [19], the controller analyzes response
on the first page. Copyrights for components of this work owned by others than ACM information from OpenFlow switches and modify the flow-tables
must be honored. Abstracting with credit is permitted. To copy otherwise, or republish,
to post on servers or to redistribute to lists, requires prior specific permission and/or a following specific load balancing strategy, in order to efficiently plan
fee. Request permissions from permissions@acm.org. data transmission path and achieve load balancing in SDN. How-
IFIP LANC 2018, October 2018, São Paulo, Brazil ever, these strategies belong to the static load balancing method
© 2018 Association for Computing Machinery.
ACM ISBN 978-1-4503-5922-1/18/10. . . $15.00
unable to make a dynamic routing plan, according to real-time
https://doi.org/10.1145/3277103.3277135 network load condition. In [3], the proposed design is a dynamic
load-balancer using an active Performance Management (PM) in
order to decrease the drop level. Thus, the PM measures key indica-
tors of network performance such as latency and packet loss for all
network paths. With the goals of load balancing and improving the
overall performance, this module can detect performance fluctua-
tions and allow an SDN controller to reroute traffic around links
with reduced capacity.
Al Sallami et al. [17] present an ANN-based load balancing tech-
nique. To distribute equal load among all the servers, this technique
uses back propagation algorithm. Demand of each user is predicted
and resources are allocated according to the predicted demand, but
the active servers at any given time depend on the demand of users
for a specific time. As a result, active servers are minimized which
leads to low energy consumption. Furthermore, relation between
energy consumption and carbon emission is discussed in this work.
Yang et al. [18] implements an OpenFlow load balancing module
and establishes a data mining algorithm to predict the future user Figure 1: Load Balancing System Proposed.
traffic. In this work, the proposed load balancer is compared with
the others and measured the influence of flows and tested the effect
of delay times. The experimental results show the proposed module (3) The ANN module process the metrics and chooses the least
is faster than the general load balancer. loaded path and sent to the SDN controller.
The dynamic load balancing algorithm proposed in [5] is based (4) The SDN controller receives the chosen path from the ANN
on OpenFlow and sFlow to efficiently distribute traffic among Module and creates flow-tables for allocation to the Open-
servers of the cluster. The algorithm makes decisions based on Flow switches.
real-time traffic statistics obtained via the sFlow protocol. (5) The procedure is repeated every 10 seconds.
Research on KDN-based data center networks offers new av-
enues for novel load balancing methods. There are several tools 3.3 Path Features Extraction Using sFlow-RT
to collect network information, e.g., sFlow protocol, performance
sFlow is a general purpose network traffic measurement technol-
management tools, OpenFlow protocol, etc. In this paper, we in-
ogy. The sFlow Agent uses the statistical packet-based sampling of
vestigate a KDN-based method using the network global view to
switched packet flows to capture traffic statistics from the switch.
collect two load features, namely available bandwidth and observed
Therefore, the traffic can be accurately identified and monitored
path latencies to feed an Artificial Neural Network (ANN) capable
[16]. In order to acquire the load condition of each path, sFlow-RT
of suggesting load balancing decisions on the least loaded paths.
is used to obtain the link load condition between two switches.
We the implement the sFlow-RT application “Real-time network
3 LOAD BALANCING METHOD USING AN weather map example”1 to estimate the available bandwidth in each
ARTIFICIAL NEURAL NETWORK network link.
3.1 High-level System Design and Architecture We use available bandwidth (BW) and transmission latency (La-
tency) for path load evaluation.
Figure 1 shows the system architecture for the proposed load bal-
ancing method in a KDN-based data center. sFlow-RT is used to (1) Bandwidth (BW) reflects the load condition over each link.
gather the metrics (bandwidth and transmission latency) of each sFlow-RT sends the bandwidth of each link employing the
link between OpenFlow switches. The ANN module implements the REST API to the ANN module. If one path contains several
Multilayer Perceptron Network (MLP) [4] and the parameterization links, L 1 , L 2 ,..., Ln , with the corresponding bandwidth uti-
and storage of data. The SDN controller of choice (OpenDaylight) lization ratio as BW1 , BW2 ,..., BWn , the available bandwidth
interacts with the program of OpenFlow switches. ratio of this path can be calculated by Equation (1) :
n

3.2 Load Balancing Method BW = BWi (1)
n i=1
The proposed load balancing algorithm is as follows:
(2) Latency (Latency) is the time spent by host switch on data
(1) If the SDN controller finds only a single path for data trans- transmission required to push all the packet’s bytes into the
mission, it will create a flow-tables and allocate them to wire until they are received by the end system. The transmis-
OpenFlow switches for active data transmission. sion latency can indicate the congestion status of a link and
(2) If the SDN controller finds multiple paths for data transmis- the load situation of the switch in some way. The SDN con-
sion, it will transmit multiple path load information to the troller can collect the transmitted bytes Num_Byte in this
ANN module. Besides the sFlow-RT gathering the metrics period and the transmission rate tx Rat e at corresponding
from the 32 links of the data center, which send to the ANN
module. 1 https://github.com/sflow-rt/svg-weather
OpenFlow switches port. Then, the transmission latency can 3.5 SDN Controller
be calculated by Equation (2): We assume an SDN control platform, which could be implemented
Num_Byte as a distributed system, obtaining the global view of the SDN net-
Latencyi = (2) work and discovering all paths between the network device. To
tx Rat e
update the state of each datapath device, the SDN controller uses a
For several links L1 , L2 ,..., Ln with its transmission latency protocol like OpenFlow.
Latency1 , Latency2 ,..., Latencyn , respectively, then the total
latency of this path is as follows: 4 EXPERIMENTAL EVALUATION
n We used Mininet [13] as the network emulator and OpenDaylight
1 Õ
Latencyi = Latencyi (3) [15] as the SDN controller to run experiments on multipath topolo-
n i=1
gies to evaluate the performance of proposed load balancing method.
The emulated data-center-like topology is shown in Figure 3.
3.4 Artificial Neural Network Module
We used a Multilayer Perceptron Network (MLP) [4], a class of the
feedforward artificial neural network. An MLP has three types of
layers: input, hidden, and output. The number of input and output
units in a neural network is generally determined by the dimension
of the data set, while the number of hidden units (M) is a free
parameter adjustable to give the best generalization performance,
corresponding to the balance between under-fitting and over-fitting.
The configuration of the inputs for the MLP depends on traffic
matrix of the 32 links within the implemented data center. Thus,
we get 64 inputs (ingress and egress) while the latency matrix Figure 3: Experimental data center topology. Symple k-ary
gives 4 outputs for 4 paths to send the traffic from the source node Fat-Tree Topology (k = 4) [2].
to the destiny node. Consequently, the structure of the MLP can
be depicted in Figure 2, where each node is a neuron that uses a In real networks, network traffic presents strong randomness
nonlinear activation function: and uncertainty. So, in this paper, the experiment is designed to
simulate the network environment closer to reality as possible. The
first traffic generated is from Host 1 to Host 5, the next from Host 2
to Host 6, ..., ending with Host16 to Host4, in total 16 active traffic,
which have 4 routes to carry the information between Pods, for
example from Pod 0 (Host1) to Pod 1 (Host5):
(1) Route 1: Switch1_1->Switch1_2->Switch5_1->Switch2_2->Switch2_1
(2) Route 2: Switch1_1->Switch1_2->Switch5_2->Switch2_2->Switch2_1
(3) Route 3: Switch1_1->Switch1_3->Switch5_3->Switch2_3->Switch2_1
(4) Route 4: Switch1_1->Switch1_3->Switch5_4->Switch2_3->Switch2_1

Figure 2: Neural Network Architecture. The final purpose of the experiment is to select one least loaded
path that driver every the traffic as the new incoming transmission
path and to achieve load balance in the network.
The MLP utilizes a learning technique called backpropagation
for training. In our experimental setup, we set the value of 1000 4.1 Experimental Results
as the number of training and the learning rate is set to 0.01. For MLP Training. Before utilizing the MLP to indicate the integrated
this work, the input and output dataset was divided randomly into path load, it is indispensable to train the neural network with a
three subsets: large number of dataset (1000 samples) to achieve the least error
• Training set (75 %) Artificial Neural Network. We use Mininet to emulate the KDN
• Validation set (15 %) topology as shown in Figure 3. Hosts in the topology will transmit
• Testing set (15 %) traffic randomly to other hosts to simulate the network traffic, while
the SDN controller utilizes OpenFlow and sFlow protocol to record
There are many rule-of-thumb methods [7] for determining the
the path load features. We collect path load features in 480 sec to
correct number of neurons to use in the hidden layers, such as the
generate the datasets to train the MLP.
following:
As depicted in the previous section on the ANN module, the
• The number of neurons should be between the size of the number of neurons (M) in hidden layer can not be easily determined.
input layer and the size of the output layer. In order to obtain a maximum accuracy of prediction, the net-
• The number of neurons should be 2/3 the size of the input work was trained in different topologies. For each network archi-
layer, plus the size of the output layer. tecture, the training was run 1000 times. The network weights to
• The number of neurons should be less than twice the size of be updated in order to minimize the error function, using a gradi-
the input layer. ent descent method. The learning rate is going to be 0.01, which
minimize the cost function. The experimental results are shown in
Table 1 and Figure 4 .

Table 1: Different number of neurons in the hidden layer of


the MLP

Number of hidden node


Error
1 Layer 2 Layer
12 3 0,52
12 6 0,45
20 6 0,22
30 6 0,11
80 42 0,0000002 Figure 5: Network performance results point to higher
throughput on host-to-host communications when using
the proposed MLP method compared to Random load bal-
ancing and ECMP.
2
Train
1.5
ACKNOWLEDGEMENTS
This work has been partially supported by the Brazilian agencies
MSE

1
CAPES and CNPq.
0.5
REFERENCES
0
[1] I. Akyildiz, A. Lee, P. Wang, M. Luo, and W Chou. 2014. A roadmap for traffic
engineering in SDN-OpenFlow networks. Computer Networks 71 (2014), 1–30.
0 100 200 300 400 500 600 700 800 900 1000
Samples [2] M. Al-Fares, S. Radhakrishnan, and B. Raghavan. 2010. Hedera: Dynamic Flow
Scheduling for Data Center Networks.. In NSDI, Vol. 10. 19–19.
[3] J. Andersson and E. Termander. 2015. Performance Management in Software
Figure 4: Evolution of the MSE (Mean Squared Error) as a Defined Networking. Master’s thesis.
[4] C. Bishop. 1995. Neural networks for pattern recognition. Oxford university press.
function of the size of the training set. [5] Q. Du and H. Zhuang. 2015. OpenFlow-Based Dynamic Server Cluster Load
Balancing with Measurement Support. Journal of Communications 10, 8 (2015),
16–21.
The best network with two hidden layers (including 80 neurons [6] R. R. Fontes, S. Afzal, S. H. B. Brito, M. A. S. Santos, and C. E. Rothenberg. 2015.
in the first and 42 in the second), which gives the comparably better Mininet-WiFi: Emulating software-defined wireless networks. In Network and
performance of MSE, with 2.0 × 10−7 , where Figure 4 depicts the Service Management (CNSM), 2015 11th International Conference on. 384–389.
[7] J. Heaton. 2008. Introduction to neural networks with Java. Heaton Research, Inc.
MSE with a sample quantity. [8] C. Hopps. 2000. Analysis of an Equal-Cost Multi-Path Algorithm. https://tools.
Load Balancing. These experiments focus on performance eval- ietf.org/html/rfc2992. [accessed: 09 May. 2018].
[9] D. Kreutz, F. Ramos, P. Verissimo, C. Rothenberg, S. Azodolmolky, and S. Uhlig.
uation of our load balancer for some realistic workloads compared 2015. Software-defined networking: A comprehensive survey. proceedings of the
to two traditional load balancing methods, namely ECMP and a IEEE 103, 1 (2015), 14–76.
Random load balancing. There are 16 traffics between hosts, each [10] M. Latah and L. Toker. 2018. Artificial Intelligence Enabled Software Defined
Networking: A Comprehensive Overview. arXiv preprint arXiv:1803.06818 (2018).
one generates an MLP, according to the data entered by the load bal- [11] Y. Li and D. Pan. 2013. OpenFlow based load balancing for Fat-Tree networks with
ancers (ECMP and Random), therefore we have 16 MLPs to choose multipath support. In Proc. 12th IEEE International Conference on Communications
the path with least traffic between the 4 possible routes. Figure 5 (ICC’13), Budapest, Hungary. 1–5.
[12] A. Mestres, A. Rodriguez-Natal, J. Carner, P. Barlet-Ros, D. Meyer, S. Barkai,
shows the performance gains in terms of higher throughput of the M. Hibbett, G. Estrada, F. Coras, V. Ermagan, H. Latapie, C. Cassar, J. Evans, F.
proposed method. Maino, J. Walrand, and A. Cabellos. 2017. Knowledge-defined networking. ACM
SIGCOMM Computer Communication Review 47, 3 (2017), 2–10.
[13] R. De Oliveira, C. Schweitzer, A. Shinoda, and L. Prete. 2014. Using mininet for
5 CONCLUSIONS AND FUTURE WORK emulation and prototyping software-defined networks. In Communications and
Computing (COLCOM), 2014 IEEE Colombian Conference on. IEEE, 1–6.
We present a load balancing method based on MLP to predict path [14] O.N.F. 2013. OpenFlow switch specification, Tech. Rep., Oct. 2013. [On-
traffic demands to change the routes according to the proposed line]. Available: https://www.opennetworking.org/images/stories/downloads/
traffic metrics and choose the least loaded path between origin sdn-resources/onf-specifications/openflow/openflow-spec-v1.3.0.pdf. [accessed:
09 May 2018].
and destination nodes. Bandwidth utilization ratios and path laten- [15] OpenDaylight. 2018. Opendaylight Load Balancer. https://wiki.opendaylight.
cies are collected and integrated into an Artificial Neural Network org/view/OpenDaylight_Controller:Load_Balancer_Service
to represent the path load condition. Experimental results using [16] P. Phaal. 2004. sflow version 5. http://www.sflow.org/sflow_version_5.txt
[17] N. Al Sallami and S. Al Alousi. 2013. Load balancing with neural network.
Mininet and the OpenDaylight controller point to the performance (IJACSA) International Journal of Advanced Computer Science and Applications 4,
opportunities of applying KDN-based methods in data centers. 10 (2013).
[18] C. Yang, Y. Su, J. Liu, and Y. Yang. 2014. Implementation of load balancing method
In future work, we intend to run larger scale experiments with for cloud service with open flow. In Cloud Computing Technology and Science
diverse topologies. We will also consider video streaming scenarios (CloudCom), 2014 IEEE 6th International Conference on. IEEE, 527–534.
over wireless access networks using Mininet-WiFi [6] as a promis- [19] R. Zhang-Shen. 2010. Valiant load-balancing: Building networks that can support
all traffic matrices. In Algorithms for Next Generation Networks. Springer, 19–30.
ing future research scope.

View publication stats

You might also like