1. Introduction
Modern communication networks are built as multilevel multiservice platforms, and their main task is still ensuring a given quality of service (QoS) for end users [1,2,3,4]. With growth in the territorial distribution of network devices (switches, routers, network controllers, etc.) in addition to increases in the volumes of network load and traffic heterogeneity, the problem of QoS provision only worsens. Each packet flow generated by a particular network application requires differentiated service and is specifically sensitive to specific QoS indicators [5,6]. For example, data traffic is traditionally critically sensitive to packet loss, and multimedia traffic is primarily sensitive to packet delays and jitter (delay variation). Nevertheless, any network traffic type requires a certain amount of bandwidth. Therefore, the primary architectural model for providing QoS in IP and MPLS networks is DiffServ, based on priority packet processing on routers [5,6,7].
As analyses have shown, the main technological means of ensuring the differentiated quality of service are congestion management mechanisms, which usually include FIFO, PQ, CQ, FQ/WFQ, CBQ, LLQ, and their numerical modifications and combinations [1,2,3,4,8,9,10,11,12,13]. At the moment, the perfect mechanism does not exist. Each has its advantages, disadvantages, and recommended scope of application for various interfaces of switches and routers.
The traditional QoS approaches allocate resources based on service and traffic types. Indeed, the conventional QoS design, DiffServ, distributes packets into several queues based on how closely their priorities correspond to a device’s priority [5,6,7]. Under this scheduling method, different queues are selected depending on the order in which packets are forwarded to the network device [14,15,16]. Due to the issues that classical QoS deals with related to the overgrown number of users, services, and network devices, hierarchical QoS (H-QoS) was introduced to address the existing limitations and provide QoS regarding various demands. Accordingly, H-QoS uses hierarchical scheduling, congestion management, and resource allocation under different traffic types, user classes, and priorities.
Analyses of existing works regarding hierarchical QoS have demonstrated significant interest in this class of solutions [1,2,3,4]. In addition, many developments are related to implementing efficient queue management strategies on network devices, namely, software-defined network programmable switches [1,10,11,12,13]. Particular attention should be paid to solutions related to priority-based queuing mechanisms [12,13] and load balancing under queue management [11,17,18].
Consequently, in the current work, we propose an improved two-level hierarchical queue management method based on priority and balancing under the interaction prediction principle while solving congestion management and resource allocation tasks. The main idea of the work is to provide an advanced method of hierarchical queue management to increase router performance through multiprocessor architectures. Since routers are embedded systems dedicated to forwarding packets efficiently from one network interface to another, the proposed approach can be used in various embedded systems of this type [14,16].
An advanced two-level hierarchical queue management method generally aims at increased scalability. While applying a multicore, multiprocessor architectures help improve overall performance by moving away from centralized and unreliable nonscalable solutions.
The remainder of this work is structured as follows: Section 2 defines a mathematical model of queue management with load balancing on routing devices in a communication network. Section 3 proposes a two-level hierarchical queue management method based on priority and balancing. Section 4 contains the numerical research of the proposed hierarchical queue management method under investigation with different sizes of macro-queue and sub-queue organization. Finally, Section 5 discusses the obtained research results regarding the coordination procedure iteration numbers of the proposed method, and Section 6 presents the conclusions of the work.
2. Mathematical Model of Queue Management with Load Balancing on Routing Devices
Within the proposed method, in addition to using the models of [17,18], the following consequent tasks must be solved:
congestion management;
resource allocation.
Suppose that, at the first calculation stage, M packet flows arrive at a router interface input with a known ith flow average intensity of measured in bits per second. Then, a priority value of corresponds to each ith packet flow. Assume that the flow priority is quantified by a number that varies from 0 to , where is the maximum flow priority value.
For example, if packet processing and queue maintenance is based on DSCP (differentiated services code point) policies (Table 1), then . In the case of QoS group support, one hundred priorities can be used on the router [19,20,21,22]. The higher the flow priority value , the higher the QoS level that must be served on the interface.
Let us introduce a two-level hierarchy of queues created and configured on a specific router interface with a bandwidth of B (bits per second). Let L macro-queues be organized on the interface. Every macro-queue is divided into sub-queues according to the established traffic classification system and the supported level of QoS differentiation. Then, the total number of sub-queues on the interface is .
Priority-based queuing is grounded on the involvement of the queue priority concept, which should be directly related to the packet flow priority. Then, we introduce the following parameters for each of the sub-queues of any macro-queue:
and are the minimum and maximum values of the packet flow priority that the lth macro-queue’s jth sub-queue can serve, respectively;
is the total number of packet flow priorities that the lth macro-queue’s jth sub-queue can serve .
The parameters of , , and are positive integers related by the following equation:
The ranges of the priority values and between sub-queues and macro-queues can be distributed statically or dynamically according to various criteria, for example, evenly. When arriving at the interface of a packet flow that has a priority, it is immediately directed to the lth macro-queue’s jth sub-queue, for which the condition is fulfilled. In fact, the priority of the jth sub-queue of the lth macro-queue is the arithmetic mean of and .
Thus, a set of packet flows is formed, which is sent to one or another macro-queue (Table 2). denotes the total number of packet flows sent to the lth macro-queue due to distribution and aggregation. Flows are aggregated by the sub-queues of one macro-queue if .
The result of the algorithm application (Table 2) determines the solution to the congestion management problem by defining a set of variables , each of which characterizes the fraction of the ith flow sent for servicing to the jth sub-queue of the lth macro-queue [17,18]. In most queue-scheduling mechanisms, such as PQ, CQ, CBQ, and LLQ, the administrator solves the congestion management problem by setting, for example, ACL (access control lists) [6].
After solving the problem of the optimal aggregation and distribution of packet flows among the macro-queues and sub-queues represented by a set of calculated values , resource allocation is performed, which relates to the second stage of calculations. Next, we have to introduce the following control variables to solve the resource allocation problem:
defines the interface bandwidth allocated for servicing the lth macro-queue;
defines the interface bandwidth allocated for servicing the lth macro-queue’s jth sub-queue.
Following their physical sense, the variables and are subject to the following constraints, respectively:
(1)
(2)
Compliance with conditions (1) and (2) indicates proper bandwidth interface allocation among the macro-queues and sub-queues.
Additionally, it is necessary to satisfy the nonlinear conditions of sub-queue overload prevention by the bandwidth allocated to them to ensure optimal allocation and interface bandwidth balancing among the sub-queues under the traffic-engineering queue concept [17,18]:
(3)
where is the control variable quantified with the upper dynamically controlled bound of the lth macro-queue’s sub-queues utilization by bandwidth under the following condition:(4)
In turn, is the priority coefficient introduced to ensure balanced interface bandwidth allocation among the lth macro-queue sub-queues considering their priorities:
(5)
where is the normalization coefficient, which determines the level of influence of the queue priority on the priority coefficient and the process of bandwidth balancing among the sub-queues.The higher the queue priority , the higher the value of . Thus, the higher the queue priority , the smaller its utilization for the same boundary value . In model notations (1)–(5), the utilization coefficient is determined by the following formula [17,18]:
(6)
The higher the normalization coefficient , the less queue priority affects the allocated bandwidth volume. Based on the introduction of expressions (3)–(6), the differentiation in the bandwidth allocation of the router interface among the priority sub-queues organized on it is provided.
In turn, the nonlinearity of condition (3) is determined by the presence in the right-hand side of a bilinear form—the product of control variables and . In this case, all the parameters on the left side of condition (3) are known values. The threshold allows balancing the bandwidth required for service. Condition (3) demonstrates the functional relations of control variables during calculation.
Then, constraint (3) to move to a linear form can be represented as follows:
(7)
where is an additional control variable introduced that is inversely proportional to the upper bound of the interface queue utilization (), i.e.:(8)
The following restrictions are imposed on this variable:
(9)
Accordingly, based on the known order of flow aggregation and distribution defined by the variables , it is necessary to determine the order of interface bandwidth distribution among the macro-queues and sub-queues following conditions (1)–(9).
3. Two-Level Hierarchical Queue Management Method Based on Priority and Balancing
To solve the resource allocation problem, which is primarily related to the calculation of the set of variables of and , the interaction prediction principle, which is part of the hierarchical multilevel control systems theory, was used in this work [23]. The interaction prediction principle, which involves a multilevel calculations hierarchy, aims to increase queue management solutions’ scalability when the separate processors (cores) of a router’s computing system perform macro-queue management tasks.
Hence, a two-level decision hierarchy was introduced for models (1)–(9). According to the interaction prediction principle at the top hierarchical level, the problem of calculating the interface’s bandwidth allocated to macro-queues () was solved. The lower level was responsible for the bandwidth distribution of macro-queues obtained from the upper-level calculations among the corresponding sub-queues by defining variables .
The proposed hierarchical queue management method based on priority and balancing (Figure 1) was established on the following iterative sequence of actions.
At the zero stage of the method, the initial conditions for solving the resource allocation problem were set: at the top level of calculations, the interface bandwidth was allocated for each macro-queue () in such a way that condition (1) was fulfilled. Allocation of the router interface bandwidth among the macro-queues at this iteration could be performed uniformly or proportionally to the volume or priority of the load arriving at the macro-queues.
At the first stage of the method, for the lower-level calculations, namely, those at the level of the individual processors (cores) of a router’s computing system, the variables were simultaneously determined for every macro-queue by solving a linear programming optimization problem, where the optimality criterion was the maximum variable introduced in (7):
(10)
resulting in the fulfillment of constraints (2), (7), and (9) when are known values (Figure 1). Taking into account (8) and (10), at this level the upper bound of the sub-queue utilization was minimized for each macro-queue ().The satisfaction of requirements (2), (7), and (9) when minimizing the bound (4) under maximizing the variable (10) allowed for providing an optimum balanced router interface bandwidth distribution among the lth macro-queue sub-queues formed under the principles of the traffic-engineering queues [17,18]. Therefore, at the lower level, the variables of and were calculated and, at the same time, were transferred to the upper hierarchical level for the subsequent coordination of the obtained solutions by updating the values of .
At the second stage of the method, the variables of were adjusted in order to achieve a quality level of centralized calculations so that the following condition was met:
(11)
The conditions sensed that the values of the utilization upper bounds of different macro-queue sub-queues, which were weighted relative to their priority (3), should be the same. Consequently, it was proposed to modify the variables based on the use of the following iterative search procedure:
(12)
where i is the search iteration number; is the search step length selected according to the search procedure convergence conditions (9); and is the average value of the utilization bounds of the macro-queue sub-queues (4):(13)
Thus, the higher the utilization upper bound of the sub-queues of a specific macro-queue, the more interface bandwidth allocated to this macro-queue (12). Conversely, if the macro-queue utilization bound is lower than the average value , the interface bandwidth allocated to it decreases.
The updated variable values descended to the lower level of calculations to obtain the new values of and . That is, the method operation took on an iterative nature. The completion of the method occurred when condition (11) was met at the upper level of calculations. In this case, the function (13) value for any macro-queue was zero.
4. Numerical Research
A study of the two-level queue management priority-based traffic-engineering method presented in the previous section was conducted to evaluate the effectiveness of the solutions obtained and to analyze the convergence speed of coordination procedures (12) and (13).
For clarity, organizations of different numbers of macro-queues (from two to six) on the interface, sub-queues, and packet flows are considered and investigated. We dwell on the analyses of cases with the organization of three and five macro-queues.
4.1. Organization of Three Macro-Queues
We organized three macro queues L = 3 on an interface (B = 100 Mbps). Each macro-queue was divided into three sub-queues of . Fifteen packet flows with the intensities (Mbps) and DSCP priorities given in Table 3 were sent to this interface following the contents of the routing table.
The normalization coefficient D equal to 8, as well as the flow priorities (, ) and sub-queues (), which were distributed evenly among them, are presented in Table 4. Since the flow priorities (Table 1) were whole numbers, seven flow priorities were assigned to each sub-queue, and eight packet flow priorities were set to the last (highest priority) one.
According to the selected algorithm (Table 2), the order of the 15 flows’ aggregation and distribution among the sub-queues of macro-queues presented in Table 5 was obtained. In Table 5, the belonging of a packet flow to one or another sub-queue of a macro-queue is marked in gray color. For example, the first and second flows were directed to the first macro-queue’s first sub-queue, etc.
During the study of the proposed two-level method, coordinated solutions (Table 6) were obtained for certain numbers of iterations of coordination procedures (12) and (13), which were influenced by the degree of closeness of the signature value (13) to zero. Table 6 shows the results of the method for each of the four iterations when the difference (δ) in the function (11) argument values was less than 0.0001 of the absolute value.
For the last (fourth) iteration of calculations, Table 7 shows the order of interface bandwidth allocation among the sub-queues of three macro-queues and their utilization (6).
As can be seen from Figure 2 and Table 7, queues were loaded in a balanced manner while taking into account their priority level. A higher-priority queue always had lower utilization (6) than a lower-priority queue. In Figure 2, for example, the queue number “2|1” indicates that this was the first sub-queue of the second macro-queue.
It was established experimentally that the minimum value of parameter D (5) at which the adequacy of models (1)–(9) was ensured and condition (3) was fulfilled depended firstly on interface utilization and secondly on the number of macro-queues (Table 8). At the same time, the interface utilization was calculated as .
For this example, the choice of the quantitative value of parameter D was justified by the need to ensure high differentiation in packets serving in different queues. Figure 3 shows the dependence of queue utilization for nine priority sub-queues on normalization coefficient D. At the minimum values of D, the maximum differentiation in the services of distinct sub-queues was ensured. As D increased, the difference in the utilization of each queue was minimized.
4.2. Organization of Five Macro-Queues
We also demonstrated the features of the proposed method when five macro-queues (L = 5) were organized on an interface (B = 100 Mbit/s), each divided into five sub-queues (). From the content of the routing table, forty packet flows were sent to this interface. The flow intensities (Mbps) and DSCP priorities are shown in Table 9.
The normalization coefficient D was equal to 10, with priorities of flows (, ) and sub-queues () distributed evenly between them, as presented in Table 10.
According to the selected algorithm (Table 2), the order of the 40 flows’ aggregation and distribution among the sub-queues of macro queues presented in Table 11 was obtained. Similar to Table 5, in Table 11, the belonging of a packet flow to one or another sub-queue of a macro-queue is marked in gray color. The first flow was directed to the first macro-queue’s first sub-queue, the second flow was directed to the first macro-queue’s second sub-queue, etc.
Table 12 shows the results of the proposed method’s application for each iteration when the differences (δ) in the values of function (11) arguments were also less than 0.0001 by absolute value.
For the last (fifth) iteration of calculations, Table 13 shows the order of interface bandwidth allocation among the sub-queues of five macro-queues and their utilization (6).
The obtained results (Table 13) also confirmed the effectiveness of the proposed method in ensuring balanced queue loading, taking into account their priority level. For example, the fifth sub-queue of the fifth macro-queue had the highest priority of 62 and the lowest utilization of 0.7628. At the same time, the first sub-queue of the first macro-queue had the lowest priority of 0.5 and the highest utilization of 0.8359.
5. Discussion
Therefore, the proposed method demonstrated reasonably fast convergence. The solutions presented in Table 7 and Table 13 fully corresponded to the level of the centralized calculations. Thus, the decentralization of calculations among the separate processors (cores) of a router’s computing system did not affect the quality of the obtained solutions. Such a result confirmed the advantage of using the interaction prediction principle when coordinating solutions obtained at different hierarchical levels of the method (Figure 1).
At the same time, the link resource between the macro-queues and sub-queues was distributed and balanced under their priorities, that is, the higher the sub-queue priority, the lower its utilization (Table 7 and Table 13), which directly affected the quality of service level of packets in this queue.
Figure 4 presents the dependence of coordination procedures (12) and (13) on iteration number, which were required for method convergence to the optimal solution, with the number of macro-queues at δ < 0.0001.
With a decrease in the accuracy requirements of condition (11), the iteration number slightly decreased by an average of 20% to 30% (Figure 5). However, this did not significantly change the nature of the bandwidth allocation among the macro-queues or among the individual sub-queues: the difference in the final decisions ranged from 0.55% to 1.1%. Thus, the proposed method demonstrated reasonably fast convergence within the proposed numerical examples from one to five iterations.
A positive feature of the interaction prediction principle used in the method was that any solution obtained at an intermediate iteration could be physically implemented. It may not be optimal, but its implementation would lead to link resource overload.
6. Conclusions
Hierarchical queues are increasingly utilized to improve the scalability of solutions regarding queue management on router interfaces. On the other hand, to increase router performance, which has to serve gigabit and sometimes terabit flows in real time, these devices are often built on multiprocessor (multicore) architecture. Therefore, decisions regarding queue management must consider the possibility of distributed (parallel) computing, which can also be effectively implemented based on hierarchical queues.
In consequence, this work proposed a two-level hierarchical queue management method based on priority and balancing. The method was grounded on the interaction prediction principle for coordinating different levels of decisions. The lower level of calculations, which was based on the problem optimization of solutions (1)–(7), was responsible firstly for the aggregation and distribution of packet flows among the macro-queues and sub-queues organized on the router interface (congestion management problem) and secondly for the balanced allocation of interface bandwidth among sub-queues, which were weighted relative to their priorities (resource allocation problem). The problem of balanced router interface bandwidth allocation among the priority sub-queues was solved by considering the requirements of traffic-engineering queues. It was advisable to place the lower-level functions of the method on a set of processors (cores), which were responsible for servicing the packets of individual macro-queues. The upper level of the method’s calculations was responsible for interface bandwidth allocation among the macro-queues by performing the iterative procedures of (12) and (13). The processor coordinator could perform the functions of the upper-level calculations.
The numerical research results of the proposed two-level hierarchical queue management method based on priority and balancing confirmed its effectiveness in ensuring high scalability, balanced and priority-based distribution of packet flows, and interface bandwidth allocation among the macro-queues and sub-queues organized on routers. The method provided a functional decomposition of low-level computational tasks among the processors (cores) of a router, allowing them to be solved simultaneously and improving the time for solving tasks related to queue management. Within the considered example, the method demonstrated high convergence of coordination procedures (12) and (13), which were carried out for 1–5 iterations (Figure 5), and the final quality of the centralized calculations.
Our future research is concerned with improving the presented method by enhancing its flexibility and moving on to three-level solutions considering multiprocessing and multicore problems. In addition, possible modifications can be connected with the updated mathematical model using other types of coordination. The practical application of the proposed approach is mainly related to programmable networks where vast amounts of user data flow must be served efficiently [24,25]. At the same time, technological solutions must satisfy the demands for scalability and quality of service.
Conceptualization, O.L., O.Y., L.T. and A.B.; software, O.L. and O.Y.; validation, O.L. and A.B.; formal analysis, O.L., O.Y., L.T. and A.B.; investigation, O.L. and O.Y.; resources, O.L. and O.Y.; data curation, L.T. and A.B.; writing—original draft preparation, O.L., O.Y., L.T. and A.B.; writing—review and editing, O.L., O.Y., L.T. and A.B.; visualization, O.L., O.Y., L.T. and A.B.; supervision, O.L., O.Y. and A.B. All authors have read and agreed to the published version of the manuscript.
Not applicable.
The authors declare no conflict of interest.
The following abbreviations are used in this manuscript:
ACL | Access Control Lists |
CBQ | Class-Based Queuing |
CQ | Custom Queueing |
DiffServ | Differentiated Services |
DSCP | Differentiated Services Code Point |
FIFO | First In, First Out |
FQ | Fair Queuing |
H-QoS | Hierarchical Quality of Service |
IP | Internet Protocol |
LLQ | Low-Latency Queueing |
MPLS | Multiprotocol Label Switching |
PQ | Priority Queuing |
QoS | Quality of Service |
WFQ | Weighted Fair Queueing |
Footnotes
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content.
Figure 1. The scheme of the two-level hierarchical queue management method based on priority and balancing.
Figure 2. The resulting solution for interface bandwidth allocation among the sub-queues of three macro-queues.
Figure 3. Dependence of queue utilization for nine priority sub-queues on normalization coefficient D.
Figure 4. Dependence of coordination procedures (12) and (13) on iteration number required for method convergence to the optimal solution with the number of macro-queues at δ < 0.0001.
Figure 5. Dependence of coordination procedures (12) and (13) on iteration number required for method convergence to the optimal solution with the number of macro-queues.
Correspondence between numeric values and names of DSCP policies.
DSCP Policy | Binary Value | Decimal Value | Standard |
---|---|---|---|
CS0 | 000000 | 0 | RFC2474 |
CS1 | 001000 | 8 | RFC2474 |
CS2 | 010000 | 16 | RFC2474 |
CS3 | 011000 | 24 | RFC2474 |
CS4 | 100000 | 32 | RFC2474 |
CS5 | 101000 | 40 | RFC2474 |
CS6 | 110000 | 48 | RFC2474 |
CS7 | 111000 | 56 | RFC2474 |
AF11 | 001010 | 10 | RFC2597 |
AF12 | 001100 | 12 | RFC2597 |
AF13 | 001110 | 14 | RFC2597 |
AF21 | 010010 | 18 | RFC2597 |
AF22 | 010100 | 20 | RFC2597 |
AF23 | 010110 | 22 | RFC2597 |
AF31 | 011010 | 26 | RFC2597 |
AF32 | 011100 | 28 | RFC2597 |
AF33 | 011110 | 30 | RFC2597 |
AF41 | 100010 | 34 | RFC2597 |
AF42 | 100100 | 36 | RFC2597 |
AF43 | 100110 | 38 | RFC2597 |
VOICE-ADMIT | 101100 | 44 | RFC5865 |
EF | 101110 | 46 | RFC3246 |
Queue prioritization and congestion management problem-solving algorithm.
Queue prioritization and Congestion Management | |
---|---|
1: | Inputs: L, |
2: | for l = 1, 2, …, L calculate % macro-queue number |
3: | for j = 1, 2, …, |
4: | Determine |
5: | end for |
6: | end for |
7: | for i = 1, 2, …, |
8: | for l = 1, 2, …, |
9: | for j = 1, 2, …, |
10: | if |
11: |
|
12: | else |
13: | end if |
14: | end for |
15: | end for |
16: | end for |
17: | Outputs: |
Packet flow parameters.
Flow # | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
6.4 | 6 | 7.2 | 6.4 | 8 | 4.4 | 4.4 | 6 | 6.4 | 5.6 | 3.2 | 4.8 | 3.6 | 3.6 | 4 |
|
1 | 6 | 12 | 17 | 20 | 26 | 31 | 35 | 40 | 41 | 47 | 50 | 53 | 58 | 61 |
Three macro-queues’ sub-queue priorities.
Macro Queue # | 1 | 2 | 3 | ||||||
---|---|---|---|---|---|---|---|---|---|
Sub-queue # | 1 | 2 | 3 | 1 | 2 | 3 | 1 | 2 | 3 |
Flow priorities range | [0, 6] | [7, 13] | [14, 20] | [21, 27] | [28, 34] | [35, 41] | [42, 48] | [49, 55] | [56, 63] |
Sub-queue priority | 3 | 10 | 17 | 24 | 31 | 38 | 45 | 52 | 59 |
The 15 flows’ aggregation and distribution among the sub-queues of three macro-queues.
Macro-queue 1 | Flow # | ||||
1 | 2 | 3 | 4 | 5 | |
1 | |||||
2 | |||||
3 | |||||
Macro-queue 2 | Flow # | ||||
6 | 7 | 8 | 9 | 10 | |
1 | |||||
2 | |||||
3 | |||||
Macro-queue 3 | Flow # | ||||
11 | 12 | 13 | 14 | 15 | |
1 | |||||
2 | |||||
3 |
Method application results for four coordination iterations.
Iteration # |
|
|
|
|
|
|
|
---|---|---|---|---|---|---|---|
1 | 0.8163 | 0.8540 | 0.8838 | 0.8513 | 42.5000 | 33.5000 | 24.0000 |
2 | 0.8441 | 0.8513 | 0.8385 | 0.8446 | 41.0972 | 33.6060 | 25.2968 |
3 | 0.8445 | 0.8446 | 0.8467 | 0.8453 | 41.0774 | 33.8727 | 25.0499 |
4 | 0.8451 | 0.8451 | 0.8451 | 0.8451 | 41.0476 | 33.8539 | 25.0984 |
The interface bandwidth allocation among the sub-queues of three macro-queues and their utilization.
Macro-Queue # | 1 | 2 | 3 | ||||||
---|---|---|---|---|---|---|---|---|---|
Sub-queue # | 1 | 2 | 3 | 1 | 2 | 3 | 1 | 2 | 3 |
Priority | 3 | 10 | 17 | 24 | 31 | 38 | 45 | 52 | 59 |
Aggregated flow intensity | 12.4 | 7.2 | 14.4 | 4.4 | 4.4 | 18.0 | 3.2 | 8.4 | 7.6 |
Bandwidth | 14.7579 | 8.6856 | 17.6041 | 5.4508 | 5.5220 | 22.8812 | 4.1194 | 10.9494 | 10.0296 |
Utilization | 0.8402 | 0.8290 | 0.8180 | 0.8072 | 0.7968 | 0.7867 | 0.7768 | 0.7672 | 0.7578 |
Dependence of the minimum value D on the interface utilization and number of macro-queues organized on the interface.
Interface Utilization | Number of Macro-Queues on the Interface | ||||
---|---|---|---|---|---|
2 | 3 | 4 | 5 | 6 | |
Minimum Value of D | |||||
0.6 | 1.1 | 1.3 | 1.4 | 1.4 | 1.7 |
0.7 | 1.6 | 2 | 2.1 | 2.1 | 2.3 |
0.8 | 2.6 | 3.4 | 3.5 | 3.6 | 3.9 |
0.9 | 5.1 | 7.6 | 7.9 | 8 | 8.5 |
0.95 | 10.7 | 16 | 16.7 | 16.8 | 18 |
Packet flow parameters.
Flow # | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 |
|
2 | 3 | 1 | 2 | 4 | 2 | 1 | 3 | 2 | 4 | 1 | 1 | 2 | 1 |
|
1 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 11 | 12 | 13 | 14 | 15 | 17 |
Flow # | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | - |
|
1 | 3 | 3 | 1 | 2 | 1 | 3 | 2 | 1 | 1 | 2 | 1 | 2 | - |
|
18 | 19 | 21 | 22 | 25 | 27 | 28 | 30 | 31 | 32 | 35 | 36 | 38 | - |
Flow # | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | - |
|
1 | 1 | 2 | 2 | 3 | 3 | 1 | 3 | 4 | 1 | 1 | 2 | 4 | - |
|
41 | 42 | 44 | 46 | 47 | 50 | 52 | 54 | 56 | 57 | 59 | 61 | 62 | - |
Three macro-queues’ sub-queue priorities.
Macro-queue # | 1 | 2 | ||||||||
Sub-queue # | 1 | 2 | 3 | 4 | 5 | 1 | 2 | 3 | 4 | 5 |
Flow priorities range | [0, 1] | [2, 3] | [4, 5] | [6, 7] | [8, 9] | [10, 11] | [12, 13] | [14, 15] | [16, 17] | [18, 19] |
Sub-queue priority | 0.5 | 2.5 | 4.5 | 6.5 | 8.5 | 10.5 | 12.5 | 14.5 | 16.5 | 18.5 |
Macro-queue # | 3 | 4 | ||||||||
Sub-queue # | 1 | 2 | 3 | 4 | 5 | 1 | 2 | 3 | 4 | 5 |
Flow priorities range | [20, 21] | [22, 24] | [25, 27] | [28, 30] | [31, 33] | [34, 36] | [37, 39] | [40, 42] | [43, 45] | [46, 48] |
Sub-queue priority | 20.5 | 23 | 26 | 29 | 32 | 35 | 38 | 41 | 44 | 47 |
Macro-queue # | 5 | |||||||||
Sub-queue # | 1 | 2 | 3 | 4 | 5 | |||||
Flow priorities range | [49, 51] | [52, 54] | [55, 57] | [58, 60] | [61, 63] | |||||
Sub-queue priority | 50 | 53 | 56 | 59 | 62 |
The 40 flows’ aggregation and distribution among the sub-queues of five macro-queues.
Macro-queue 1 | Flow # | |||||||
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | |
1 | ||||||||
2 | ||||||||
3 | ||||||||
4 | ||||||||
5 | ||||||||
Macro-queue 2 | Flow # | |||||||
9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | |
1 | ||||||||
2 | ||||||||
3 | ||||||||
4 | ||||||||
5 | ||||||||
Macro-queue 3 | Flow # | |||||||
17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | |
1 | ||||||||
2 | ||||||||
3 | ||||||||
4 | ||||||||
5 | ||||||||
Macro-queue 4 | Flow # | |||||||
25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | |
1 | ||||||||
2 | ||||||||
3 | ||||||||
4 | ||||||||
5 | ||||||||
Macro-queue 5 | Flow # | |||||||
33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | |
1 | ||||||||
2 | ||||||||
3 | ||||||||
4 | ||||||||
5 |
Method application results for five coordination iterations.
Iteration # |
|
|
|
|
|
|
1 | 0.8066 | 0.8181 | 0.8332 | 0.8523 | 0.8706 | 0.8362 |
2 | 0.8312 | 0.8450 | 0.8379 | 0.8270 | 0.8413 | 0.8365 |
3 | 0.8358 | 0.8362 | 0.8364 | 0.8369 | 0.8376 | 0.8366 |
4 | 0.8365 | 0.8365 | 0.8365 | 0.8367 | 0.8369 | 0.8366 |
5 | 0.8366 | 0.8366 | 0.8366 | 0.8366 | 0.8366 | 0.8366 |
Iteration # |
|
|
|
|
|
- |
1 | 22.5 | 18.75 | 17.5 | 17.5 | 23.75 | - |
2 | 21.8346 | 18.153 | 17.401 | 18.0349 | 24.5765 | - |
3 | 21.7149 | 18.3451 | 17.4328 | 17.8221 | 24.685 | - |
4 | 21.6967 | 18.3392 | 17.4299 | 17.8274 | 24.7068 | - |
5 | 21.6937 | 18.337 | 17.4288 | 17.8285 | 24.7121 | - |
The interface bandwidth allocation among the sub-queues of five macro-queues and their utilization.
Macro-queue # | 1 | 2 | ||||||||
Sub-queue # | 1 | 2 | 3 | 4 | 5 | 1 | 2 | 3 | 4 | 5 |
Priority | 0.5 | 2.5 | 4.5 | 6.5 | 8.5 | 10.5 | 12.5 | 14.5 | 16.5 | 18.5 |
Aggregated flow intensity | 2 | 3 | 3 | 6 | 4 | 2 | 5 | 3 | 1 | 4 |
Bandwidth | 2.3926 | 3.6000 | 3.6113 | 7.2449 | 4.8449 | 2.4300 | 6.0936 | 3.6674 | 1.2262 | 4.9197 |
Utilization | 0.8359 | 0.8333 | 0.8307 | 0.8282 | 0.8256 | 0.8230 | 0.8205 | 0.8180 | 0.8155 | 0.8131 |
Macro-queue # | 3 | 4 | ||||||||
Sub-queue # | 1 | 2 | 3 | 4 | 5 | 1 | 2 | 3 | 4 | 5 |
Priority | 20.5 | 23 | 26 | 29 | 32 | 35 | 38 | 41 | 44 | 47 |
Aggregated flow intensity | 3 | 1 | 3 | 5 | 2 | 3 | 2 | 2 | 2 | 5 |
Bandwidth | 3.7009 | 1.2383 | 3.7317 | 6.2476 | 2.5102 | 3.7820 | 2.5325 | 2.5437 | 2.5549 | 6.4154 |
Utilization | 0.8106 | 0.8076 | 0.8039 | 0.8003 | 0.7967 | 0.7932 | 0.7897 | 0.7862 | 0.7828 | 0.7794 |
Macro-queue # | 5 | |||||||||
Sub-queue # | 1 | 2 | 3 | 4 | 5 | |||||
Priority | 50 | 53 | 56 | 59 | 62 | |||||
Aggregated flow intensity | 3 | 4 | 5 | 1 | 6 | |||||
Bandwidth | 3.8656 | 5.1766 | 6.4988 | 1.3054 | 7.8657 | |||||
Utilization | 0.7761 | 0.7727 | 0.7694 | 0.7661 | 0.7628 |
References
1. Fejes, F.; Nadas, S.; Gombos, G.; Laki, S. DeepQoS: Core-Stateless Hierarchical QoS in Programmable Switches. IEEE Trans. Netw. Serv. Manag.; 2022; 19, pp. 1842-1861. [DOI: https://dx.doi.org/10.1109/TNSM.2022.3152017]
2. Chowdhury, R.R.; Chattopadhyay, S.; Adak, C. CAHPHF: Context-Aware Hierarchical QoS Prediction with Hybrid Filtering. IEEE Trans. Serv. Comput.; 2020; 15, pp. 2232-2247. [DOI: https://dx.doi.org/10.1109/TSC.2020.3041626]
3. Li, D.; Wang, W.; Kang, Y. A Hierarchical Approach for QoS-Aware Edge Service Scheduling and Composition. Proceedings of the 2021 IEEE International Conference on Electronic Technology, Communication and Information (ICETCI); Changchun, China, 27–29 August 2021; pp. 677-681. [DOI: https://dx.doi.org/10.1109/icetci53161.2021.9563355]
4. You, C.; Zhao, Y.; Feng, G.; Quek, T.Q.S.; Li, L. Hierarchical Multi-resource Fair Queueing for Packet Processing. IEEE Trans. Netw. Serv. Manag.; 2022; pp. 1-15. [DOI: https://dx.doi.org/10.1109/TNSM.2022.3197747]
5. Medhi, K.D. Ramasamy, Network routing: Algorithms, Protocols, and Architectures; Morgan Kaufmann: San Francisco, CA, USA, 2017.
6. QoS: Congestion Management Configuration Guide, Cisco IOS XE Everest 16.5; Cisco Systems, Inc.: San Jose, CA, USA, 2019.
7. Park, G.; Jeon, B.; Lee, G.M. QoS Implementation with Triple-Metric-Based Active Queue Management for Military Networks. Electronics; 2022; 12, 23. [DOI: https://dx.doi.org/10.3390/electronics12010023]
8. Kattepur, A.; David, S.; Mohalik, S.K. Model-based reinforcement learning for router port queue configurations. Intell. Converg. Netw.; 2021; 2, pp. 177-197. [DOI: https://dx.doi.org/10.23919/ICN.2021.0016]
9. Zhang, Z.; Shi, P.; Ward, A.R. Routing for Fairness and Efficiency in a Queueing Model with Reentry and Continuous Customer Classes. Proceedings of the 2022 American Control Conference (ACC); Atlanta, GA, USA, 8–10 June 2022; [DOI: https://dx.doi.org/10.23919/acc53348.2022.9867233]
10. Huang, Y.; Wang, S.; Zhang, X.; Huang, T.; Liu, Y. Flexible Cyclic Queuing and Forwarding for Time-Sensitive Software-Defined Networks. IEEE Trans. Netw. Serv. Manag.; 2022; [DOI: https://dx.doi.org/10.1109/TNSM.2022.3198171]
11. Boero, L.; Cello, M.; Garibotto, C.; Marchese, M.; Mongelli, M. BeaQoS: Load balancing and deadline management of queues in an OpenFlow SDN switch. Comput. Netw.; 2016; 106, pp. 161-170. [DOI: https://dx.doi.org/10.1016/j.comnet.2016.06.025]
12. Rahouti, M.; Xiong, K.; Xin, Y.; Ghani, N. A Priority-Based Queueing Mechanism in Software-Defined Networking Environments. Proceedings of the 2021 IEEE 18th Annual Consumer Communications & Networking Conference (CCNC); Las Vegas, NV, USA, 9–12 January 2021; pp. 1-2. [DOI: https://dx.doi.org/10.1109/ccnc49032.2021.9369614]
13. Singh, D.; Ng, B.; Lai, Y.-C.; Lin, Y.-D.; Seah, W.K. Modelling Software-Defined Networking: Switch Design with Finite Buffer and Priority Queueing. Proceedings of the 2017 IEEE 42nd Conference on Local Computer Networks (LCN); Singapore, 9–12 October 2017; pp. 567-570. [DOI: https://dx.doi.org/10.1109/lcn.2017.19]
14. Barkalov, A.; Titarenko, L.; Mazurkiewicz, M. Foundations of Embedded Systems. Studies in Systems, Decision and Control; Springer: Cham, Switzerland, 2019; Volume 195, 167. [DOI: https://dx.doi.org/10.1007/978-3-030-11961-4]
15. Wang, J.; Lv, G.; Liu, Z.; Yang, X. Programmable Deterministic Zero-Copy DMA Mechanism for FPGA Accelerator. Appl. Sci.; 2022; 12, 9581. [DOI: https://dx.doi.org/10.3390/app12199581]
16. Adhi, B.; Cortes, C.; Tan, Y.; Kojima, T.; Podobas, A.; Sano, K. The Cost of Flexibility: Embedded versus Discrete Routers in CGRAs for HPC. Proceedings of the 2022 IEEE International Conference on Cluster Computing (CLUSTER); Heidelberg, Germany, 6–9 September 2022; pp. 347-356. [DOI: https://dx.doi.org/10.1109/cluster51413.2022.00046]
17. Lemeshko, O.; Lebedenko, T.; Nevzorova, O.; Snihurov, A.; Mersni, A.; Al-Dulaimi, A. Development of the Balanced Queue Management Scheme with Optimal Aggregation of Flows and Bandwidth Allocation. Proceedings of the 2019 IEEE 15th International Conference on the Experience of Designing and Application of CAD Systems (CADSM); Polyana, Ukraine, 26 February–2 March 2019; pp. 1-4. [DOI: https://dx.doi.org/10.1109/cadsm.2019.8779246]
18. Lemeshko, O.; Lebedenko, T.; Mersni, A.; Hailan, A.M. Mathematical Optimization Model of Congestion Management, Resource Allocation and Congestion Avoidance on Network Routers. Proceedings of the 2019 International Conference on Information and Telecommunication Technologies and Radio Electronics (UkrMiCo); Odessa, Ukraine, 9–13 September 2019; pp. 1-5. [DOI: https://dx.doi.org/10.1109/ukrmico47782.2019.9165445]
19. Nichols, K.; Blake, S.; Baker, F.; Black, D. 1998; RFC2474: Definition of the Differentiated Services Field (DS Field) in the IPv4 and IPv6 Headers. Available online: https://www.rfc-editor.org/rfc/rfc2474 (accessed on 2 September 2022).
20. Heinanen, J.; Baker, F.; Weiss, W.; Wroclawski, J. 1999; RFC2597: Assured Forwarding PHB Group. Available online: https://www.rfc-editor.org/rfc/rfc2597 (accessed on 2 September 2022).
21. Baker, F.; Polk, J.; Dolly, M. A differentiated Services Code Point (dscp) for Capacity-Admitted Traffic (No. rfc5865). Available online: https://www.rfc-editor.org/rfc/rfc5865.html (accessed on 2 September 2022).
22. Davie, B.; Charny, A.; Bennet, J.C.R.; Benson, K.; Boudec, J.L.; Courtney, W.; Davari, S.; Firoiu, V.; Stiliadis, D. 2002; Rfc3246: An Expedited Forwarding PHB (Per-Hop Behavior). Available online: https://www.rfc-editor.org/rfc/rfc3246 (accessed on 2 September 2022).
23. Calvet, J.; Titli, A. Hierarchical Optimisation and Control of Large Scale Systems with Dynamical Interconnection System. IFAC Proc. Vol.; 1980; 13, pp. 117-126. [DOI: https://dx.doi.org/10.1016/S1474-6670(17)64793-1]
24. Bojović, P.D.; Malbašić, T.; Vujošević, D.; Martić, G.; Bojović, Ž. Dynamic QoS Management for a Flexible 5G/6G Network Core: A Step toward a Higher Programmability. Sensors; 2022; 22, 2849. [DOI: https://dx.doi.org/10.3390/s22082849] [PubMed: https://www.ncbi.nlm.nih.gov/pubmed/35458834]
25. Yu, Y.; Jiang, X.; Jin, G.; Gao, Z.; Li, P. A Buffer Management Algorithm Based on Dynamic Marking Threshold to Restrain MicroBurst in Data Center Network. Information; 2021; 12, 369. [DOI: https://dx.doi.org/10.3390/info12090369]
You have requested "on-the-fly" machine translation of selected content from our databases. This functionality is provided solely for your convenience and is in no way intended to replace human translation. Show full disclaimer
Neither ProQuest nor its licensors make any representations or warranties with respect to the translations. The translations are automatically generated "AS IS" and "AS AVAILABLE" and are not retained in our systems. PROQUEST AND ITS LICENSORS SPECIFICALLY DISCLAIM ANY AND ALL EXPRESS OR IMPLIED WARRANTIES, INCLUDING WITHOUT LIMITATION, ANY WARRANTIES FOR AVAILABILITY, ACCURACY, TIMELINESS, COMPLETENESS, NON-INFRINGMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Your use of the translations is subject to all use restrictions contained in your Electronic Products License Agreement and by using the translation functionality you agree to forgo any and all claims against ProQuest or its licensors for your use of the translation functionality and any output derived there from. Hide full disclaimer
© 2023 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (https://creativecommons.org/licenses/by/4.0/). Notwithstanding the ProQuest Terms and Conditions, you may use this content in accordance with the terms of the License.
Abstract
This work is devoted to improving a two-level hierarchical queue management method based on priority and balancing under the interaction prediction principle. The lower level of calculations was connected with the problem optimization solution and was responsible for two tasks. Firstly, the packet flow aggregation and distribution among the macro-queues and sub-queues organized on the router interface must solve the congestion management problem. Secondly, the resource allocation problem solution was related to the balanced allocation of interface bandwidth among the sub-queues, which were weighted relative to their priorities under the traffic-engineering queues. The method’s lower-level functions were recommended to be placed on a set of processors of a routing device responsible for servicing the packets of individual macro-queues. At the same time, the processor coordinator could perform the functions of the upper-level calculations, providing interface bandwidth allocation among the macro-queues. The numerical research results of the proposed two-level hierarchical queue management method confirmed its effectiveness in ensuring high scalability. Balanced, priority-based packet flow distribution and interface bandwidth allocation among the macro-queues and sub-queues were implemented. In addition, the time was reduced for solving tasks related to queue management. The method demonstrated high convergence of the coordination procedure and the quality of the centralized calculations. The proposed approach can be used in various embedded systems.
You have requested "on-the-fly" machine translation of selected content from our databases. This functionality is provided solely for your convenience and is in no way intended to replace human translation. Show full disclaimer
Neither ProQuest nor its licensors make any representations or warranties with respect to the translations. The translations are automatically generated "AS IS" and "AS AVAILABLE" and are not retained in our systems. PROQUEST AND ITS LICENSORS SPECIFICALLY DISCLAIM ANY AND ALL EXPRESS OR IMPLIED WARRANTIES, INCLUDING WITHOUT LIMITATION, ANY WARRANTIES FOR AVAILABILITY, ACCURACY, TIMELINESS, COMPLETENESS, NON-INFRINGMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Your use of the translations is subject to all use restrictions contained in your Electronic Products License Agreement and by using the translation functionality you agree to forgo any and all claims against ProQuest or its licensors for your use of the translation functionality and any output derived there from. Hide full disclaimer
Details




1 V.V. Popovskyy Department of Infocommunication Engineering, Kharkiv National University of Radio Electronics, 61166 Kharkiv, Ukraine
2 V.V. Popovskyy Department of Infocommunication Engineering, Kharkiv National University of Radio Electronics, 61166 Kharkiv, Ukraine; Institute of Metrology, Electronics and Computer Science, University of Zielona Góra, ul. Licealna 9, 65-417 Zielona Góra, Poland
3 Institute of Metrology, Electronics and Computer Science, University of Zielona Góra, ul. Licealna 9, 65-417 Zielona Góra, Poland; Department of Computer Science and Information Technology, Vasyl Stus’ Donetsk National University, 600-richchia Str. 21, 21021 Vinnytsia, Ukraine