ns-3 5g-lena QoS scheduler Analysis
Summarize ns-3 QoS MAC scheduling and derive a discussion based on the analysis of the simulation results
Original Paper: Enabling QoS Provisioning Support for Delay-Critical Traffic and Multi-Flow Handling in ns-3 5G-LENA by Katerina et al.
QoS MAC Scheduler
QoS MAC scheduler is capable of meeting the low latency requirements of delay-critical traffic, by combining the resource type, the Priority Level and the PDB of each flow, with the HOL delay and the PF metric
In this way, flows with tighter latency requirements are promoted and packet discards are avoided for these flows
Scheduling Metric
An active UE with the larger weight $W$ is scheduled first and $W$ is calculated as:
\[W = \sum_{n=1}^{N}w\]- $N$ : the number of active logical channels for a given user
$w$ is calculated for each active logical channel (flow) as:
\[w=\begin{cases} (100-P)\times\cfrac{r^{\gamma}}{\max(1e-9, R(\tau))}+F &\text{for non-GBR and GBR} \\ (100-P)\times\cfrac{r^{\gamma}}{\max(1e-9, R(\tau))}\times{D}+F &\text{for DC GBR } \end{cases}\\\]- $P$: the default priority level, where a lower value indicates a higher priority for scheduling
- $D$: the delay budget factor, that is delay-aware weight related to the HOL packet delay and the PDB
- $R(\tau)$ : the past average data rate (the average throughput within the updated window size $\tau$)
- $r$ : the instantaneous achievable data rate calculated by the spectrum efficiency and the channel bandwidth
- The potential throughput achievable with the resources intended to be scheduled by the scheduler
- $F$: the additional factor, the default value is $10$, and the value is set to $100$ when the DRB has retransmission data
$D$ is calculated as:
\[D=\begin{cases} {\text{PDB}}/{0.1} &\text{if } \text{HOL} \ge\text{PDB} \\ \cfrac{\text{PDB}}{\text{PDB}-\text{HOL}} &\text{otherwise} \end{cases}\]- $\text{HOL}$ : head-of-line delay (HOL) that the interval between the time first packet to be transmitted pending at packet transmission queue and the time it is received by UE
- $\text{PDB}$: Packet Delay Budget
$R(\tau)$ is calculated as:
\[R(\tau) = (1-\alpha)R(\tau-1)+\alpha{A(\tau)}\]- $A(\tau)$ : the current data rate over the updated window size $\tau$
QoS LC Assignment
Allocates resources for users with multiple flows by determining how much resource to allocate to each flow
- prioritizing important GBR and DC-GBR flows
- ensuring fair distribution using the round-robin method.
It considers the guaranteed bit rate requirements of each flow to maximize QoS satisfaction.
How the Algorithm Works
- Identify all active GBR (Guaranteed Bit Rate) and DC-GBR (Delay-Critical Guaranteed Bit Rate) flows
- Compare the total demand of multiple flows with the allocated Bytes (Transport Block Size, TBS)
- Distribute the allocated bytes equally among the GBR/DC-GBR flows using a round-robin (RR) method if the total demand exceeds the allocated bytes
- Assign enough bytes to each flow to meet the requirements if the total demand is less than the allocated bytes
- Distribute any remaining bytes among the rest of the logical channels (LCs) using the RR method
NS-3 Implementation
NrMacSchedulerUeInfoQos
, inheriting fromNrMacSchedulerUeInfo
NrMacSchedulerTdmaQoS
, inheriting fromNrMacSchedulerTdmaRR
NrMacSchedulerOfdmaQoS
, inheriting fromNrMacSchedulerOfdmaRR
NrMacSchedulerLcAlgorithm
, inheriting fromNrMacSchedulerNs3
NrMacSchedulerLcRR
andNrMacSchedulerLcQoS
, inheriting fromNrMacSchedulerLcAlgorithm
Evaluation
Consider a single cell topology with two users
- UE1: 1 flow
- DL non-GBR traffic flow (5QI 80)
- UE2: 2 flows
- DL non-GBR traffic flow(5QI 80)
- DL DC GBR traffic flow (5QI 87)
QoS requirements of 5QI 80 and 87
5QI | Resource Type | Default Priority Level | Packet Delay Budget | Packet Error Rate | Example Services |
---|---|---|---|---|---|
80 | non-GBR | $68$ | $10$ $\text{ms}$ | $10^{-6}$ | Low Latency eMBB applications Augmented Reality |
87 | Delay Critical GBR | 25 | 5 ms | $10^{-4}$ | Interactive Service - Motion tracking data, (see TS 22.261) |
Evaluation Scenario
2 Traffic Scenario: saturation and non-saturation
- non-saturation: bandwidth of 50 MHz (sufficient resources)
- saturation: bandwidth of 5 MHz and 10 MHz
Bandwidth of 5 MHz means higher saturation
Evaluation Metrics
- end-to-end delay
- end-to-end throughput
Simulation Results Analysis
There are 2 checkpoints:
1️⃣ Tradeoff in QoS Scheduler
In a saturation situation, the average delay results show that DC GBR traffic meets the PDB, whereas Non-GBR traffic does not.
- Due to the scheduler assigning weights with a focus on delay-critical traffic
- The 5QI 80 traffic is sensitive to latency
2️⃣ Difference between UEs with the same flow
Despite UE1 and UE2 having the same 5QI 80 traffic, it can be observed that in a saturation situation, only UE1 has a very high average delay
- Because DC-GBR traffic is also considered in the scheduling weight calculation for UE2
Conclusion
- While satisfying the low latency of DC GBR is important, it is also necessary to consider the PDB elements of each QoS flow
- Consideration of comparing weights based on flows rather than UEs