1. Introduction
The development of broadband networks requires a communication network to support a variety of different business features at the same time, that is, to provide different service quality assurance, it is manifested in meeting different needs in terms of bandwidth, latency, and latency jitter. Therefore, the network itself must have the ability to provide different service quality. Among them, the grouping fair queue scheduling algorithm is one of the important mechanisms to provide service quality assurance. In recent years, the grouping Fair Queuing Scheduling Algorithm Based on GPSGeneralized Processor Share) [1] has been extensively studied. The most important of these algorithms is WFQ [2]. WFQ considers queuing and scheduling of groups with an indefinite length. Therefore, simulation of WFQ usually uses an event-driven approach. The model requires a large amount of information to be maintained, resulting in high overhead. In addition, hardware implementation is also a challenge.
However, in today's many high-speed routers/switches, in order to improve transmission efficiency, the fixed-length switching technology is usually used to process data units as fixed-length "cells ". For IP groups of different lengths, you can divide them into tokens before the exchange, and re-organize them at the output end before sending them to the link. The implementation of WFQ based on fixed-length cell queuing and scheduling also follows, which is a special case of WFQ. In this case, we can use the event-driven method to simulate WFQ. However, this paper proposes a more effective simulation model, which uses the fixed cell output time, the fixed-time-driven approach simplifies the simulation process and reduces system overhead. In addition, it provides guidance for the design and implementation of hardware.
The simulation model of WFQ is simple and efficient. It provides a simulation tool for researchers when studying the performance of a single exchange node. This article mainly models and simulates the WFQ Based on cell queuing, and compares the performance of many FIFO routers/switches in terms of Bandwidth Allocation fairness, the simulation results show that the WFQ Based on cell queuing is suitable for high-speed routers/switches.
2. WFQ Based on cell queuing
Before proposing a simulation model, we first introduce WFQ and WFQ Based on cell queuing. This is the theoretical basis of the model and the key part of model implementation. Therefore, we will separately propose and give a brief introduction.
The WFQ defined in [2] is based on:
1) The system maintains a global function Vt), called the system virtual time function, to record the number of services that WFQ has provided. Vt) that is, the virtual time in the GPS system. WFQ uses the system virtual time function to calculate the corresponding start time tag and completion time tag for each group, as shown in Formula 1:
Phi I indicates any positive real number assigned to session I, which can be understood as the normalized bandwidth ri of Session I reservation. The maintenance of the system virtual time is the key to the implementation of WFQ. According to the implementation method in [2], the update time of Vt is not fixed, event-driven implementation is always possible.
2) execute the grouping selection policy. WFQ selects SFF and Smallest Finishing time First according to the minimum Completion time Label ).
The difference between WFQ Based on cell queuing and WFQ based on the following factors:
① Fixed cell length and fixed interval of scheduling events.
② The system virtual time can be updated during each scheduling.
② According to the conclusions in ① and [4], this fully utilizes the fixed cell output time. [4] introduces a method to update Vt only when the group leaves. The cell output time is fixed and the interval is equal. For the cell-based WFQ, we only need to use the literature [3] technology at a fixed time of equal intervals.
3. Model Creation
Based on the above analysis, the simulation model is implemented using a simple fixed-time drive method. Assumptions about model creation [3]:
1) The transmission time of a cell is called a time slot.
2) The Arrival Process of each input cell is independent of each other.
3) cells arrive only at the beginning of each time slot, and the output queue capacity is large enough.
4) model creation and simulation are based on unicast data streams. Figure 1 shows a WFQ model with N input/output ports.
This model is composed of a cell generator, a switching structure, and an output queue. The output queue contains the cache and WFQ scheduler used to store the cells of each session. According to hypothesis 1), in the simulation model, cell generation, switching, and scheduling output are all performed simultaneously within a time slot. The modular design concept is used to implement the model. It is based on two considerations: first, the interaction between the main components of the model is simple and direct, and second, it facilitates the improvement and expansion of the model. Figure 2 shows the workflow of the model.
We use the standard C language to implement this model in Linux. During simulation, all the parameters of each module are placed in a configuration file. In the initialization step, set parameters for the WFQ model. The simulation results can be output to the screen or file, graphical output is not supported.