Main Content

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

InputSource of Information at SchedulerApplicable Scheduling Strategies
Pending uplink retransmission for UE nodesFailed uplink packet reception at the gNB nodePF, 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 BufferStatusUL and BufferStatusULPerLCG properties of the UEContext property of the nrScheduler class.

To set the uplink BSR periodicity, use the BSRPeriodicity name-value argument of the connectUE object function.

PF, Best CQI, RR, and custom scheduler
Uplink channel quality for UE nodesChannel 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 nodesUplink 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 RLCBearerConfig name-value argument of the connectUE object function.

You can access the uplink RLC bearer configuration information through the RadioBearerConfigUL property of the UEContext property of the nrScheduler class.

QOS-based custom scheduler
Custom UE contextAny 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

InputSource of Information at schedulerApplicable Scheduling Strategies
Pending downlink retransmission for UE nodesNegative 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 nodesThe 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 nodesChannel 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 nodesDownlink data rate calculated by the gNB node after assigning a downlink assignment to a UE nodePF and custom scheduler
Downlink RLC bearer configuration for UE nodes

RLC bearer configuration for downlink logical channels. To set downlink RLC bearers, use the RLCBearerConfig name-value argument of the connectUE object function.

You can access the downlink RLC bearer configuration information through the RadioBearerConfigDL property of the UEContext property of the nrScheduler class.

Custom scheduler (QoS-based)
Custom UE contextAny 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.

Related Topics