Scheduling Overview
Scheduling is the process of allocating resources for transmitting data. As in LTE (actually in all cellular communication), NR scheduling is dictated by Network and UE is just following what network tells. Overall scheduling mechanism in NR is pretty much similar to LTE scheduling, but NR has finer granularity than LTE especially in terms of time domain scheduling at physicallayer. In this page, I will just go through very high level view of NR scheduling process. For the detailed procedure/operation,
I will create separate pages and point to those pages.
At high level view, NR Scheduling is not much different from LTE scheduling in terms of overall concept. In this page, I will describe on the overview of NR Scheduling and the further details will be linked to several separate pages. The overall skelleton of this page is based on Based on "38.300 - 10 Scheduling" even though most part is written in
my own words and illustrations.
Real Life Example : srsRAN Scheduler
How to implement the scheduler is up to specific implementation of the product. In other words, it is not defined by 3GPP. and almost no eNB/gNB vendors release the details of the scheduler. This high level description of the scheduler of srsRAN gNB which are presented by one of the workshop presentation. This would be a rare chance to take a look into the picture of the scheduler which are implemented in a real product.
The scheduler uses real-time inputs to make precise decisions about resource allocation, ensuring efficient use of spectrum and maintaining quality of service across both control signaling and data transmission.
The following diagram represents the interaction between various components and the scheduler (depicted as "SCHED") in the architecture,
Image Source : 2024 srsRAN Fall Workshop: An Introduction to the srsRAN DU-High
Followings are breakdown and brief descriptions of the diagram
Thefollowing diagram illustrates the interactions between various components in the DU High architecture, focusing on the MAC layer and its communication with other layers like RLC, FAPI, and the DU Manager. It highlights the interdependent roles of each MAC component and their integration with other parts of the DU High architecture, ensuring efficient and real-time processing of uplink and downlink communications.
Image Source : 2024 srsRAN Fall Workshop: An Introduction to the srsRAN DU-High
Followings are breakdown and brief descriptions of the diagram
-
DU Manager:
-
MAC Layer Components:
-
MAC Controller:
-
MAC UL (Uplink):
-
Processes received PDUs from the FAPI layer.
-
Decodes PDUs and passes SDUs to the RLC layer for further processing.
-
Handles uplink data transmission from UEs to the network.
-
MAC DL (Downlink):
-
Receives control elements (CEs) from the RLC layer.
-
Collaborates with the Scheduler to allocate downlink resources.
-
Uses Scheduler grants to handle downlink data transmissions efficiently.
-
Scheduler (SCHED):
-
Monitors bearer downlink buffer occupancy.
-
Allocates resources for downlink (DL), uplink (UL), and MAC PDUs.
-
Passes these grants to the FAPI layer.
- FAPI Layer:
-
Facilitates communication between the DU and the lower PHY layer.
-
Receives slot indications, uplink control indicators (UCIs), cyclic redundancy checks (CRCs), and PRACH messages.
-
Ensures real-time synchronization and efficient resource allocation.
The following diagram illustrates the intricate workings of the scheduling architecture in the DU High system, showing how different schedulers and components collaborate to allocate resources effectively.
The interaction between these components culminates in the Scheduler Decision, which provides the final resource allocation for both uplink and downlink communications. The architecture is designed to be modular and adaptive, allowing efficient handling of diverse scheduling tasks while maintaining high performance and low latency.
Image Source : 2024 srsRAN Fall Workshop: An Introduction to the srsRAN DU-High
Followings are breakdown and brief descriptons of the diagram
-
UE Event Manager:
-
Central handler for processing inputs like UE configurations, channel feedback, buffer status, and control elements (CEs).
-
Manages events asynchronously to optimize resource handling.
- UE Scheduler:
-
Manages UE-specific tasks while ensuring sequential execution for each UE.
-
Coordinates with other schedulers and allocators.
-
Uses the UE Repository to store the state and context of each UE.
- Resource Grid:
- PUCCH and PDCCH Allocators:
- Sched Policy:
-
Defines the scheduling policy, such as round-robin or proportional fairness, for resource allocation.
-
Ensures flexibility in adapting to different network needs.
- Fallback Scheduler:
- Scheduler Decision:
Following diagram illustrates the interaction between the PHY layer, MAC & Scheduler, and RLC in the process of resource allocation, scheduling, and data transmission within the DU High architecture.
It emphasizes the sequential and hierarchical interaction between layers, where each component plays a specific role in ensuring efficient scheduling, encoding, and transmission of both control and user data. The entire process is designed to meet the real-time requirements of the RAN system while maintaining flexibility and adaptability for various network scenarios.
Image Source : 2024 srsRAN Fall Workshop: An Introduction to the srsRAN DU-High
Followings are breakdown and brief descriptons of the diagram
-
Slot Indication:
- Scheduling:
- Control Channel Assembly:
- DL_TTI.Request:
-
A DL_TTI.Request is generated, containing scheduling information for downlink transmissions, such as:
-
SIB (System Information Blocks)
-
RAR (Random Access Response)
-
Paging information
- UE-Specific PDU Processing:
-
For each UE PDU:
-
The MAC layer creates opportunities for encoding.
-
RLC PDU is encoded, carrying data passed from the RLC layer.
-
A MAC subheader is constructed, containing metadata like logical channel IDs and lengths.
- Uplink Data Handling:
-
For uplink transmissions, the MAC & Scheduler generates a UL_TTI.Request, specifying uplink grants and expected transmissions.
-
A Tx_Data.Request is sent to the PHY layer, facilitating the uplink data transmission.
- Layer Interaction:
-
The diagram shows the interaction between layers (PHY, MAC & Scheduler, and RLC) to ensure the sequential processing of scheduling, resource allocation, and data transmission.
- Real-Time Processing:
In terms of Physical layer, there are roughly two categories of scheduling that are time domain scheduling and frequency domain scheduling. Frequency Domain Scheduling in NR is almost same as LTE. Time Domain Scheduling in NR is similar to LTE TDD schduling, but there are several time domain scheduling factors that are not supported in LTE.
Actually Scheduling is a huge part in NR protocol and there are so many factors and terminologies that you need to understand. Since it is difficult to put all those details in one page, I have written several different pages with the details for each individual aspect/factors listed below. Just try to get the big picture about the scheduling in this page and follow through the link mentioned in comments column in the following table.
Domain
|
Factors/Parameters
|
Comments
|
Time
|
TDD DL/UL CommonConfiguration
|
In terms of concept, this is very similar to LTE TDD DL/UL configuration, but NR configuration provides more flexibility. For the details, refer to this page.
|
TDD DL/UL DedicatedConfiguration
|
In LTE, once a subframe is scheduled all the symbols in the subframe are used for data transmission. But in NR, it is possible to set only a few symbols in the subframe for data transmission and reception. It means in NR, symbol level scheduling is possible. TDD DL/UL Dedicated Configuration is one of mechanisms for symbol level scheduling. For the details, refer to this
page.
|
SlotFormat
|
SlotFormat is also a kind of mechanism for symbol level scheduling. 3GPP defines 61 different type of symbol level scheduling type (i.e, SlotFormat). For the details, refer to this page.
|
SLIV
|
This is another kind of mechanism for symbol level scheduling for a slot. For the details, refer to this page.
|
K0, K1, K2
|
In LTE TDD, there are simiar parameters like K1 and K2(K1 is similar to K in TDD LTE and K2 is similar to k in TDD LTE). But K1, K2 in NR has more flexibility. However, there is no parameters in LTE that is equivalent to K0. In other words, in LTE K0 is always 0, so we don't need to define
this as a parameter. For the
details of K0, K1, K2, refer to this page.
|
Frequency
|
RA Type
|
This is similar to LTE RA Type. NR supports two RA Types - Type 0 (Bitmap) and Type 1(RIV). For the details of RA Types, refer to this page.
|
RBG Size
|
This is same concept as RBG size in LTE Resource Allocation Type 0. In LTE, RBG size can be 1,2,3,4 depending on channel bandwidth. Similarily in in NR the RBG size can only be 2,4,8 or 16 depending on the bandwidth of the BWP. But in NR, for the same BWP width, the RBG size varies depending on configuration type. For the details of RBG Size, refer to this
page.
|
NOTE : In reality, the scheduling is applied dynamically in the context of HARQ process. I would suggest you to look into this page to get the overall understandins on how HARQ process works.
There are two types of scheduling for downlink. One is called 'Dynamic Scheduling' and the other one SPS(Semi Persistent Scheduling'). Dynamic scheduling is the mechanism in which each and every PDSCH is scheduled by DCI(DCI 1_0 or DCI 1_1). SPS is the mechanism in which the PDSCH transmission is scheduled by RRC message. SPS is explained in detail here.
- Dynamic Scheduling requires monitoring the PDCCH for every PDSCH, providing flexibility but increasing overhead.
- SPS reduces PDCCH monitoring by preconfiguring periodic transmissions, improving efficiency for consistent traffic patterns but with less flexibility.
NOTE : For simplicity, HARQ Ack/Nack process and (possible) retransmission is not shown in this illustration.
NOTE : CS stands for Configured Scheduling
Dynamic Scheduling
- In this mechanism, every PDSCH transmission is scheduled dynamically by the gNB.
- The UE continuously monitors the PDCCH (Physical Downlink Control Channel) for DCI (Downlink Control Information).
- The DCI contains the necessary information (e.g., resource allocation, modulation, and coding scheme) to decode the PDSCH.
- Once the DCI is received, the UE processes the corresponding PDSCH transmission.
- This process is repeated for every PDSCH, ensuring that each transmission is explicitly scheduled by the gNB.
Semi-Persistent Scheduling (SPS)
- SPS is used for periodic or predictable data transmissions, such as voice calls in VoNR.
- The mechanism is activated via RRC (Radio Resource Control) signaling, which configures the periodicity of the transmission.
- Once SPS is activated, the UE monitors the PDCCH for an activation DCI using a special identifier (CS-RNTI).
- After the activation, the UE does not need to monitor the PDCCH for every PDSCH transmission, as the transmissions follow the pre-configured periodicity.
- If required, the gNB can override the periodic SPS scheduling by dynamically sending a new DCI using the C-RNTI (Cell-RNTI) to modify or terminate the existing configuration.
As in downlink scheduling, there are two types of scheduling for uplink. One is called 'Dynamic Scheduling' and the other one CS(Configured Scheduling'). Dynamic scheduling is the mechanism in which each and every PUSCH is scheduled by DCI(DCI 0_0 or DCI 0_1). CS is the mechanism in which the PUSCH transmission is scheduled by RRC message. The further details about CS is explained
here.
- Dynamic Scheduling:
- Flexible and can adapt to varying traffic demands.
- Requires continuous monitoring of the PDCCH, increasing overhead.
- Configured Scheduling:
- Efficient for periodic or predictable traffic, such as voice or low-latency applications.
- Reduces overhead by minimizing PDCCH monitoring but offers less flexibility.
Trigger for PUSCH scheduling can be summarized as in the following table (I wrote this table based on the description on 38.214-6.1).
ConfiguredGrantConfig
|
rrc-ConfiguredUplinkGrant
|
Scheduling Trigger
|
Not Configured
|
Not Configured
|
Dynamic Scheduling by DCI
< Without CS > shown below
|
Configured
|
Not Configured
|
Semi-static scheduling with DCI Trigger
< With Type 2 CS > shown below
|
Configured
|
Configured
|
Semi-static scheduling without DCI Trigger
< With Type 1 CS > shown below
|
NOTE :: For simplicity, (possible) retransmission is not shown in this illustration.
NOTE :: CS stands for Configured Scheduling
Dynamic Scheduling by DCI (Without Configured Scheduling):
- The UE monitors the Physical Downlink Control Channel (PDCCH) for Downlink Control Information (DCI).
- The DCI provides resource allocation for PUSCH transmissions.
- Each PUSCH transmission is explicitly scheduled by the gNB (similar to dynamic scheduling in downlink).
- This approach provides high flexibility but requires the UE to continuously monitor the PDCCH for DCI messages.
Configured Scheduling (CS):
- CS Type 1:
- Configured via RRC (Radio Resource Control) signaling.
- The PUSCH transmissions are pre-configured to follow a defined periodicity.
- After the initial setup, the UE does not need to monitor the PDCCH for every transmission, as the periodicity is pre-determined. (UE does not need any DCI for triggering/activation)
- If the gNB wants to modify or overwrite the periodicity, it can send a new DCI using the C-RNTI.
- CS Type 2:
- Configured via RRC signaling but requires an activation DCI using a special identifier (CS-RNTI) for the initial transmission.
- After activation, PUSCH follows the configured periodicity, similar to Type 1.
- The gNB can overwrite the configured scheduling using a DCI with the C-RNTI if required.
YouTube
|
|