<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Critical Flow Rerouting Based on Policy Gradient algorithm</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Qiong He</string-name>
          <email>qionghe@whvcse.edu.cn</email>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Caixiao Ouyang</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Chunzhi Wang</string-name>
          <email>chunzhiwang@hbut.edu.cn</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Lingyu Yan</string-name>
          <email>yanranyaya2024@163.com</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Hubei University of Technology</institution>
          ,
          <addr-line>Wuhan 430068</addr-line>
          ,
          <country country="CN">China</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>To address the problems that traditional load balancing algorithms are not ideal for real-time network optimization as well as easy to cause network interference and low performance. In this paper, we propose a Critical Flow Rerouting Based on Policy Gradient (CFRPG) algorithm, which can automatically select a few critical flows that have a decisive impact on network performance and reroute these flows to improve network performance. By combining Equal Cost Multi-path (ECMP) algorithm to forward most of the remaining traffic, CFRPG can achieve load balancing of the network. Experiments are conducted on the Mininet network simulation platform, and the experimental results show that only 10% of the total traffic needs to be rerouted to achieve the best network performance, and the CFRPG algorithm is more effective in improving network performance than other load balancing algorithms.</p>
      </abstract>
      <kwd-group>
        <kwd>eol&gt;Network traffic prediction</kwd>
        <kwd>Load balancing</kwd>
        <kwd>Network in SDN data center</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. Introduction</title>
      <p>With the vigorous development of Internet technology and the continuous expansion of
network scale, data centers have become an integral part of modern Internet
infrastructure. However, the growth of data center scale has also brought the problem of
exponential growth in data traffic within data center networks. The aggregation of
massive network traffic has made data center network management quite complex,
leading to a severe impact on overall network performance [1, 2]. Therefore, it has become
a pressing challenge for current data center networks to reduce network congestion
probability, achieve load balancing of network links, and improve data center network
performance while maintaining constant transmission latency.</p>
      <p>In order to address the performance challenges of data center networks, load balancing
technology is widely applied in data center networks and plays a crucial role in optimizing
their performance [3]. </p>
      <p>0009-0001-6698-0414 (Q. He); 0009-0004-9837-7136 (C. Ouyang); 0000-0002-6742-3644 (C. Wang) ;
0000-0002-8434-5473 (L. Yan)</p>
      <p>© 2024 Copyright for this paper by its authors. Use permitted under Creative Commons License Attribution 4.0 International (CC BY 4.0).</p>
      <p>This effectively avoids network congestion and improves network stability and
reliability. However, in real-life scenarios, network conditions change rapidly, and the
network management system requires a certain amount of time to analyze the network
state and make corresponding routing decisions. By the time the routing decisions are
deployed to the underlying switches, network congestion may have already occurred.
Therefore, analyzing and predicting network traffic, forecasting future traffic volume, and
assessing the probability of link congestion can be beneficial. These predictions can then
be incorporated into the corresponding traffic scheduling strategies, allowing for
proactive load balancing and ultimately enhancing network performance.</p>
    </sec>
    <sec id="sec-2">
      <title>2. Related works</title>
      <p>Load balancing has always been one of the classic problems extensively studied in the
field of networking. Depending on its application context, load balancing can be classified
into two types: server load balancing and link load balancing [4]. Server load balancing
typically involves setting up multiple servers and intercepting client requests to distribute
data flows to available servers, thereby avoiding server overload and achieving load
balancing objectives [5]. On the other hand, link load balancing is implemented by evenly
distributing network traffic across multiple network links to improve data transmission
rates and prevent single-point failures caused by overloaded individual links [6].</p>
      <p>The literature [7] proposes the Equal Cost Multi-Path (ECMP) load balancing algorithm,
which is currently the primary method used to address load balancing issues in data
centers. The ECMP algorithm is based on the premise that network devices simultaneously
maintain multiple equivalent paths and uses a hash algorithm to randomly distribute
traffic for load balancing and improved network performance. However, this routing
algorithm requires more network device resources to calculate and maintain multiple
equivalent paths, increasing the burden on network devices. As network load increases
and network fluctuations intensify, the load balancing effectiveness of the network may
decrease.</p>
      <p>The literature [8] introduces the Dynamic Load Balancing (DLB) algorithm, which
achieves load balancing by dynamically updating the weights of servers and allocating
client requests to servers with lower weights. Compared to static load balancing
algorithms, DLB can achieve load balancing through local dynamic routing decisions.
However, when selecting paths, the DLB algorithm only considers local states, and the
adjustment of server weights is not flexible enough. This can result in a few links being
heavily loaded while most links remain idle, leading to network congestion.</p>
      <p>The literature [9-11] employs an SDN architecture and proposes a Load Balancing
based on Flow Classification (LBFC) mechanism to address load balancing issues in
fattree topology networks. The LBFC mechanism dynamically calculates flow classification
thresholds based on network link status and traffic characteristics. It adopts different
forwarding strategies for large and small flows, effectively improving load balancing
performance. However, as network load increases, the decrease in dynamic thresholds
may result in a large number of significantly different flows being classified as large flows.
Consequently, the LBFC algorithm randomly distributes these large flows, which can lead
to the problem of fragmented remaining bandwidth.</p>
      <p>The literature [12] presents a dynamic load-balanced path optimization algorithm
(DLPO) that achieves load balancing between links by altering the flow transmission
paths. It also utilizes a priority-based flow table update strategy to avoid packet loss
caused by flow path changes, thereby improving network throughput and bandwidth
utilization. However, due to the use of longer policy paths, this algorithm introduces
increased transmission latency for flows.</p>
    </sec>
    <sec id="sec-3">
      <title>3. The Load Balancing Algorithm based on Clustered Fuzzy Random</title>
    </sec>
    <sec id="sec-4">
      <title>Particle Grouping (CFRPG)</title>
      <sec id="sec-4-1">
        <title>3.1. Problem Analysis and Modeling</title>
        <p>The goal of network routing optimization is to control the distribution of traffic by
configuring routing on the network topology, thereby helping Internet Service Providers
(ISPs) optimize network performance and resource utilization. Network routing
optimization algorithms can be broadly categorized into three types: flow-level,
Flowletlevel, and packet-level routing algorithms. Among them, flow-level routing algorithms
treat packets with the same source and destination addresses as a data flow, which can
also be defined based on specific scenarios. Compared to packet-level and Flowlet-level
routing algorithms, flow-level routing algorithms have a coarser granularity but can avoid
issues such as packet misordering and difficulty in Flowlet partitioning. Existing routing
optimization algorithms are mainly based on flow-level routing, which achieves load
balancing on each link by periodically rerouting all flows in the network topology, thereby
reducing network congestion. Although rerouting all flows in the network topology can
achieve near-optimal network performance, it imposes a heavy computational burden on
the SDN controller, which may cause severe network interference or service interruption,
leading to a significant impact on user experience. Therefore, network operators are
reluctant to adopt these existing routing optimization algorithms when deploying
networks, and there is an urgent need to design a rerouting optimization algorithm that
can achieve load balancing while reducing the routing computational burden and network
interference.</p>
        <p>The rerouting problem described in this paper can be formulated as follows: First, the
SDN data center network, consisting of N nodes and M links, is abstracted as an undirected
graph G  (V , E, F ) ，Where vi V represents node i in the graph, which corresponds
to an SDN switch; ei, j  (vi , v j )  E represents the link between nodes i and j in the SDN;
In the SDN, fsd  (vs , vd )  F represents the critical flow, where s denotes the source
node of the critical flow, and d represents the destination node of the critical flow.</p>
        <p>For convenience in the subsequent discussion, we define ci, j as the link capacity of link
ei, j ; define li, j as the traffic load on link ei, j ; define Ds,d as the traffic request of the
critical flow fsd ; define  is,,jd as the proportion of traffic requests of the critical flow fsd
allocated for rerouting on link ei, j ; define li, j as the traffic load on link ei, j attributed to
the remaining majority of flows that are forwarded using the default Equal-Cost
MultiPath (ECMP) algorithm. Based on the definitions provided above, the link utilization in the
network can be represented as follows:
ue </p>
        <p>li, j

i, jE ci, j ,</p>
        <p>
          U  mi, jaxE ue , (
          <xref ref-type="bibr" rid="ref2">2</xref>
          )
        </p>
        <p>In the context of network load balancing problems, specific performance metrics in the
network are typically used as the objective functions for optimization. In this paper, the
optimization objective based on load balancing is to minimize the maximum link
utilization in the network. Therefore, the problem of rerouting critical flows in an SDN
data center network can be modeled as follows:</p>
        <p>In addition, the problem of rerouting optimization should also satisfy the following
constraints:</p>
        <p>min U ,
li, j  </p>
        <p>s,d F
  i, j  E
li, j  ci, j U</p>
        <p>  ks,,id    is,,kd
k,iE i,kE
1, if i  s

= 1, if i  d
0, otherwise
 is,,jd  Ds,d  li, j</p>
        <p>,
  i, j  E ，
i V ,  s, d  F</p>
        <p>,
0   is,,jd  1
  i, j  E，  s, d  F ,</p>
        <p>
          Formula (
          <xref ref-type="bibr" rid="ref4">4</xref>
          ) represents the traffic load on link i, j , which is composed of the traffic
demand routed by the critical flows and the traffic demand routed by the default ECMP
algorithm. Formula (
          <xref ref-type="bibr" rid="ref5">5</xref>
          ) represents the capacity utilization constraint of the link. Formula
(
          <xref ref-type="bibr" rid="ref6">6</xref>
          ) represents the traffic conservation constraint for the selected critical flows.
(
          <xref ref-type="bibr" rid="ref3">3</xref>
          )
(
          <xref ref-type="bibr" rid="ref4">4</xref>
          )
(
          <xref ref-type="bibr" rid="ref5">5</xref>
          )
(
          <xref ref-type="bibr" rid="ref6">6</xref>
          )
(
          <xref ref-type="bibr" rid="ref7">7</xref>
          )
        </p>
      </sec>
      <sec id="sec-4-2">
        <title>3.2. Problem Analysis and Modeling</title>
        <p>To address the aforementioned problem, this section presents a key flow re-routing
optimization algorithm called CFRPG, which is based on policy gradient. This algorithm
does not rely on any domain-specific heuristics. Instead, it utilizes the policy gradient
algorithm to learn a key flow re-routing policy. The network performance serves as a
reward signal that is fed back to the CFRPG agent, driving the agent to gradually learn
better network performance strategies. By continuously observing the actual performance
of past policies, the CFRPG algorithm optimizes its routing strategy for various traffic
matrices over time. Once trained, the CFRPG algorithm efficiently and effectively selects a
small set of key flows that have a significant impact on network performance for a given
traffic matrix. By re-routing these key flows, it balances the link utilization in the network
and achieves optimization of network performance.</p>
        <p>As shown in Figure 1, this is the architecture diagram of the CFRPG algorithm designed
in this section, which includes five components: SDN data center network environment,
state space, agent, reward function, and action space. The agent's policy network consists
of three layers of neural networks. The first layer is a convolutional layer with 128
convolutional kernels, each of size 3x3 and a stride of 1.The second layer is a fully
connected layer with 128 neurons. The activation functions used in the first two layers are
Leaky ReLU and ReLU, respectively. The final layer is a linear fully connected layer with
neurons, where corresponds to all possible critical flows. The SoftMax function is applied
to the output of the final layer to generate the probabilities of all available actions.</p>
        <p>Environment
1</p>
        <p>Traffic
Forecasting
Module</p>
        <p>State
Action</p>
        <p>Agent
itu rey
lovonC llaoan
Reward lyuF tecconn lereayd</p>
        <p>Strategy
Network</p>
        <p>To apply the CFRPG algorithm effectively to optimize the load balancing performance
of SDN data center networks, it is necessary to determine the size of the state space and
action space based on the current network environment. Additionally, the reward function
needs to be designed according to the load balancing requirements of SDN data center
networks to enhance the optimization capability of the CFRPG algorithm. The following
sections will describe the state space, action space, and reward function of the CFRPG
algorithm, providing a detailed explanation of how the CFRPG algorithm achieves load
balancing in SDN data center networks.</p>
        <p>Status space st : The intelligent agent of CFRPG takes the traffic matrix M t predicted
by the traffic forecasting module at the next time step t as the input state st . This traffic
matrix contains information about the traffic demand of each flow. Typically, the network
topology remains unchanged, so the network topology information is not included as
input for the intelligent agent.</p>
        <p>The action space at : The intelligent agent of CFRPG will automatically learn an optimal
key flow rerouting policy function  from each input state st , and generate actions a
based on the policy function  , selecting K key flows for rerouting. Considering a
network with N nodes and a total of N  (N 1) flows, the key flow rerouting
optimization problem leads to a significantly large action space of size CKN(N-1) , making
the learning process extremely challenging.</p>
        <p>Therefore, in this paper, the intelligent agent of CFRPG is allowed to sample K
different actions, denoted as at1, at2 , , atK , simultaneously at each time step t . This
reduces the size of the action space, defining it as {0,1, , (N  (N  1))} .</p>
        <p>
          The reward function rt : After sampling K different key flows from the given state st ,
the intelligent agent of CFRPG reroutes these key flows and achieves optimal network
performance by solving the rerouting optimization problem as described in Equation (
          <xref ref-type="bibr" rid="ref3">3</xref>
          ).
The reward function formula for the CFRPG algorithm can be defined as follows:
1 U , when the constraints are satisfied
rt  
        </p>
        <p>0 , when the constraints are not satisfied ,</p>
        <p>In this case, U represents the maximum link utilization. Since the objective of the
rerouting optimization problem is to achieve more balanced load distribution on network
links, the reward is greater when U is smaller. Therefore, in this paper, the reciprocal of
the maximum link utilization is directly used as the immediate reward. For cases where
the constraints are not satisfied, the immediate reward is set to 0.</p>
      </sec>
      <sec id="sec-4-3">
        <title>3.3. Problem Analysis and Modeling</title>
        <p>The key flow rerouting policy is represented by a neural network that takes the state st
as input and outputs a probability distribution  (at | st ) over all possible actions. Since
the intelligent agent of CFRPG samples K different actions, denoted as at1, at2 , , atK ,
simultaneously and in an unordered manner for each state st , the random policy
（at | st）parameterized by 
can be approximated as follows:</p>
        <p>K
 (at | st ;  )   (ati | st ;  )
i1
,</p>
        <p>
          The objective of training the CFRPG algorithm is to maximize network performance,
specifically maximizing the expected reward E rt  across various traffic matrices.
Therefore, a reinforcement learning algorithm with a baseline b(st ) can be used to
(
          <xref ref-type="bibr" rid="ref8">8</xref>
          )
(
          <xref ref-type="bibr" rid="ref9">9</xref>
          )
optimize E rt  through gradient ascent. The parameters o of the policy function can be
updated based on the following equation:
(
          <xref ref-type="bibr" rid="ref10">10</xref>
          )
(
          <xref ref-type="bibr" rid="ref11">11</xref>
          )
    log (at | st ;  )(rt  b(st ))
t
,
        </p>
        <p>
          Here,  represents the learning rate of the policy network. The baseline b(st )
represents the average reward obtained after sampling K different actions for each state
st . It serves as a baseline in reinforcement learning to reduce the variance of gradients,
improve training stability, and speed up learning. (r  b(st )) indicates how much better
t
the reward based on the key flow rerouting policy is compared to the average reward for a
given state st . If (rt  b(st )) is positive, the policy parameters  are updated in the
direction of the gradient  log (atk | St ; ) with a step size of a(rt  b(st )) , thereby
increasing the probability of the random policy  (at | st ;  ) . Otherwise, the magnitude of
the random policy will decrease. The effect of Equation (
          <xref ref-type="bibr" rid="ref10">10</xref>
          ) is to strengthen the
probability of actions that have historically produced better rewards.
        </p>
        <p>
          To ensure that the intelligent agent of CFRPG adequately explores the action space
during training and prevents premature convergence to suboptimal deterministic policies,
this paper incorporates the entropy of the policy  into Equation (
          <xref ref-type="bibr" rid="ref10">10</xref>
          ). This improvement
promotes exploration to discover better policies. Therefore, Equation (
          <xref ref-type="bibr" rid="ref10">10</xref>
          ) is modified to
the following form:
   ( log (at | st;  )(rt  b(st ))
        </p>
        <p>t
  H ( ( | st;  )))
,</p>
        <p>Where H represents the entropy of the policy, and a higher entropy indicates that the
policy has a more "even" distribution of probabilities for selecting different actions, which
can improve the training effectiveness to some extent. The hyperparameter  controls the
strength of entropy regularization.</p>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>4. Experimental simulation and result analysis</title>
      <p>To validate the feasibility of the proposed CFRPG-based load balancing algorithm, this
experiment will conduct simulation analysis based on a fat-tree data center network
topology. The proposed routing scheme will be compared with ECMP and DLB algorithms.
The performance of the CFRPG algorithm will be evaluated based on three metrics:
throughput, load balancing degree, and average transmission delay.</p>
      <sec id="sec-5-1">
        <title>4.1. Experimental Environment and Parameter Configuration</title>
        <p>The experiment was conducted on the Ubuntu operating system using the Mininet
network simulation platform to build the data center network. The open-source Ryu
controller was employed as the controller for the entire network. Mininet is a lightweight
network simulation platform that comes with built-in switches supporting the OpenFlow
protocol. Using Python commands, a complete network topology can be constructed in
Mininet, and the code developed on this platform can be easily transferred to real
networks composed of physical hardware devices. Ryu is currently one of the most
popular open-source SDN controllers, providing rich APIs for centralized network
management and simplifying network administration. The CFRPG algorithm was
implemented in Python using the TensorFlow framework and deployed on the Ryu
controller. The specific experimental environment settings are presented in Table 1. A
four-tier fat-tree topology architecture was utilized in the experiment, as shown in Figure
2. This topology consists of a core layer, aggregation layer, and edge layer, with a total of
16 terminal hosts and 20 switches. Each switch supports the OpenFlow protocol, and the
link transmission between nodes is set to full-duplex to enable bidirectional data transfer
and ensure reliable and stable transmission. Additionally, to ensure network performance
and stability, the bandwidth of each link was set to 10 Mbps to meet the requirements of
the experiment.</p>
        <p>Due to the confidentiality of business information in data centers, most data centers do
not disclose their real traffic information. Therefore, this experiment uses the Iperf flow
generation tool to simulate real network traffic based on the internal traffic characteristics
of the data center network. Two traffic patterns, namely random mode and staggered
mode, are used. Iperf is a network performance testing tool included in the Mininet
simulation platform. By making simple code modifications to the internal files of Mininet,
it can easily integrate with the Fat-Tree network topology and generate these two traffic
patterns. Iperf is a network performance testing tool that is integrated with the Mininet
simulation platform. It can conveniently generate random and staggered network traffic
patterns that are in line with actual scenarios in the Fat-Tree network topology.</p>
        <p>（1）Random mode (Random( p )) indicates that host i randomly sends data to host
j with equal probability p . In this experiment, p is set to 0.25.</p>
        <p>（2）Staggered mode (Staggered( pe , pp )) indicates that host i sends data to the
upper-layer hosts belonging to the same edge switch with a probability of pe , to the hosts
belonging to the same pod with a probability of pp , and to the hosts in other pods with a
probability of 1  ( pe  pp ) . In this experiment, pe and pp are set to 0.2 and 0.5
respectively.</p>
        <p>During the model training process, in this experiment, 70% of the generated network
traffic in both modes is used as the training set, 20% as the test set, and 10% as the
validation set. The model adopts the Adam gradient optimization algorithm with an initial
learning rate manually set to 0.001. The learning rate is decayed by a factor of 0.96 every
500 iterations until it reaches the minimum value of 0.0001. Additionally, the entropy
factor  is configured as 0.1, the number of epochs is set to 20, the batch size is set to 128,
and the Dropout rate is set to 0.5. The settings of Dropout, batch size, and entropy factor
 are aimed at preventing overfitting of the model. These hyperparameter values are set
as the default values for implementing CFRPG.</p>
        <p>To verify the feasibility of the algorithm, the CFRPG algorithm is mainly compared and
analyzed with two other algorithms, ECMP and DLB. During the experimental process,
each traffic model is repeated 5 times, and the average value of the experimental results is
taken. Additionally, in order to evaluate the performance of the CFRPG algorithm, average
throughput, load balancing degree, and average transmission delay are selected as the
evaluation metrics for the experiments.</p>
        <p>
          (
          <xref ref-type="bibr" rid="ref1">1</xref>
          )Throughput (  ): Throughput is typically used to measure the amount of data
transmitted in a network per unit of time. It is calculated using the formula shown in
Equation (
          <xref ref-type="bibr" rid="ref12">12</xref>
          ):
        </p>
        <p>
          r
 
t ,
(
          <xref ref-type="bibr" rid="ref12">12</xref>
          )
        </p>
        <p>In the equation,  represents throughput, r represents the amount of data successfully
transmitted within a certain time period, and t represents the time required for data
transmission. Throughput is one of the important metrics for measuring network
performance, and a higher value indicates better load balancing effectiveness.</p>
        <p>
          (
          <xref ref-type="bibr" rid="ref2">2</xref>
          )Load Balancing Degree  : The load balancing degree in a network can be
represented by the difference between the maximum and minimum link utilization rates
among all links. The calculation formula is shown as (13).
(13)
(14)
  mi, jaxE ue  mi,jinE ue ,
        </p>
        <p>In the equation,  represents the load balancing degree, ue represents the utilization
of each link, and E represents the set of links in the network. When  is smaller, it
indicates a more balanced load distribution among the links.</p>
        <p>
          (
          <xref ref-type="bibr" rid="ref3">3</xref>
          )The average transmission delay  : The average transmission delay refers to the
average time taken for all data flows in the network to travel from the sender to the
receiver. The calculation formula is shown as (14):
  in1tri  tsi
n
,
        </p>
        <p>In the equation,  represents the average transmission delay, tri represents the end
time of data flow received at the receiver, and tsi represents the start time of data flow
sent from the sender. The average transmission delay is an effective measure to evaluate
the network performance. A smaller value indicates a lower likelihood of congestion in
network links and better load balancing effect.</p>
      </sec>
      <sec id="sec-5-2">
        <title>4.2. Experimental Environment and Parameter Configuration</title>
        <p>
          (
          <xref ref-type="bibr" rid="ref1">1</xref>
          )Determining the Number of Critical Flows, K
        </p>
        <p>By fixing the parameters other than the number of critical flows, K , this study
investigates the impact of K on load balancing in SDN data center networks to determine
its optimal value. Figure 3 illustrates the load balancing achieved by the CFRPG algorithm
with varying numbers of critical flows, K , under two traffic patterns. Initially, K is set to
0, indicating the default ECMP algorithm for routing. The results show that there is
significant room for improvement when using the ECMP algorithm for routing all network
traffic in the SDN data center. As K increases, the network's load balancing, denoted by 
, decreases rapidly, indicating that rerouting critical flows can effectively enhance network
performance and greatly improve the load balancing of links. When K  10% * N (N 1) ,
the load balancing</p>
        <p>index  is already less than 0.1, demonstrating that the CFRPG algorithm can achieve
near-optimal load balancing performance by rerouting only 10% of flows. Therefore, in
subsequent experiments, K will be set to 10% * N (N 1) to train the CFRPG algorithm.
random(0,25)traffic patterns</p>
        <p>
          staggered(0.2,0.5)traffic patterns
aacabnndog
i
l
l
numbers ofcriticalflowsK
numbers ofcriticalflowsK
(
          <xref ref-type="bibr" rid="ref2">2</xref>
          )Load Balancing Index
        </p>
        <p>Figure 4 illustrates the comparison of load balancing index among ECMP, DLB, and
CFRPG algorithms under two traffic patterns as the sending bandwidth varies. From the
graph, it can be observed that CFRPG algorithm achieves a significantly lower load
balancing index compared to DLB and ECMP algorithms. The load balancing performance
of DLB algorithm is slightly better than that of ECMP algorithm. The reason behind this is
that ECMP algorithm only evenly distributes the traffic across the links without
considering the network's overall state information and the magnitude of traffic load. This
can lead to network congestion, resulting in the highest load balancing index and the
poorest load balancing performance. On the other hand, DLB algorithm makes routing
decisions based on the current network state but lacks global optimization of the entire
network. Therefore, it has a slightly higher load balancing index but better load balancing
performance compared to the ECMP algorithm.</p>
        <p>sending bandwidth(Mbps)</p>
      </sec>
    </sec>
    <sec id="sec-6">
      <title>Summary</title>
      <p>This chapter proposed a key flow re-routing algorithm based on policy gradient, called
CFRPG. The algorithm redefines the input state, action space, and reward function of the
policy network. It can select a small number of key flows that have a significant impact on
network performance and re-route these flows to improve network performance.
Additionally, the CFRPG algorithm incorporates a baseline function and policy entropy in
the training process, enhancing the stability and learning speed of the CFRPG algorithm.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <surname>Zhang</surname>
            <given-names>J</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Yu</surname>
            <given-names>F R</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Wang</surname>
            <given-names>S</given-names>
          </string-name>
          , et al.
          <article-title>Load balancing in data center networks: A survey [J]</article-title>
          .
          <source>IEEE Communications Surveys and Tutorials</source>
          ,
          <year>2018</year>
          ,
          <volume>20</volume>
          (
          <issue>3</issue>
          ):
          <fpage>2324</fpage>
          -
          <lpage>2352</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <surname>Mann</surname>
            <given-names>Z A</given-names>
          </string-name>
          .
          <article-title>Allocation of Virtual Machines in Cloud Data Centers-A Survey of Problem Models</article-title>
          and
          <string-name>
            <given-names>Optimization</given-names>
            <surname>Algorithms</surname>
          </string-name>
          [J].
          <source>ACM Computing Surveys</source>
          ,
          <year>2015</year>
          ,
          <volume>48</volume>
          (
          <issue>1</issue>
          ):
          <fpage>1</fpage>
          -
          <lpage>34</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <surname>Li</surname>
            <given-names>Li</given-names>
          </string-name>
          ,
          <string-name>
            <given-names>Wang</given-names>
            <surname>Shuo</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Huang</given-names>
            <surname>Tao</surname>
          </string-name>
          , et al.
          <article-title>Overview of the four-layer load balancing technology of the data center network [J]</article-title>
          .
          <source>Computer Engineering and Science</source>
          ,
          <year>2022</year>
          ,
          <volume>44</volume>
          (
          <issue>01</issue>
          ):
          <fpage>48</fpage>
          -
          <lpage>59</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <surname>Neghabi</surname>
            <given-names>A A</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Navimipour</surname>
            <given-names>N J</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Hosseinzadeh</surname>
            <given-names>M</given-names>
          </string-name>
          , et al.
          <article-title>Energy-aware dynamic-link load balancing method for a software-defined network using a multi-objective artificial bee colony algorithm and genetic operators [J]</article-title>
          .
          <source>IET communications</source>
          ,
          <year>2020</year>
          ,
          <volume>14</volume>
          (
          <issue>18</issue>
          ):
          <fpage>3284</fpage>
          -
          <lpage>3293</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>Zhou</given-names>
            <surname>Yinglian</surname>
          </string-name>
          ,
          <source>Liu Fu. Research on server load balancing technology [J]. Computer and Digital Engineering</source>
          ,
          <year>2010</year>
          ,
          <volume>38</volume>
          (
          <issue>4</issue>
          ):
          <fpage>11</fpage>
          -
          <lpage>14</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <surname>Zakia</surname>
            <given-names>U</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Yedder H B.</surname>
          </string-name>
          <article-title>Dynamic load balancing in SDN-based data center networks [C]//</article-title>
          <source>Proc of the 8th IEEE Annual Information Technology, Electronics and Mobile Communication Conference</source>
          . Piscataway, NJ: IEEE Press,
          <year>2017</year>
          :
          <fpage>242</fpage>
          -
          <lpage>247</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <surname>Chiesa</surname>
            <given-names>M</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kindler</surname>
            <given-names>G</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Schapira</surname>
            <given-names>M.</given-names>
          </string-name>
          <article-title>Traffic engineering with Equal-Cost-Multipath: An algorithmic perspective [J]</article-title>
          .
          <source>IEEE/ACM Transactions on Networking</source>
          ,
          <year>2016</year>
          ,
          <volume>25</volume>
          (
          <issue>2</issue>
          ):
          <fpage>779</fpage>
          -
          <lpage>792</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <surname>Li</surname>
            <given-names>Y</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Pan</surname>
            <given-names>D.</given-names>
          </string-name>
          <article-title>OpenFlow based Load Balancing for Fat-Tree Networks with Multipath Support [C]//</article-title>
          <source>Proc of the 12th IEEE International Conference on Communications. Budapest</source>
          , Hungary: IEEE Press,
          <year>2013</year>
          :
          <fpage>1</fpage>
          -
          <lpage>5</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>Wang</given-names>
            <surname>Jun</surname>
          </string-name>
          ,
          <string-name>
            <surname>Wang</surname>
            <given-names>Menglin</given-names>
          </string-name>
          ,
          <string-name>
            <given-names>Wang</given-names>
            <surname>Yue</surname>
          </string-name>
          , et al.
          <article-title>Load balancing scheme of SDN data center network based on flow classification [J]</article-title>
          .
          <source>Computer Engineering and Application</source>
          ,
          <year>2019</year>
          ,
          <volume>55</volume>
          (
          <issue>24</issue>
          ):
          <fpage>75</fpage>
          -
          <lpage>83</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <surname>Beshley</surname>
            <given-names>M</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kryvinska</surname>
            <given-names>N</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Beshley</surname>
            <given-names>H</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kochan</surname>
            <given-names>O</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Barolli</surname>
            <given-names>L</given-names>
          </string-name>
          .
          <article-title>Measuring End-to-End Delay in Low Energy SDN IoT Platform</article-title>
          . Computers, Materials &amp; Continua, 2022б
          <volume>70</volume>
          (
          <issue>1</issue>
          ):
          <fpage>19</fpage>
          -
          <lpage>41</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <surname>Kochan</surname>
            <given-names>O</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Beshley</surname>
            <given-names>M</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Beshley</surname>
            <given-names>H</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Shkoropad</surname>
            <given-names>Y</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ivanochko</surname>
            <given-names>I</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Seliuchenko</surname>
            <given-names>N.</given-names>
          </string-name>
          <article-title>SDNbased Internet of Video Things platform enabling real-time edge/cloud video analytics [C] //</article-title>
          <source>Proc. of the 2023 17th International Conference on the Experience of Designing and Application of CAD Systems (CADSM)</source>
          ,
          <year>2023</year>
          , Vol.
          <volume>1</volume>
          :
          <fpage>1</fpage>
          -
          <lpage>5</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <surname>Lan</surname>
            <given-names>Yuanliang</given-names>
          </string-name>
          ,
          <string-name>
            <given-names>Wang</given-names>
            <surname>Kuochen</surname>
          </string-name>
          and
          <string-name>
            <surname>Hsu Y H. Dynamic</surname>
          </string-name>
          load
          <article-title>-balanced path optimization in SDN-based data center networks [C]//</article-title>
          <source>Proc of the 10th International Symposium on Communication Systems, Networks and Digital Signal</source>
          ,
          <year>2016</year>
          :
          <fpage>1</fpage>
          -
          <lpage>6</lpage>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>