Paper reading five: Data center adaptive multi-path load balancing algorithm based on software-defined network

Glossary

Equal Cost Multi-Path, ECMP: Equal Cost Multi-Path

Global First Fit, GFF: global first fit

Dynamic Load Balancing, DLB: dynamic load balancing

Flow Scheduling Cost based Congestion Control Routing Algorithm, FSC-CCRA: Congestion control routing algorithm based on flow scheduling cost

Spider Monkey Optimization, SMO: Spider Monkey Optimization Algorithm

Load Balancing Algorithm based on SMO, SMO-LBA: SDN adaptive multi-path load balancing algorithm based on spider monkey optimization

Application Programming Interface, API: Northbound application programming interface

Link Layer Discovery Protocol, LLDP: Link Layer Discovery Protocol

"Abstract: In view of the problems that traditional multi-path load balancing algorithms cannot effectively perceive the operating status of the network, cannot comprehensively consider the real-time transmission status of the link, and most algorithms lack adaptability, based on the centralized control and whole-network management and control ideas of SDN, An SDN adaptive multipath load balancing algorithm (SMO-LBA) based on Spider Monkey Optimization is proposed. First, the sensing ability of the data center network is used to obtain real-time link status information of multipath; then, the global performance of the Spider Monkey algorithm is used The exploration and local mining capabilities use the link idle rate as the fitness value of each path, and introduce adaptive weights to dynamically evaluate and update the path; finally, find the path with the smallest link occupancy in the data center network and determine it as Optimal forwarding path. Fat-tree topology was selected to conduct simulation experiments on the Mininet platform. The experimental results show that SMO-LBA can improve the throughput and average link utilization of the data center network and achieve network adaptive load balancing."

0 Preface

Traditional load balancing uses an equal-cost multi-path routing algorithm to hash the data, balance it on all equal-cost paths, and evenly distribute the traffic load on each link to achieve network data forwarding, but the algorithm lacks congestion awareness. mechanism to consider the real-time status of the network. The GFF algorithm obtains all link information in the network and selects the path that meets the matching conditions for the first time. It is simple to implement but cannot achieve global optimization; the simulated annealing method uses a probabilistic search method to select the best path for forwarding in the entire network but gives up. Network convergence. FSC-CCRA distinguishes between large and small flows for data traffic and selects paths based on defined flow scheduling costs, but its ability to adaptively and dynamically select paths is insufficient.

1 Algorithm design and implementation

1.1 Algorithm implementation architecture

The information collection module is mainly used to collect real-time status information in the data center network, detect the status information of each node in the sensing network and the link status information on each path, obtain the complete network topology of the data center, and establish a relevant path information monitoring table; through LLDP encapsulates relevant information in Packet_in/Packet_out messages to communicate between the controller and the switch. 

The network management module periodically monitors various parameter information in the network to achieve adaptive dynamic load balancing; it obtains port statistics through the southbound OpenFlow protocol, periodically obtains network traffic and load conditions of each forwarding path, and continuously updates the management path information monitoring table. It includes flow management, node management and link management, and calculates the load balancing degree of each path. Once it is higher than the set threshold, the adaptive routing module is called, the path is re-evaluated based on real-time parameters, and the appropriate path is selected for forwarding to reduce the balancing degree.

The adaptive routing module integrates information from the information collection module and network management module, and reselects routes based on the entire network path; it uses SMO-LBA to evaluate multiple paths, using link utilization as the objective function, and the process from local to global Perform optimization, select the path with the highest fitness value as the destination forwarding path, and reselect paths that do not meet the load balancing conditions.

The flow table delivery module evaluates the best destination forwarding path based on the adaptive routing module and generates the corresponding routing forwarding policy. The Ryu controller delivers it to each switch node in the form of a flow table.

1.2 Algorithm design ideas

SMO-LBA uses each network node as a food source for the spider monkey population to search for optimal food. It simulates the process of data flow reaching each node through links as the path that the spider monkey population takes to find the optimal food, and obtains the load information of each link. and the link utilization of all links starting from each network node, establish a path information monitoring table for path forwarding within the network, and perform periodic maintenance and updates.

According to the established path information monitoring table, obtain node and link information and obtain the real-time link load balancing degree  \small V :

V=\frac{L_{p}/B_{m}}{C_{p}/B}

Among them  \small L_{p}=Max\left \{ L_{ij} | \left ( i,j \right )\epsilon \ p\right \}, \small i and  \small j are used to represent the node position on the path, \small p which is the path set represented by the node, which \small L_{p} represents the link load of the current forwarding path, and the maximum load between nodes on the path is regarded as the link load; \small B_{m} is the actual bandwidth of the path , \small B_{m}=\sum_{i=1}^{n}B_{mi} , \small n is the number of links in the current forwarding path, \small B_{mi} indicating the real-time bandwidth of each forwarding path; \small C_{p} is all the data traffic of the data center network, that is, the overall network load to be processed; \small B is the total network bandwidth during construction, expressed   as \small B=N\times B_{MAX} , \small NThe total number of transmission links \small B_{MAX} is the maximum transmission bandwidth of the link. The article assumes that the maximum load balancing threshold that meets the trigger condition \small V_{th} is 75%.

The principle of the SMO-LBA mechanism: first initialize the data flow in the network and divide it into multiple groups to minimize the pressure of competition, so as to improve the optimization efficiency and find the best forwarding path; for each group, the optimization process is divided into For the local leader stage and the global leader stage, the optimal result of the updater in the group is continuously fed back from the local to the global order; finally, the global leader is updated to the optimal value based on the feedback result. If the result does not reach the preset threshold, the group is divided into smaller groups, and the above steps are repeated until the optimal forwarding path is found.

\small NConstruct a population of spider monkeys with a number of , \small DF_{i}\left ( i=1,2,...,N \right ) which is a Ddimensional variable that represents the first spider monkey in the population \small i, that is, as a potential solution to the problem being optimized, initialize it:

DF_{ij}=DF_{min \_ j}+U\left ( 0,1 \right )\times \left (DF_{max \_ j}-DF_{min \_ j} \right )

 where  \small DF_{ij} is the dimension component iof the th spider monkey ;  and   is the boundary on the dimension;  is  a random number on.jDF_{min \_ j}DF_{max \_ j}jU\left ( 0,1 \right )\left [ 0,1 \right ]

In the local leader stage, each node DFupdates its node position in the network based on local leader and group information, and calculates the fitness value corresponding to the new node position Fit\left ( DF_{i} \right ):

Fit\left ( DF_{i} \right )=\frac{1}{1+f\left ( DF_{i} \right )};f\left ( DF_{i} \right )\geqslant 0

Which  \small f\left ( DF_{i} \right ) represents the link utilization of the current path. The smaller the value, the smaller the occupancy of this path, and it is easier to be selected as the forwarding path needed to solve the load problem. The calculated fitness becomes higher accordingly. During the location update process, the new If the fitness value of the position is higher than the original position, the position is updated.

The dynamic adaptive inertia weight based on the objective function is introduced as \small w, which \small wrepresents the extent to which the new position inherits the original position information in each update, usually taking a constant between 0 and 1. The article introduces link utilization as the objective function into the adaptive inertia weight, that is, establishes a mapping relationship between the optimization problem and the fitness of the spider monkey individual. As the conditions of each load link change, the corresponding fitness will also change accordingly. Variety. First calculate  \small \lambda \left ( k \right ) :

\lambda \left ( k \right )=\frac{1}{N}\sum_{i=1}^{N}\left ( f\left ( DF_{i} \left ( k \right )\right ) -f\left ( DF_{best\left ( k \right )} \right )\right )^{2}

\left\{\begin{matrix} \begin{array}{lr} f \left ( DF_{i}\left ( k \right ) \right )=f\left ( df_{i,1} \left ( k \right ), df_{i,2} \left ( k \right ),...,df_{i,D} \left ( k \right ) \right ) \\ \\ f\left ( DF_{best}\left ( k \right )\right ) =minf\left ( DF_{i}\left ( k \right ) \right ) \end{array} \end{matrix}\right.

where  \small k\left ( k=1,2,... \right ) is the number of updates; \small f\left ( DF_{i} \left ( k \right )\right ) is   the objective function value of the corresponding position updated for the \small i\left ( i=1,2,...,N \right ) first monkey  ;  is   the objective function value corresponding to the optimal spider monkey updated for the first time. According to the corresponding :\small k\small f\left ( DF_{best} \left ( k \right )\right )\small k\small \lambda \left ( k \right )\small w

w=exp\left ( -\lambda \left ( k \right )/\lambda \left ( k-1 \right ) \right )

Here, at that \small k=1 time  \small \lambda \left ( 0 \right )=0.9 , is taken to measure the smoothness of the change of \small \lambda \left ( k \right ) inertia weight .\small w

The position update formula of the local leader stage is:

DF_{new \_ ij}=w *DF_{ij}+U\left ( 0,1 \right )\times \left ( LL_{lj}-DF_{ij} \right )+U\left ( -1,1 \right )\times \left ( DF_{rj}-DF_{ij} \right )

 The  \small LL_{lj} sum  \small DF_{rj} distribution represents  the th-  dimensional component of \small l the local leader and the th  \small r spider monkey  in the th group,  which can be randomly selected.\small j\small r

After completing the optimization process of the local leader, it enters the global leader stage. In this stage, the spider monkey updates its position at the global level through the global leader and local group information. The position update formula of the global leader phase is:

DF_{new \ ij}=DF_{ij}+U\left ( 0,1 \right )\times \left ( GL_{j}-DF_{ij} \right )+U\left ( -1,1 \right )\times \left ( DF_{rj}-DF_{ij} \right )

where \small GL_{j} is the dimension component of the global leader \small j\left ( j\epsilon \left \{ 1,2,...,D \right \} \right ) and is \small j randomly selected.

In the global leader stage, the spider monkey population's global search ability becomes worse, and it needs to increase its global development ability. A probability calculation formula is obtained through the fitness value to obtain a greater development probability:

prob_{i}=0.9\times \frac{Fit\left ( DF_{i} \right )}{max \_ Fit}+0.1

 Through the location update process of the local leader stage and the global leader stage, the optimal forwarding path in the entire network is finally obtained in the grouping situation, and the optimal forwarding path is selected for the data flow that exceeds the load threshold, and the flow table is issued by the controller. form, forming a new flow table forwarding strategy, which is matched and forwarded by the flow table delivery module.

2 Simulation and performance evaluation

Simulation experiment settings: Mininet 2.3.0, Ryu open source controller, K=4 fat tree topology, spider monkey population size N=50

2.2 Comparative analysis

Use the Iperf traffic tool to simulate, set the link bandwidth to 100Mb/s, the controller monitoring period to 5s, and gradually increase the load.

Performance indicators: Node overload times, transmission delay, average link utilization

Algorithm comparison: SMO-LBA, FSC-CCRA, ECMP

(1) Number of node overloads

SMO-LBA achieves the best results by adaptively rerouting overloaded paths and dynamically adjusting forwarding paths to avoid node overload. However, when the system traffic reaches saturation, the network's ability to handle the load is limited, and ultimately each The number of algorithm node overloads approaches the same number.

 (2) Propagation delay

Although the propagation delay of SMO-LBA also has jitter, it is basically stable and the propagation delay is lower than that of FSC-CCRA.

(3) Average link utilization

Take the average of all link utilization, expressed as the ratio of the occupied bandwidth of all links to the total bandwidth when the network is running:

\eta \left ( t \right )=\frac{\sum_{m=1}^{k}\sum_{i=1}^{k}b_{mi}\left ( t \right )}{N\times B_{MAX}}

where  b_{mi}\left ( t \right ) represents   the transmission bandwidth of t the data on the th  m path and  link at the time;  is the total number of transmission links;  is the maximum transmission bandwidth of the link.iNB_{MAX}

SMO-LBA comprehensively considers local and global optimization, and selects the optimal forwarding path of the entire network based on the real-time link load of the network. Therefore, its average link utilization shows certain advantages.

3 Conclusion 

 The actual network transmission scenario is much more complicated than the fat tree network topology.

Guess you like

Origin blog.csdn.net/weixin_43563178/article/details/121671826