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:
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]:
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:
In turn,
is the priority coefficient introduced to ensure balanced interface bandwidth allocation among the
lth macro-queue sub-queues considering their priorities:
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]:
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:
where
is an additional control variable introduced that is inversely proportional to the upper bound of the interface queue utilization (
), i.e.:
The following restrictions are imposed on this variable:
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):
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:
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:
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):
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.
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.