Overview of NR Scheduler
The New Radio (NR) scheduler is a crucial component of the 5G NR protocol stack, efficiently allocating radio resources to user equipment (UE) nodes. The scheduler resides in the MAC layer of the 5G protocol stack. This figure shows the protocol stack supported by 5G Toolbox™.
With 5G Toolbox, you can configure an NR scheduler at the 5G base station (gNB) node using the
configureScheduler
object function of the nrGNB
object. You can
use the Scheduler
name-value
argument to specify these scheduling strategies.
Round-robin (RR) scheduler — Provides equal scheduling opportunities to all the UE nodes.
Best channel quality indicator (CQI) scheduler — Prioritizes the UE node with the best CQI.
Proportional-fair (PF) scheduler — Compromises between the round-robin and best CQI schedulers.
Custom Scheduler – Enable you to write a custom scheduling logic. To write a custom scheduler, use a subclass inherited from the
nrScheduler
class. For an example of how to write a custom scheduler, see the Use Custom Scheduler in 5G System-Level Simulation example.
This topic outlines the various aspects of downlink and uplink schedulers, as well as customization options, supported by the 5G Toolbox.
Scheduler Role
The primary role of a scheduler is to assign time and frequency resources for both uplink and downlink directions. It determines the timing, and allocates specific bandwidth segments for a UE node to use, when transmitting or receiving data. Additionally, the scheduler defines transmission characteristics, such as modulation and coding scheme (MCS) and precoder.
Frequency Resource
Typically, a scheduler assigns frequency resources in the form of resource blocks (RBs) or resource block groups (RBGs). An RB is the smallest unit of frequency allocation, consisting of 12 subcarriers. 5G Toolbox supports these resource allocation types.
Resource allocation type 1 — Allocates a contiguous set of RBs to a UE node.
Resource allocation type 2 — Allows non-contiguous frequency resources for a UE node, and operates at the level of RBGs.
To set the resource allocation type, use the ResourceAllocationType
name-value argument of the configureScheduler
function.
Time Resource
A scheduler typically allocates time resources in the form of slots, where each slot consists of 14 symbols. While the 5G specification permits symbol-level scheduling, enabling packet transmission durations smaller than a slot, 5G Toolbox does not currently support symbol-level scheduling.
Scheduler Operation
A scheduler can employ various strategies, ranging from the simplest round-robin method to more advanced approaches, such as complex quality of service (QoS)-based strategies. For an intelligent scheduler to make efficient decisions, it relies on multiple inputs, such as buffer status, channel quality, and UE capabilities. Note that the scheduler makes independent downlink and uplink scheduling decisions on a slot-by-slot basis. When the scheduler executes uplink and downlink scheduling, it prioritizes meeting the retransmission needs of the UE nodes for each scheduled slot over new transmissions. In each scheduled slot, the scheduler performs these steps:
Retransmission Scheduling — The scheduler at the gNB node might need to schedule resources for retransmission for multiple UE nodes, with each UE node potentially having multiple packets awaiting retransmission. Both uplink and downlink retransmissions follow a similar process. The scheduler first selects a set of UE nodes that need retransmission for one or more packets, then creates a random order sequence of these nodes to serve their retransmission requirements. The scheduler then selects a packet from the first UE node in the sequence, assigns frequency resources for that packet, and moves to the next UE node in that slot. This process continues until the scheduler exhausts all resources or allocates resources to each UE node for retransmission once in that sequence. The scheduler performs non-adaptive retransmission, retaining the transmission characteristics of the original transmission.
New Transmission Scheduling —
The scheduler performs new transmission scheduling if resources remain after retransmission scheduling. Both uplink and downlink new transmissions follow a similar process. For new transmission scheduling, UE nodes must meet these criteria to be eligible.
The UE node did not get an opportunity for retransmission in the slot.
The UE node has a non-empty queued buffer with packets waiting to be transmitted.
The UE node has at least one free HARQ process available.
The scheduler executes this new transmission using strategies such as RR, PF, and best CQI. Additionally, you can customize this new transmission using the
nrScheduler
class.
Uplink Scheduler
The uplink scheduler assigns physical uplink shared channel (PUSCH) grants to the UE nodes. This table illustrates the various inputs to the uplink scheduler, as supported by the 5G Toolbox.
Inputs to Uplink Scheduler
Input | Source of Information at Scheduler | Applicable Scheduling Strategies |
---|---|---|
Pending uplink retransmission for UE nodes | Failed uplink packet reception at the gNB node | PF, Best CQI, RR, and custom scheduler |
Uplink buffer status of UE nodes | Buffer Status Report (BSR) sent by the UE node to the gNB node. You can
access the uplink buffer status information through the
To set the uplink BSR periodicity,
use the | PF, Best CQI, RR, and custom scheduler |
Uplink channel quality for UE nodes | Channel measurement performed by the gNB node on sounding reference signals
(SRS) transmitted by UE nodes. You can access the uplink channel measurement
reports through the CSIMeasurementUL property of the
UEContext property of the nrScheduler
class. The gNB node performs these channel measurements on the
SRSConfiguration of the UEContext property of the nrScheduler
class. | PF, Best CQI, and custom scheduler |
Served uplink data rates for UE nodes | Uplink data rate calculated by the gNB node after assigning an uplink grant to a UE node. | PF and custom scheduler |
Uplink radio link control (RLC) bearer configuration for UE nodes | RLC bearer configuration for uplink logical channels. To set uplink RLC
bearers, use the You can access the uplink
RLC bearer configuration information through the
| QOS-based custom scheduler |
Custom UE context | Any custom information regarding a UE node, which you can then use for custom
scheduling. To input the custom UE context, use the CustomContext name-value argument of the connectUE
object function . The CustomContext property of the
UEContext property of the nrScheduler
class, reflects the specified value for the corresponding UE node. | Custom scheduler |
The scheduler outputs scheduling decisions as scheduling grants. TS 38.212 defines
uplink grant fields to fully describe the PUSCH transmission. The 5G Toolbox scheduler fills
in most of this information while allowing customization for some remaining fields. For
details about the customizable fields, see the output of the scheduleNewTransmissionsUL
method.
Downlink Scheduler
The downlink scheduler assigns physical downlink shared channel (PDSCH) assignments to the UE nodes. This table illustrates the inputs to the downlink scheduler, as supported by the 5G Toolbox.
Inputs to Downlink Scheduler
Input | Source of Information at scheduler | Applicable Scheduling Strategies |
---|---|---|
Pending downlink retransmission for UE nodes | Negative acknowledgement sent by UE nodes to the gNB node for failed downlink receptions. | PF, Best CQI, RR, and custom scheduler |
Downlink buffer status for UE nodes | The RLC layer of the gNB node reports the downlink buffer status for UE nodes
to the scheduler. You can access the downlink buffer status information through
the BufferStatusDL and BufferStatusDLPerLCH
properties of the UEContext property of the nrScheduler
class. | PF, Best CQI, RR, and custom scheduler |
Downlink channel Quality for UE nodes | Channel measurements performed by UE nodes on the channel state information
reference signal (CSI-RS) transmitted by the gNB node. The UE nodes report these
channel measurements to the gNB node. You can access the downlink channel
measurement reports through the CSIMeasurementDL property of
the UEContext property of the nrScheduler
class. The UE node performs these channel measurements on the
CSIRSConfiguration of the UEContext property of the nrScheduler
class. | PF, Best CQI, and custom scheduler |
Served downlink data rates for UE nodes | Downlink data rate calculated by the gNB node after assigning a downlink assignment to a UE node | PF and custom scheduler |
Downlink RLC bearer configuration for UE nodes | RLC bearer configuration for downlink logical channels. To set downlink
RLC bearers, use the You can access the downlink
RLC bearer configuration information through the
| Custom scheduler (QoS-based) |
Custom UE context | Any custom information regarding a UE node, which you can then utilize for a
custom scheduling. To input the custom UE context, use the CustomContext name-value argument of the connectUE
object function . The CustomContext property of the
UEContext property of the nrScheduler
class, reflects the specified value for the corresponding UE node. | Custom scheduler |
The scheduler outputs downlink scheduling decisions as scheduling assignments. TS 38.212
defines downlink assignment fields to fully describe the physical downlink shared channel
(PDSCH) transmission. The 5G Toolbox scheduler fills in most of this information while
allowing customization for some remaining fields. For details about the customizable fields,
see the output of the scheduleNewTransmissionsDL
method.
Communication of Scheduling Decisions to UE Nodes
The gNB node communicates downlink scheduling decisions to UE nodes by using the physical downlink control channel (PDCCH). However, the system-level simulation of 5G Toolbox does not model PDCCH. Instead, the gNB sends the scheduling decisions to UE nodes in an out-of-band manner. This out-of-band delivery involves sending grants directly to the destination, bypassing the channel and avoiding the use of any time-frequency resources. For more information about the out-of-band delivery, see Communication Between gNB and UE Nodes.
References
[1] 3GPP TS 38.321. “NR; Medium Access Control (MAC) protocol specification.” 3rd Generation Partnership Project; Technical Specification Group Radio Access Network.