1. bookAHEAD OF PRINT
Dettagli della rivista
License
Formato
Rivista
eISSN
2444-8656
Prima pubblicazione
01 Jan 2016
Frequenza di pubblicazione
2 volte all'anno
Lingue
Inglese
Accesso libero

Genetic algorithm-based congestion control optimisation for mobile data network

Pubblicato online: 12 Dec 2022
Volume & Edizione: AHEAD OF PRINT
Pagine: -
Ricevuto: 20 May 2022
Accettato: 19 Nov 2022
Dettagli della rivista
License
Formato
Rivista
eISSN
2444-8656
Prima pubblicazione
01 Jan 2016
Frequenza di pubblicazione
2 volte all'anno
Lingue
Inglese
Introduction

With the fast development of mobile devices and network, the mobile data network has become the main way to access Internet. According to CNNIC 47th Inter-Network Development Statistical Report [1], until December 2020, the Chinese netizen scale had reached to 989 million, among which 986 million users were mobile phone netizens, accounting for 99.7%, and three basic intercommunication enterprises had developed cellular IoT end-users of approximately 1.136 billion. At present, the network flow demands of videos, games and live streams are rocketing, and these applications need to interact with many users in real time and maximally improve video and image quality, i.e. providing high-quality services. Compared with the wired network, transmission control protocol (TCP) shows significant performance degradation in the wireless network. In a mobile scene, the state of the cellular network is subject to the impact of location change, i.e. mobility impact, leading to unstable link [2, 3]. Even within a very short time, the state of the cellular network can also change greatly. However, traditional TCP was originally designed for a wired network with stable and reliable link, and it performed well in that environment. When it works in a mobile data network, TCP congestion control algorithm shows poor performance [4]. So, it is particularly important to improve the performance of the TCP congestion control algorithm in the mobile data network.

TCP Vegas [5] is a congestion control algorithm used to measure the network state based on round-trip time (RTT). Through calculating the difference between expected and real transfer rates, this algorithm compares the difference with the lower limit α and upper limit β of two threshold parameters and roughly judges whether the network sending rate is too quick or too slow so as to adjust congestion window (cwnd). If the difference is greater than the upper limit, the congestion control window should be reduced; but if the difference is less than the lower limit, then the congestion control window should be increased to prevent the situations of network congestion, which resulted from excessive data packages in links, and network throughput decline resulted from too less data packages, thereby enhancing bandwidth availability rate of communication links. However, the values of parameters α and β were selected and fixed for the wired network and defaulted as 2 and 4, respectively, which could not be adapted to mobile cellular networks with large bandwidth fluctuation. That is to say, Vegas has a ‘one-size-fits-all’ reaction to all network environments.

NSGA-II [6] was proposed by Srinivas and Deb [7] to analyse and solve the maximised and minimised multi-objective optimisation problem, which was an improvement to the non-dominated sorting genetic algorithm (NSGA). Parent population and progeny population are combined into one population, which is then quickly non-dominantly sorted for Pareto rank sorting, until some individuals of a certain level could not be put into the next generation completely. Then, the individuals of this level that could not be put into the next generation are calculated for congestion degree, ranked from large to small, and put into the next-generation population in sequence, until they satisfy the number of next-generation population. This is actually a cyclic iteration. NSGA-II overcomes the disadvantages of NSGA, such as lacking elitist strategy, having higher computing complexity and needing to manually determine shared parameters. It is a mature multi-objective optimisation algorithm widely used in the multi-objective optimisation field, and the Pareto optimal solution set can be found in the multi-objective optimisation problem.

In view of above analysis, TCP Vegas parameters were studied and discovered that changing Vegas parameters properly can promote QoS for mobile data network; so, the optimisation of TCP Vegas’s QoS under mobile date network was modelled as a multi-variable multi-objective optimisation problem. To find the solution by the NSGA-II algorithm, it was first to build a mathematical model taking throughput and queuing delay as optimisation objectives, various norms and restrictions as dominant punishment and Vegas parameters α and β as decisive variables. Then, the network topology structure of ns-3 was constructed, and Mahimahi mobile data network was used for optimised simulation. Finally, this model was solved to obtain a Pareto solution set, which was further analysed and selected for promoting QoS’s parameter set. The optimal parameters α and β can be found out, making Vegas to show a better QoS performance under mobile data network.

System modelling
Selection and treatment of variables and constraint conditions

TCP Vegas considers the RTT of a data package as a round and calculates the difference (diff) between expected and actual transfer rates in a round at the congestion avoidance stage (see Eq. (1), in which cwnd is the sending window size). Then, set two parameters α and β, let α = 2 and β = 4, compare the values of diff, α and β to adjust the size of sending window, as shown in Eq. (2). When the diff value is less than α, it indicates that the number of data package in the network has growth space, and the cwnd value should be increased by 1; when the diff value is greater than β, it indicates a serious network congestion, and it is required to reduce cwnd; then, the cwnd value is decreased by 1; when the diff value is between α and β, the cwnd value should remain unchanged. Vegas expects the queue length to remain between α and β, avoiding data package lost and ensuring throughput and delay. Vegas algorithm is believed as the most smooth control algorithm because it increases or reduces cwnd value linearly so as to accurately send data packages.

diff=ExpectedActual=cwnd/BaseRTTcwnd/RTT cwnd(n+1)={cwnd(n)1,diff<αcwnd(n),α<diff<βcwnd(n)+1,diff>β $$cwnd(n + 1) = \left\{ {\matrix{ {cwnd(n) - 1,} \hfill & {diff < \alpha } \hfill \cr {cwnd(n),} \hfill & {\alpha < diff < \beta } \hfill \cr {cwnd(n) + 1,} \hfill & {diff > \beta } \hfill \cr } } \right.$$ in which BaseRTT is the minimal RTT in all data packages received and also can be considered as the RTT when there is no data package cache in the route. RTT is the minimal RTT of one round within the RTT of current data package. Because there is already data package in the route at that time, it is required to queue up; so, RTT is greater than BaseRTT.

Parameters α and β were set as variables. Because α and β often represent numerical values, while the parameters of the model are variables, the designed variable parameter is set as X=[x1,x2]T , in which, x1=α , x2=β .

According to the principle of Vegas, the parametric scope should not be too large and should be a positive integer. Here, α and β were set as integers between 0 and 20, and α<β . Then, the constraint conditions are shown in the following Eq. (3): {0<g1(x)=α<200<g2(x)=β<20g3(x)=αβ>0 $$\left\{ {\matrix{ {0 < {g_1}(x) = \alpha < 20} \hfill \cr {0 < {g_2}(x) = \beta < 20} \hfill \cr {{g_3}(x) = \alpha - \beta > 0} \hfill \cr } } \right.$$

Objective function

The congestion control algorithms with good QoS performance inevitably try the best to realise high throughput and low delay [8]. The performance evaluation indexes of QoS used are average throughput and average queuing delay. So, this system model took average throughput and average queuing delay as the optimisation objectives. Average throughput is the actual transmission rate in Mbps, set as f1. Average queuing delay represents the time that a package is queued for processing in the input queue during network transmission in millisecond, set as f2. Average throughput and average queuing delay are two target values coupled. Suppose the links transmit a total of P data packages, every data package is MTU in size, link transmission time is T, then f1=P×MTU/T f2=1Pi=0Prtti in which rtti=ti+tP , ti is the queuing time of the ith data package and tP is the transmission time of data package, i.e. tP = 100 ms.

Therefore, in fact, we require the link to transmit as more data packages as possible, and the RTT of each data package should be as short as possible.

Different from the most multi-objective optimised mathematical model, usually, the objective function of the mathematical model can be expressed with a specific mathematical expression. In current system modelling, the topological network of ns-3 is deemed as a black box function [9], and f1 and f2 do not have specific mathematical expression or any other constraint conditions; instead, the result is generated by Vegas in ns-3 under the same bandwidth fluctuation. The unique variable is Vegas parameters, and different parametric values will produce different average throughput and average queuing delay; then, f1 and f2 values were taken.

Optimal designed mathematical model

It is obtained from known analysis that the mathematical model of the QoS optimisation problem of standardised TCP Vegas under mobile data network is as follows: {maxf1minf2X=(x1,x2)Ts.t.{gj(x),j=1,2,30<xiZ,i=1,2} $$\left\{ {\matrix{ {\max {f_1}} \hfill \cr {\min {f_2}} \hfill \cr {X = {{({x_1},{x_2})}^T}} \hfill \cr {s.t.\left\{ {\left. {\matrix{ {{g_j}(x),j = 1,2,3} \cr {0 < {x_i} \in Z,i = 1,2} \cr } } \right\}} \right.} \hfill \cr } } \right.$$

It can be seen that this optimisation problem belongs to a typical multi-objective optimisation issue. Two variables are X=[x1,x2]T , and two optimised target values are f1 and f2. Different from the single-objective optimisation problem, the optimal solution of the multi-objective optimisation problem almost does not exist. When solving the multi-objective problems, each objective has different weights and dimensions. So, the target solutions cannot be compared and have conflicts with each other. In general, there is a solution set, and whether the solutions are good or bad, these cannot be compared. Such a solution is called non-inferior optimal solution, i.e. Pareto optimal solution set. At present, there are many ways to solve the multi-objective optimisation problem, and the Pareto concept-based evolutionary algorithm is an effective mean and also a research hotspot. The research demonstrates that the non-dominated sorting genetic algorithm II (NSGA-II) with elitist strategy is the most effective method [10].

NSGA-II algorithm analysis

The NSGA-II algorithm adopts fast dominant sorting. Compared with the traditional genetic algorithm, the NSGA-II algorithm has the following three advantages: (1) It uses fast non-dominant sorting method, which reduces computing complexity from O(MN3) to O(MN2) and expands population amount, making it possible to retain more excellent individuals. M is the generation number of a population and N is the individual quantity in each generation of population; (2) The concept of congestion is introduced, avoiding an artificial selection of shared parameters; (3) The elite strategy is introduced to ensure excellent individuals do not miss and guarantee the individual quality of population [11].

The solution by using the NSGA-II algorithm mainly includes the following steps: first, determine the population scale N and immediately generate the initial population P1, and then, the individuals of P1 are quickly non-dominantly sorted. Later, such genetic operators as selection, cross-over and mutation are used to produce progeny population S1. Parent population and progeny population are then mixed to generate a new population R1, and the individuals of this new population are quickly non-dominantly sorted to obtain a Pareto sequential set sorted from lower to higher levels, i.e. F1,F2,,Fn, . According to the sorting results, individuals are put into the new-generation parent population P2 in sequence, until F1+F2++Fj1<N and F1+F2++FjN . The individuals of Fj are calculated for congestion degree and sorted from large to small (when equality holds, it is not needed to sort by congestion) and then put in sequence to generate a new-generation parent population P2, until the size of P2 increases to N. Repeat this operation of mixing parent population Pi with progeny population Si to generate a new-generation parent population Pi+1, until i reaches the maximum iteration number max [12]; then, iteration is stopped to obtain the Pareto solution.

Take TCP Vegas parameters α and β as chromosomes, and every one chromosome is a population individual. Set initial population scale as 10, that is to say, generate 10 groups of α and β values within the restraint scope, such as [1, 3]T, [3, 5]T, etc. Then, make the crossover operator to randomly select mean value or mean deviation so as to generate new chromosome and randomly endow an individual with new value to generate mutation. Input parameters α and β in the form of chromosome in every iteration obtain the target value of given parameter through ns-3 and represent dots in the target space coordinate system. Finally, calculate the congestion degree of multiple points in target space, complete non-dominant sorting and generate Pareto leading edge. The specific algorithm flow is shown in Figure 1.

Fig. 1

Algorithm flow chart

Simulation experimental design

The ns-3 [13] is a discrete event network simulator mainly used for scientific research and education fields. It is written by C++ and can take C++ and Python languages to write a script. As one of the most popular simulators now, ns-3 provides abundant network models, including multiple network protocols (TCP, UDP, etc.) as well as communication technologies. Furthermore, ns-3 can also interact with external systems and actual application and conduct joint simulation with other platforms, which provides great possibility for obtaining truthful data.

The ns-3.30 version is selected in simulation experiment, the installation environment is ubuntu20.04 Linux operating system and the kernel version is 5.8.0-63-generic. In ns-3 software, a point-to-point network topology was built for simulation experiment, and the node0 and node1 were taken as source nodes to bind TCP Vegas source agency. The link queue management mechanism adopts DropTail, and the link bandwidth is mobile network data trace with single-direction dissemination delay of 50 ms and data package of 1500 bytes to simulate the network congestion process under mobile data network. Finally, the average throughput and average queuing delay were obtained [14, 15].

Optimisation algorithm solution

Taking Mahimahi downlink trace to serve as link bandwidth, for example, these traces were collected during driving [16], totalling to 3022 s, under a bandwidth range of 0–20 Mbps and average bandwidth of 8.5 Mbps. These traces represent the time-varying bandwidths of cellular network experienced by mobile users, and each line of the traces gives a timestamp in millisecond and represents that a data package of 1500 bytes exits the queue and crosses over the link. If more than one data packages of 1500 bytes are transmitted in specific millisecond, then multiple lines will repeat the same timestamp. Because the shortest is 120 s in Mahimahi, all traces are cut into 120 s, and 120 s is taken as a trace file. All trace data of <120 s are round off. Every 100 ms, the average bandwidth of 100 ms in trace is updated as link bandwidth.

Pymoo [17] is a Python-based open-source software package supporting multiple optimisation functions, which is used to customise and analyse the optimisation model. Pymoo can be applied to define the symbol problem and create a specific problem instance, such as linear programming and quadratic programming, and uses a standard procedure to resolve these instances. It is an effective framework to solve and analyse multi-objective optimisation problems. We combined Pymoo’s NSGA-II algorithm and ns-3’s network topology and set optimal front-end individual number as 10, population size as 10 and the maximum evolutionary generation number as 4. Then, we wrote multi-thread code with the maximum thread of 16. When it reached to the maximum evolutionary generation number, we quit the calculation and drew the Pareto solution set distribution chart. Because the initial population of algorithm is generated randomly, the results are different in every operation.

In Table 1, the first line shows the result of average throughput and queuing delay under defaulted parameter values, and rest lines show the points of Pareto optimal solution set. It can be seen that as average throughput increases, average queuing delay will also rise. The QoS of Vegas-NSGA-II can be evaluated from two aspects: average throughput f1 and average queuing delay f2. The results can be divided into two categories: one can result in high throughput, and the other can lead to low delay. Optimal parameter combination should be selected according to practical QoS requirements. In Pareto solution set, if throughput is >4 Mbps and queuing delay is <60 ms, then we consider it as high throughput, low delay and good QoS performance. Figure 2 shows the Pareto leading edge with horizontal ordinate as a reverse scale, and it is believed simply that the closer a point is to the left bottom, the better its QoS will be. When α = 8, β = 15 and α = 3, β = 4, both of them meet the needs of high throughput and low delay. In Figure 3, the result of red ordinate is a result of defaulted parameter values. Comparing optimised results with defaulted parameter results, the optimised Vegas obtains an average throughput increased by 1.15 Mbps when maintaining a low delay, and throughput can be promoted to a greater extent when insignificantly increasing the delay. This greatly improves the user QoS under mobile data network.

Corresponding solutions to the points of Pareto optimal solution set

αβAvg. throughput (Mbps)Avg. Queuing delay (ms)Evaluation
243.0549Low throughput, low delay, poor QoS
9154.6785
121.4740
133.5647
1161.9147
8154.2049High throughput, low delay, good QoS
344.3658High throughput, low delay, good QoS
3144.5168
8154.6482
474.4865
171.7343

Fig. 2

Pareto optimal solution set

Conclusion

A simulated experiment was conducted in the mobile data network. The results indicate that (1) NSGA-II can be combined with the TCP Vegas congestion control algorithm effectively to guarantee obtaining an optimal target QoS under changeable network conditions and meeting user demand and (2) ns-3 can be deemed as a black box function. In the mathematical model, the target function is not a specific mathematical expression and does not concretely analyse the internal receiving, sending and missing packages in ns-3 simulation for optimising QoS; (3) this method can be extended and applied to other congestion control algorithms. Since it comprehensively considers multiple variables and targets during optimisation, it provides a new idea and approach for optimising the network congestion control algorithm.

Fig. 1

Algorithm flow chart
Algorithm flow chart

Fig. 2

Pareto optimal solution set
Pareto optimal solution set

Corresponding solutions to the points of Pareto optimal solution set

α β Avg. throughput (Mbps) Avg. Queuing delay (ms) Evaluation
2 4 3.05 49 Low throughput, low delay, poor QoS
9 15 4.67 85
1 2 1.47 40
1 3 3.56 47
1 16 1.91 47
8 15 4.20 49 High throughput, low delay, good QoS
3 4 4.36 58 High throughput, low delay, good QoS
3 14 4.51 68
8 15 4.64 82
4 7 4.48 65
1 7 1.73 43

Office of the Central Cyberspace Affairs Commission, Cyberspace Administration of China. The 47th Chinan Statistical Report on Internet Development[ER/OL]. (2021-02-03) [2021-08-07]. http://www.cac.gov.cn/2021-02/03/c_1613923423079314.htm. Office of the Central Cyberspace Affairs Commission, Cyberspace Administration of China. The 47th Chinan Statistical Report on Internet Development[ER/OL]. (2021-02-03) [2021-08-07]. http://www.cac.gov.cn/2021-02/03/c_1613923423079314.htm.Search in Google Scholar

Chen L, Liu C Q, Yang B. Research on 5G QoS Solutions for Vertical Industry[J]. Communications Technology, 2021, 54(7):1683-1689. Chen L, Liu C Q, Yang B. Research on 5G QoS Solutions for Vertical Industry[J]. Communications Technology, 2021, 54(7):1683-1689.Search in Google Scholar

Ye X W, You F, Cui H X. A survey of small cell networks for future wireless communication systems[J]. Telecommunication Engineering, 2021, 61(4): 517–528. Ye X W, You F, Cui H X. A survey of small cell networks for future wireless communication systems[J]. Telecommunication Engineering, 2021, 61(4): 517528.Search in Google Scholar

Wai Kay Leong, Zixiao Wang, and Ben Leong. TCP Congestion Control Beyond Bandwidth-Delay Product for Mobile Cellular Networks[C]//In Proceedings of the 13th International Conference on emerging Networking EXperiments and Technologies (CoNEXT ’17). Association for Computing Machinery, New York, NY, USA, 2017:167–179. Leong Wai Kay, Wang Zixiao, and Leong Ben. TCP Congestion Control Beyond Bandwidth-Delay Product for Mobile Cellular Networks[C]//In Proceedings of the 13th International Conference on emerging Networking EXperiments and Technologies (CoNEXT ’17). Association for Computing Machinery, New York, NY, USA, 2017:167179.10.1145/3143361.3143378Search in Google Scholar

Lawrence S. Brakmo, Sean W. O’Malley, and Larry L. Peterson. TCP Vegas: new techniques for congestion detection and avoidance[C]//SIGCOMM Comput. Commun. Rev. 24, 4 (Oct. 1994), 1994:24–35. Brakmo Lawrence S., O’Malley Sean W., and Peterson Larry L.. TCP Vegas: new techniques for congestion detection and avoidance[C]//SIGCOMM Comput. Commun. Rev. 24, 4 (Oct. 1994), 1994:2435.10.1145/190314.190317Search in Google Scholar

K. Deb, A. Pratap, S. Agarwal, et al. A fast and elitist multiobjective genetic algorithm: NSGA-II[J] in IEEE Transactions on Evolutionary Computation, 2002, vol. 6, no. 2:182-197. Deb K., Pratap A., Agarwal S., A fast and elitist multiobjective genetic algorithm: NSGA-II[J] in IEEE Transactions on Evolutionary Computation, 2002, vol. 6, no. 2:182-197.10.1109/4235.996017Search in Google Scholar

N. Srinivas and K. Deb. Muiltiobjective Optimization Using Nondominated Sorting in Genetic Algorithms[J] in Evolutionary Computation, 1994, vol. 2, no. 3:221-248. Srinivas N. and Deb K.. Muiltiobjective Optimization Using Nondominated Sorting in Genetic Algorithms[J] in Evolutionary Computation, 1994, vol. 2, no. 3:221-248.10.1162/evco.1994.2.3.221Search in Google Scholar

Yuan H, Guo D K, Tang G M, et al. Online energy-aware task dispatching with QoS guarantee in edge computing[J]. Chinese Journal on Internet of Things, 2021, 5(02):71-77. Yuan H, Guo D K, Tang G M, Online energy-aware task dispatching with QoS guarantee in edge computing[J]. Chinese Journal on Internet of Things, 2021, 5(02):71-77.Search in Google Scholar

Liu G Y, Li Y T, Wan B R, et al. Membership Inference Attacks in Black-box Machine Learning Models[J]. Journal of Cyber Security, 2021, 6(03):1-15. Liu G Y, Li Y T, Wan B R, Membership Inference Attacks in Black-box Machine Learning Models[J]. Journal of Cyber Security, 2021, 6(03):1-15.Search in Google Scholar

Fu Q, Lu XP, Li T. Application of multi objective optimal allocation model of agricultural multi source composite system based on NSGA-II [J]. Journal of Northeast Agricultural University, 2017, 48(3): 63-71. Fu Q, Lu XP, Li T. Application of multi objective optimal allocation model of agricultural multi source composite system based on NSGA-II [J]. Journal of Northeast Agricultural University, 2017, 48(3): 63-71.Search in Google Scholar

Zhao F, Wang M, Gao F Y. Optimization Designof Sub-Synchronous Additional Damping Controller Based on Improved NSGA-II Algorithm [J]. J. Sys. Sci. & Math. Scis, 2020, 40(05):751-760. Zhao F, Wang M, Gao F Y. Optimization Designof Sub-Synchronous Additional Damping Controller Based on Improved NSGA-II Algorithm [J]. J. Sys. Sci. & Math. Scis, 2020, 40(05):751-760.Search in Google Scholar

Ma X H, Liao L X, Li Z, et al. Multi-objective optimization based on dynamic flow entry timeouts in software defined network[J/OL]. Journal of Computer Applications, {3},{4}{5}:1-11(2021-06-25) [2021-05-21]. http://kns.cnki.net/kcms/detail/51.1307.TP.20210625.1405.014.html. Ma X H, Liao L X, Li Z, Multi-objective optimization based on dynamic flow entry timeouts in software defined network[J/OL]. Journal of Computer Applications, {3},{4}{5}:1-11(2021-06-25) [2021-05-21]. http://kns.cnki.net/kcms/detail/51.1307.TP.20210625.1405.014.html.Search in Google Scholar

Henderson T R, Lacage M, Riley G F. Network simulations with the ns-3 simulator[C]//Proceedings of the ACM SIG COMM’08. Seattle, Washington:[s.n.], 2008. Henderson T R, Lacage M, Riley G F. Network simulations with the ns-3 simulator[C]//Proceedings of the ACM SIG COMM’08. Seattle, Washington:[s.n.], 2008.Search in Google Scholar

Zhang K, Li B C. Research on Improvement of Congestion Control Algorithm Based on TCP Vegas[J]. Journal of Xinjiang Normal University (Natural Sciences Edition), 2021, 40(01):18-21+48. Zhang K, Li B C. Research on Improvement of Congestion Control Algorithm Based on TCP Vegas[J]. Journal of Xinjiang Normal University (Natural Sciences Edition), 2021, 40(01):18-21+48.Search in Google Scholar

Liu J. Performance Analysis of TCP Vegas-based LTE Network Congestion Control Algorithm[J]. Journal of Telemetry, Tracking and Command, 2015, 36(01):70-74. Liu J. Performance Analysis of TCP Vegas-based LTE Network Congestion Control Algorithm[J]. Journal of Telemetry, Tracking and Command, 2015, 36(01):70-74.Search in Google Scholar

Frank Wang and Keith Winstein. mahimahi[EB/OL]. (2016-11-12) [2020-12-07]. https://github.com/ravinet/mahimahi/tree/master/traces. Wang Frank and Winstein Keith. mahimahi[EB/OL]. (2016-11-12) [2020-12-07]. https://github.com/ravinet/mahimahi/tree/master/traces.Search in Google Scholar

J. Blank and K. Deb. Pymoo: Multi-Objective Optimization in Python[J]. IEEE Access, 2020, vol. 8: 89497-89509. Blank J. and Deb K.. Pymoo: Multi-Objective Optimization in Python[J]. IEEE Access, 2020, vol. 8: 89497-89509.10.1109/ACCESS.2020.2990567Search in Google Scholar

Articoli consigliati da Trend MD

Pianifica la tua conferenza remota con Sciendo