# Load Balancing Oriented Predictive Routing Algorithm for Data Center Networks
## 1 Introduction  
An increasing number of computing tasks are offloaded to a cloud center by various user applications [1]. Therefore, the frequency of data communications between nodes in data center networks (DCNs) are increased, and the volume of data transmitted by DCNs also grows rapidly. Popular applications readily cause load imbalance in the internal links of DCNs, and some bottleneck links are liable to be congested. At the same time, neglected links are fully utilized, thereby preventing the DCN from being maximized. Through flow scheduling, DCNs can select an appropriate path and transmission rate for a specific data flow, such that all links in the DCNs tend to be equally occupied. Thus, a traffic scheduling algorithm can reduce the congestion of the bottleneck link and improve the overall efficiency of a DCN [2]. Existing flow scheduling methods can be divided into two categories [3]. The first category is to propose and design a new architecture model for optimizing traffic scheduling. This category can be further divided into two subcategories according to different starting points [4]. The first subcategory entails the distribution of flow as the starting point. The DCN involves two types of data traffic composition [5].A small flow with a large number but a small scale is called a mice flow. A large stream with a small number but a large scale is called the elephant flow. Although small flows account for a large proportion in number, their scale is far from that of large flows. Therefore, determining the load balance innetwork traffic depends on a few large flows [6]. The LABERIO algorithm aims to evaluate the degree of network balance by setting a threshold of that balance and calculating the degree of network load balance according to the state of all links [7]. When the balance degree exceeds the balance threshold, the largest stream on the link with the highest load is selected for scheduling. However, after the completion of the regulation of large flows, the subsequent processing of small flows is unreasonable. In general, the emergence of network link fragmentation and low resource utilization of network links are due to the unreasonable scheduling of small flows [8]. The second subcategory involves the flow table in OpenFlow as the starting point [9]. By improving some current routing scheduling mechanisms, the purpose of load balancing is realized [10]. An example is a real-time virtual machine management framework based on a software defined network (SDN) [11]. Experimental results show that the proposed management structure can effectively realize load balancing and improve link utilization. However, the increasing complexity of the network scale means that the burden of the controller will be seriously aggravated in this method, thereby leading to an increasing computation time of the topology update [12; 13]. The second category of flow scheduling methods develops a new algorithm to optimize the flow control operation [14]. Typical algorithms include the round-robin scheduling (RRS) [15], weighted round-robin scheduling (WRRS) [16], and source IP hash scheduling [17]. However, the above various algorithms have their own problems. For example, source IP hashing will cause an unbalanced server load [17]. The above research reduces network delay and improves link load balancing by optimizing the routing calculation and multi-path scheduling strategy. However, with the increase of the network center scale, the real-time link usage acquisition becomes more complex, and the burden of the controller increases. Thus, the computation time of the topology update becomes increasingly large, a situation which leads to lowered network performance. To better improve the degree of load balancing, this study employs a prediction method to predict the link utilization in the next duty cycle. This approach reduces the burden of the controller in real-time monitoring network link conditions.