Packet Loss Optimization in Router Forwarding Tasks Based on the Particle Swarm Algorithm
Round 1
Reviewer 1 Report
This work presents a method to improve the SDN performance using particle swarm algorithm. Results show the proposed method achieves decent efficiency improvements and acceptable packet loss. However, the empirical method has multiple drawbacks that are not clear: 1. Experiments demonstrate the algorithm fitness using different parameters, but the criteria of choosing these parameters is not discussed in the paper. 2. How about the algorithm in practical time? It would be more convincing if the algorithm can be evaluated on practical devices.
Moreover, I suggest removing all shadows in figures, which makes the figure hard to read.
Author Response
- Experiments demonstrate the algorithm fitness using different parameters, but the criteria of choosing these parameters is not discussed in the paper.
Answer
The fitness section is improved to clarify how the fitness function is created.
Fitness Evaluation
The fitness evaluation algorithm is shown in Equation (1). This step of the algorithm includes calculating the number of packets of each queue, then according to the quantum time, the process is removed from the corresponding queue. If the packets of the queue are all forwarded on time, then the forwarding interface is available directly to the next queue. If the weight is not enough to forward all packets in the corresponding queue, then the architecture moves the forwarding interface when the weight ends. When the weights of all the queues are in the architecture, the round restarts. If some packets are not forwarded within the required latency time, the system drops them. For each particle swarm of weights, the numbers of forwarded packets and dropped-out packets are calculated. The fitness function is evaluated according to the following equation:
………… (1)
Where FP is the number of forwarded packets, and DP is the number of dropped packets. The value of weight-sum equals the sum of a swarm’s positions values.
The fitness function should be maximized and make its value approximate or equal to the sum of packets in all queues.
The swarm’s position values are generated as random values ranging from pmin to pmax. The legal swarm is the swarm with weight-sum value equals or less than pmax. Otherwise, the swarm is penalized by subtracting 1 from the fitness value.
2. How about the algorithm in practical time? It would be more convincing if the algorithm can be evaluated on practical devices.
Answer
The aim of the work is to prove that using an optimization algorithm provides dynamic weights to forward packets from multi priority queues system. The psoWRR algorithm is suggested to optimize the weights. I agree with you that the cost of this algorithm is the time. However, we suggested depending on changes in queues intensity as a trigger to execute the algorithm. If the intensity of the queues does not change for a period, it is possible to keep using the same weights as a template throughout this period until the queue’s intensity changes.
the following points were included in the manuscript:
The calculation of the time quantum of the queues occurs in the proposed system for the following reasons:
- Variations in the intensities of one or more traffic types
- An interval time decided by the network administrator
- Increments in the ratio of dropped out packets
3. Moreover, I suggest removing all shadows in figures, which makes the figure hard to read.
Answer
Done. I have removed the shadows.
Reviewer 2 Report
Packet Loss Optimization in Router Forwarding Tasks Based on the Particle Swarm Algorithm
Rana Fareed Ghani, Laith Al-Jobouri
Review
The paper investigates an approach to optimize features related to configuration of Software Defined Networks. It investigates the utilization of a popular optimization algorithm (PSO) in calculating the weights for a scheduling algorithm of multilevel routing queues.
The paper is well written considering the original explanation of the implementation of the algorithm proposed, and it appears that the references are carefully selected and useful to the reader. However there are some issues described below that obscure the clarity of the results and their explanation.
Technical Corrections: The following are a few things that have been observed
Line 397: Instead of poWER probably means psoWRR
Line 365: Explements ???
Line 28: Hardwire ??? Does it mean Hardware?
Lines 129-130 : parts might be better replaced by bits.
Line 207: What exactly is the quantity Pj that is summed up?
Lines 312-315 say: Figure 3 shows the relationship between the number of packets and fitness value in the following four population size values: 3, 5, 7, and 10.
However, Fig 3 displays a graph with TIME being the category characteristic, not size.
Lines 335-336 say: The relationship between the number of packets and fitness values is studied according to the following number of generations: 3, 5, 7, 10, and 15. Both 5 and 7 gave good values for fitness within various densities of packets. Figure 4 shows the result of experiments for the number of generations’ parameter adjustment.
However, Figure 4 does not reflect exactly these categories (It portrays: 3,5,10,15,20)
The following are some observations that can hinder a reader understand the contributions of this work. Clarifications needed:
Lines 245-247 say: The steps of the algorithms include calculating the density of each queue, then according to the quantum time, the process is removed from the corresponding queue.
However, it is not clear what exactly is meant by density of each queue. Does it mean the number of packets in the queue. Generally, density implies a ratio of an existing quantity over a size of a space. It’s not clear what is meant in this and other occurrences of the term.
Lines 253-259: It is not clear what it is meant with: The value of weight-sum equals the sum of partials within a swarm. The quantities sum, the difference weight-sum and their relation to the Fitness function need to be explained better since they are in the core of the algorithm.
Lines 296-306 try to explain the results in Figure 2. They include the text: Therefore, we need to adjust the value of the population size to compromise between accelerated convergence and preserve memory space. In psoWRR, the size of the population was tested with values ranging from 3 to 10, and the results are shown in Figure 2.
However, Figure 2 does not mention any value regarding memory consumption as it varies according to size of the population.
Lines 321-323 state: As shown in Figure 3, when there is a low density of the packets in all queues, the fitness value of psoWRR is high and equals to the number of packets approximately. This gives the impression that low value in the horizontal axis of fitness is considered high value of psoWRR fitness but it is not explained somewhere and could be confusing in explain the meaning of the graphs. This could apply in all figures with Fitness in the horizontal axis.
Lines 82-87 summarize the major contributions of the paper. They contain two major objectives: First Objective: The results that we present in this paper show that using the PSO algorithm is promising to adjust and optimize the weights in multilevel queueing systems. Second Objective: Additionally, the results are compared to the results of the conventional CBWRR algorithm, which is implemented within the proposed framework, and the results show that the PSO-based algorithm is better to reduce the effect of starvation and packet-dropping problems.
However, the results presented in Section 4 focus mainly (explanations related to Figures 2-5) in explaining and fine tuning the workings of the algorithm psoWRR alone. The comparison between this algorithm and other algorithms is done (i) in Figure 6 (that shows better metrics in forwarded packets) and (ii) in Table 2 that show lower packet loss ratio (7%) compared to other methods. Regarding (i) it is not clear how the CBWRR metrics were obtained. Furthermore, the second objective was to show improvement of effect of starvation and packet-dropping problems, which is not shown clearly in the figure. Regarding (ii) the paper does not explain how the packet loss ratio was calculated for psoWRR and how the comparisons attempted in Table 2 are compatible.
Author Response
Technical Corrections: The following are a few things that have been observed
Line 397: Instead of poWER probably means psoWRR: done
Line 365: Explements ??? done
Line 28: Hardwire ??? Does it mean Hardware? done
Lines 129-130 : parts might be better replaced by bits. done
Line 207: What exactly is the quantity Pj that is summed up? Pj is a packet allocated to queue j,
Lines 312-315 say: Figure 3 shows the relationship between the number of packets and fitness value in the following four population size values: 3, 5, 7, and 10.
However, Fig 3 displays a graph with TIME being the category characteristic, not size.
Figure 2 shows the relationship between the number of packets and fitness value in the following four population size values: 3, 5, 7, and 10.
Lines 335-336 say: The relationship between the number of packets and fitness values is studied according to the following number of generations: 3, 5, 7, 10, and 15. Both 5 and 7 gave good values for fitness within various densities of packets. Figure 4 shows the result of experiments for the number of generations’ parameter adjustment.
However, Figure 4 does not reflect exactly these categories (It portrays: 3,5,10,15,20)
The relationship between the number of packets and fitness values is studied according to the following number of generations: 3, 5, 10, 15, and 20. Both 10 and 15 gave good values for fitness within various densities of packets. Although higher number of generations may provide better results, the reason behind considering 20 for highest number of generations is to limit execution time. Figure 4 shows the result of experiments for the number of generations’ parameter adjustment.
The following are some observations that can hinder a reader understand the contributions of this work. Clarifications needed:
Lines 245-247 say: The steps of the algorithms include calculating the density of each queue, then according to the quantum time, the process is removed from the corresponding queue.
However, it is not clear what exactly is meant by density of each queue. Does it mean the number of packets in the queue. Generally, density implies a ratio of an existing quantity over a size of a space. It’s not clear what is meant in this and other occurrences of the term.
Answer
This step of the algorithm includes calculating the number of packets of each queue, then according to the quantum time, the process is removed from the corresponding queue.
Lines 253-259: It is not clear what it is meant with: The value of weight-sum equals the sum of partials within a swarm. The quantities sum, the difference weight-sum and their relation to the Fitness function need to be explained better since they are in the core of the algorithm.
Answer
Where FP is the number of forwarded packets, and DP is the number of dropped packets. The value of weight-sum equals the sum of a swarm’s positions values.
The fitness function should be maximized and make its value approximate or equal to the sum of packets in all queues.
The swarm’s position values are generated as random values ranging from pmin to pmax. The legal swarm is the swarm with weight-sum value equals or less than pmax. Otherwise, the swarm is penalized by subtracting 1 from the fitness value.
Lines 296-306 try to explain the results in Figure 2. They include the text: Therefore, we need to adjust the value of the population size to compromise between accelerated convergence and preserve memory space. In psoWRR, the size of the population was tested with values ranging from 3 to 10, and the results are shown in Figure 2.
However, Figure 2 does not mention any value regarding memory consumption as it varies according to size of the population.
Answer
Therefore, the value of population size must be selected carefully. Using particle swarm algorithm requires processing a population of candidate solutions at each generation. keeping the population size as small as possible is important to preserve the memory space in the router. Therefore, we need to consider the minimum population size that allows minimum convergence time. Minimum convergence time is gained by the reach to the best fitness value within minimized number of generations.
Lines 321-323 state: As shown in Figure 3, when there is a low density of the packets in all queues, the fitness value of psoWRR is high and equals to the number of packets approximately. This gives the impression that low value in the horizontal axis of fitness is considered high value of psoWRR fitness but it is not explained somewhere and could be confusing in explain the meaning of the graphs. This could apply in all figures with Fitness in the horizontal axis.
Answer
As shown in Figure 3, when there is a low number of packets in all queues, the fitness value of psoWRR is high and equals to the number of packets approximately. For instance, when the number of packets equals 10, 20, and 30, fitness value is 10, 20, 30 respectively. However, when the number of the packets is high in one or all the queues, the fitness value is retreated even for high available time, e.g., when number of packets 100, the fitness value is less than 85 for variant available time ranging from 10 to 60 seconds. The reason behind this problem is the limited size of the queues and some of the packets are lost because of full queue. In this experiment, the population size was 10, the number of generations was 10, and the maximum queue size was 60.
Lines 82-87 summarize the major contributions of the paper. They contain two major objectives: First Objective: The results that we present in this paper show that using the PSO algorithm is promising to adjust and optimize the weights in multilevel queueing systems. Second Objective: Additionally, the results are compared to the results of the conventional CBWRR algorithm, which is implemented within the proposed framework, and the results show that the PSO-based algorithm is better to reduce the effect of starvation and packet-dropping problems.
However, the results presented in Section 4 focus mainly (explanations related to Figures 2-5) in explaining and fine tuning the workings of the algorithm psoWRR alone. The comparison between this algorithm and other algorithms is done (i) in Figure 6 (that shows better metrics in forwarded packets) and (ii) in Table 2 that show lower packet loss ratio (7%) compared to other methods.
Regarding (i) it is not clear how the CBWRR metrics were obtained.
The weights in CBWRR algorithm were set as [2000, 3000, 5000] in milliseconds as an example [13].
Furthermore, the second objective was to show improvement of effect of starvation and packet-dropping problems, which is not shown clearly in the figure.
Answer
The result of the comparison shows that keeping static weights CBWRR algorithm increases the number of dropped packets due to the variance in traffic intensity. Therefore, optimizing the weights of the queues using psoWRR algorithm reduces the dropped packets and increases the forwarded packets which resultant in packet loss ratio reduction. The majority of dropped packets are the packets from the lower priority queue. Therefore, reducing the number of dropped packets will result in reducing packet starvation.
The comparison between psoWRR and CBWRR algorithms is shown in Figure 6; the number of dropped packets is reduced in the psoWRR. Although the difference is very small when the number of packets is low, in higher queues intensities, the difference is higher.
Regarding (ii) the paper does not explain how the packet loss ratio was calculated for psoWRR and how the comparisons attempted in Table 2 are compatible.
Answer
The proposed psoWRR is compared with references [21] and [23] according to the packet loss ratio, and the result are shown in Table II. In psoWRR algorithm, packet loss ratio is calculated using Equation (5) for 100 times repeated experiments to the algorithm.
psoWRR Loss Ratio = ………….(5)
while the packet loss ratio of FDWFQ[21] and LLQ[23] are calculated according to results shown in these works.
Reviewer 3 Report
The authors aim to improve the performance, reduce starvation and packet loss in communication networks using the PSO algorithm, and optimize the weights in multilevel queueing systems. It compares its results to the CBWRR algorithm and shows that the PSO-based algorithm reduces the effect of starvation and packet-dropping issue betters.
1. Section 1: Introduction: Towards the end of the section, the authors mention, "The main contribution of this work is improving the control plane in SDN using an AI-based optimization algorithm to configure the queue weights in the weighted round-robin scheduling approach dynamically and automatically in response to the QoS metrics and density of packets of different QoS requirements."
However, it doesn't elaborate on the AI method and how it is used. Suggest that the authors elaborate on how and what AI method is used and what are the unique benefits it adds to the optimization and improvements of the PSO algorithm. Or remove the mentioned AI.
2. Section 2: Related work: The section mentions three associated works from 2001, 2019, and 2020. Many recent papers are related to improvements in the particle swarm optimization algorithm and its implementation in various applications/platforms, such as wireless and vehicular ad-hoc networks. Suggest expanding the related work section, exploring other optimization improvements, and using it to compare and improve your proposed adaptation.
3. Section 3: Methods: is clear and well-written. However, I expected to see AI incorporation within the proposed solution.
4. Section 4: Experiment: The experiment results are well described. However, the impression is that the weight adjustments are made based on the target result and less in a systematic method. In addition, the comparison is limited just to the conventional round-robin algorithm. There are already more advanced solutions to compare with
Author Response
communication networks using the PSO algorithm, and optimize the weights in multilevel queueing systems. It compares its results to the CBWRR algorithm and shows that the PSO-based algorithm reduces the effect of starvation and packet-dropping issue betters.
- Section 1: Introduction:Towards the end of the section, the authors mention, "The main contribution of this work is improving the control plane in SDN using an AI-based optimization algorithm to configure the queue weights in the weighted round-robin scheduling approach dynamically and automatically in response to the QoS metrics and density of packets of different QoS requirements."
However, it doesn't elaborate on the AI method and how it is used. Suggest that the authors elaborate on how and what AI method is used and what are the unique benefits it adds to the optimization and improvements of the PSO algorithm. Or remove the mentioned AI.
Answer
The main contribution of this work is improving the control plane in SDN using PSO optimization algorithm, which is one of swarm intelligence algorithms, to configure the queue weights in the weighted round-robin scheduling approach dynamically and automatically in response to the QoS metrics and the number of packets of different QoS requirements.
- Section 2: Related work:The section mentions three associated works from 2001, 2019, and 2020. Many recent papers are related to improvements in the particle swarm optimization algorithm and its implementation in various applications/platforms, such as wireless and vehicular ad-hoc networks. Suggest expanding the related work section, exploring other optimization improvements, and using it to compare and improve your proposed adaptation.
Answer
Two more works have been added to the related work as follows:
PSO algorithm has been used to solve scheduling algorithm in cloud environments. Rekha and Kalaiselvi[24] proposed an algorithm to schedule the requests of virtual machines for resources. The proposed algorithm uses multilevel priority queue system in the cloud computing context and the Particle Swarm Optimization (PSO) algorithm used for splitting the ready queue into certain longer queues. The result shows that it is less cost, better throughput and less delay than using only one queue or different algorithm. Khan et al. [25] investigated IT services provided to customers by cloud environment and the Service level agreements (SLAs). They proposed an algorithm to provide cloud service with reliable Quality of service (QoS) and to maintain Service level agreements. It is important for cloud service providers to predict possible service violation before it happens to perform the required countermeasure for it. The major considered violation in this work are response time, accessibility, availability, and speed. In this paper, two variants of Particle swarm optimization (PSO) algorithm are used for the detection and predictions of QoS violations in terms of these concerns. The proposed methods were compared according to accuracy and speed measurements.
- Section 3: Methods:is clear and well-written. However, I expected to see AI incorporation within the proposed solution.
Answer
The following section has been added to the manuscript:
3.3. Particle swarm algorithm
Artificial intelligence is a collection of techniques inspired by nature. Particle swarm optimization (PSO) is inspired by birds [35]. The PSO algorithm, which has undergone various improvements since its founding in 1990, is used to solve a wide spectrum of problems. The superiority of PSO algorithm over other metaheuristic algorithms and ability to solve complex problems come from its many advantages [36]: Easily implemented, few numbers of parameters, ability to run parallel computations, robustness, and fast convergence and low computational time. However, the PSO algorithm suffers from few numbers of disadvantages [36]: control parameters are difficult to be tuned and trapping into the local minima on solving high-dimensional problems.
- Section 4: Experiment: The experiment results are well described. However, the impression is that the weight adjustments are made based on the target result and less in a systematic method. In addition, the comparison is limited just to the conventional round-robin algorithm. There are already more advanced solutions to compare with
Answer
The psoWRR Algorithm Efficiency Measurement section has been improved as follows:
psoWRR Algorithm Efficiency Measurement
The global best (gbest) fitness value resultant after all the determined iterations of psoWRR is compared with the result of scheduling the same packets using the CBWRR algorithm.
The same generated packets in the framework are also scheduled using the conventional round-robin algorithm, and the result of the round-robin algorithm is computed using Equation (4).
…………(4)
Here, FP is the sum of forwarded packets, and DP is the sum of the dropped packets when scheduling using the CBWRR algorithm.
The time for the test is 10 seconds, and these 10 seconds are used to schedule packets, starting from 10 packets and increasing to 100 packets. Each experiment was repeated 100 times, and the results were reported for both CBWRR and psoWRR algorithms. The weights in CBWRR algorithm were set as [2000, 3000, 5000] in milliseconds as an example [13].
The result of the comparison shows that keeping static weights CBWRR algorithm increases the number of dropped packets due to the variance in traffic intensity. Therefore, optimizing the weights of the queues using psoWRR algorithm reduces the dropped packets and increases the forwarded packets which resultant in packet loss ratio reduction. The majority of dropped packets are the packets from the lower priority queue. Therefore, reducing the number of dropped packets will result in reducing packet starvation.
The comparison between psoWRR and CBWRR algorithms is shown in Figure 6; the number of dropped packets is reduced in the psoWRR. Although the difference is very small when the number of packets is low, in higher queues intensities, the difference is higher.
The proposed psoWRR is compared with references [21] and [23] according to the packet loss ratio, and the result are shown in Table II. In psoWRR algorithm, packet loss ratio is calculated using Equation (5) for 100 times repeated experiments to the algorithm.
psoWRR Loss Ratio = ………….(5)
while the packet loss ratio of FDWFQ[21] and LLQ[23] are calculated according to results shown in these works.
Table II A comparison between the related work and proposed psoWRR for the packet loss ratio
Work |
Packet loss ratio |
FDWFQ [21] |
35% |
LLQ [23] |
7% (only for voice packets) |
psoWRR |
7% (for all types of packets) |
Round 2
Reviewer 2 Report
Comment1
In the end of section 3.4 there is a definition of Pj and Tj. It is not clear how these quantities are incorporated in the PSO algorithm. In particular how Tj is initialized.
Comment2
In the presented algorithm it is not clear how the calculated fitness is related to the quantities Xi.
Comment3
It is not described why the best value of parameter w is 1.5 .
Comment4
Is there a justification of using the term 1/DP in the formula regarding the dropped packages?
Comment5
In formula 1 the expression (weight-sum) needs a more comprehensive explanation.
Comment6
The concept generations that is depicted on Figure 4 needs to be explained better.
Comment7
In the following text: “Fitness Evaluation The fitness evaluation algorithm is shown in Equation (1). This step of the algorithm includes calculating the number of packets of each queue, then according to the quantum time, the process is removed from the corresponding queue” should packet be used instead of process?
Author Response
Please see the attachment.
Author Response File: Author Response.pdf
Reviewer 3 Report
Fine with me
Author Response
Comments and Suggestions for AuthorsFine with me
Answer
Thank you.
Round 3
Reviewer 2 Report
Detected a few language issues:
Line 213: "when it becomes in front..." might be better replaced with something like "when it reaches the front..."
Line 261: dimensions --> dimension (plural is used in the word following)
Lines 318 and 359 still contain the term generation that has been altered to iteration.