Scheduling in 5G NR & 6G
Scheduling decides which UE gets which resources (PRBs), at what time, and with what parameters. Covers proportional-fair algorithms, semi-persistent scheduling (SPS), configured grants (CG) for URLLC, mini-slot preemption, and the 6G evolution toward AI-native scheduling.
#1Why Scheduling Matters
The gNB scheduler is the brain of the radio resource manager — every slot it decides which UEs get resources, how much bandwidth, and what QoS:
Scheduler Inputs → Outputs
Inputs: CQI/PMI/RI, BSR, HARQ ACK/NACK, PHR, 5QI, UE capabilities
Outputs: DCI grants, PRB allocation, MCS selection, beam/layer assignment
Speed: Every slot (0.125–1.0 ms) for all active UEs
#2Dynamic Scheduling — Per-Slot Grants
The baseline mode: gNB sends a DCI grant every slot to allocate resources to a specific UE:
| DCI Format | Direction | Use Case | Size |
|---|---|---|---|
| 0_0 | UL | Fallback UL grant | ~40 bits |
| 0_1 | UL | Full UL grant | ~60–80 bits |
| 1_0 | DL | Fallback DL grant | ~40 bits |
| 1_1 | DL | Full DL grant | ~60–80 bits |
| 2_0 | — | Slot format indication | Variable |
| 2_1 | — | Preemption indication | Variable |
#3Scheduling Algorithms
The algorithm decides which UE gets resources in each slot. The three main options:
Max C/I (Greedy)
Assign to UE with highest channel quality. Maximum throughput but starves cell-edge UEs.
Fairness: 0.17 (terrible)
Round Robin
Equal PRBs to all UEs regardless of channel. Fair but wastes PRBs on poor channels.
Fairness: 0.72 (good)
Proportional-Fair
PF = R_instant / R_avg. Best trade-off: multi-user diversity + fairness.
Fairness: 0.85 (excellent)
Scheduling algorithm comparison — watch throughput and fairness evolve slot-by-slot for each UE
#4Semi-Persistent Scheduling (SPS)
SPS pre-allocates periodic resources without per-slot DCI — reducing PDCCH overhead for predictable traffic (VoIP, video, IoT):
SPS vs Dynamic — compare PDCCH overhead and resource utilization per slot
SPS Lifecycle
- RRC Config: period, HARQ processes, MCS
- Activation DCI (CS-RNTI): starts periodic allocation
- Operation: UE uses resources automatically — no DCI needed
- Release DCI (CS-RNTI): stops periodic allocation
#5Configured Grants (CG) — For URLLC
CG extends SPS to uplink for zero-latency URLLC: UE transmits immediately on pre-configured resources:
Dynamic scheduling vs Configured Grant — see the latency difference for URLLC packets
| Aspect | Dynamic UL | Configured Grant |
|---|---|---|
| Scheduling delay | 3–4 ms (SR + DCI + K2) | 0.5–1 ms (wait for CG occasion) |
| PDCCH needed | Every transmission | Only activation (Type 2) or never (Type 1) |
| Reliability | HARQ retransmissions | K-repetition (up to 10⁻⁵ BLER) |
| Use case | eMBB, best-effort | URLLC, factory automation, V2X |
#6Uplink Grant Handling — UE-Side Processing
When the gNB sends UL grants, the UE must process them correctly — handling N2 timing, overlapping grants, cancellation (DCI 2_4), and PUSCH priority:
UL grant processing timeline — DCI received, LCP runs, PUSCH transmitted (or cancelled)
N2 — UE Processing Capability
| UE Capability | 15 kHz | 30 kHz | 60 kHz | 120 kHz |
|---|---|---|---|---|
| Capability 1 | 10 sym | 12 sym | 20 sym | 33 sym |
| Capability 2 | 5 sym | 5.5 sym | 11 sym | 17 sym |
Constraint: K2 ≥ N2 — gNB must not schedule earlier than UE can process.
Overlapping Grants & Cancellation
Overlapping PUSCH Resolution
If two grants overlap: CG > Dynamic, High priority > Low, Earlier DCI > Later DCI. Lower-priority grant is silently dropped.
DCI 2_4 — UL Cancellation
gNB sends DCI Format 2_4 to cancel a planned PUSCH. Used when URLLC needs those resources for another UE. Full or partial cancellation (specific PRBs/symbols).
PUSCH Priority (PHY-PriorityIndex)
Priority 0 (Low): eMBB, cancellable. Priority 1 (High): URLLC, cannot be cancelled, preempts low-priority PUSCH on overlap.
#7Time-Domain — Mini-Slots & Preemption
Mini-slots (2, 4, or 7 symbols) enable URLLC to preempt ongoing eMBB transmissions:
Mini-slot preemption — URLLC packet interrupts eMBB transmission mid-slot
Full Slot (14 symbols) vs Mini-Slot (2/4/7 symbols): ┌──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┐ │ 0│ 1│ 2│ 3│ 4│ 5│ 6│ 7│ 8│ 9│10│11│12│13│ Full slot └──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┘ URLLC arrives at symbol 5: ┌──┬──┬──┬──┬──┬██┬██┬──┬──┬──┬──┬──┬──┬──┐ │ │ │ │ │██│██│ │ │ │ │ │ │ │ │ URLLC preempts 5-6 └──┴──┴──┴──┴──┴██┴██┴──┴──┴──┴──┴──┴──┴──┘
#8Frequency-Domain — PRB Allocation
| Type | Method | Flexibility | DCI Overhead |
|---|---|---|---|
| Type 0 (Bitmap) | RBG bitmap | Non-contiguous | High (N bits) |
| Type 1 (Contiguous) | Start + length (RIV) | Contiguous only | Low (log2 bits) |
| Type 2 (Clusters) | Up to 2 clusters | Semi-flexible | Medium |
BWP (Bandwidth Part) Scheduling
UE configured with up to 4 BWPs: narrow BWP for power saving, wide BWP for throughput. DCI or timer triggers BWP switch.
#9QoS-Aware Scheduling
Scheduler uses 5QI (QoS identifier) to weight PF metric per flow:
| 5QI | Service | PDB | PER | PF Weight |
|---|---|---|---|---|
| 82 | URLLC | 1 ms | 10⁻⁵ | 4.0 |
| 1 | Voice (GBR) | 100 ms | 10⁻² | 3.0 |
| 5 | IMS Signal | 100 ms | 10⁻³ | 2.0 |
| 9 | Video | 300 ms | 10⁻⁶ | 1.5 |
| 80 | Web Browse | 1000 ms | 10⁻⁶ | 1.0 |
QoS-Weighted PF: PF_metric(i) = w(5QI) × R_instant(i,j) / R_avg(i) → URLLC packets preempt eMBB when deadline approaches
#10Practical Field Considerations
| Pitfall | Impact | Best Practice |
|---|---|---|
| PF Tc too small | Unfair to cell-edge | Use Tc = 1000 slots (default) |
| SPS period mismatch | VoIP quality drops | Match to codec (20 ms) |
| CG period too long | URLLC exceeds PDB | CG period ≤ PDB/2 |
| No preemption | eMBB blocks URLLC | Enable DCI 2_1 |
| PDCCH saturation | UEs miss grants | Monitor CCE util < 80% |
| BWP timer too short | Excessive switching | Timer > 100 ms |
#116G Scheduling Evolution
The research community and 3GPP are defining 6G scheduling paradigms (standardization ~2029, commercial ~2032):
Scheduling evolution — compare capabilities across 4G, 5G, 5G-Advanced, and 6G
| Dimension | 5G NR | 6G Target |
|---|---|---|
| Algorithm | PF + QoS | AI/ML-native (DQN/PPO) |
| Decision | Reactive (current CQI) | Predictive (AI forecasts) |
| Coordination | Centralized per-cell | Distributed (federated RL) |
| Spectrum | Sub-6 + mmWave | + THz band (100 GHz+) |
| Sensing | None | Joint ISAC (comm + radar) |
| NTN | Rel-17 basic | Full satellite integration |
| Learning | Rel-18 AI/ML study | Federated RL in production |
| Digital twin | Early concept | Full deployment |
6G Key Technologies
- AI/ML-native scheduling: RL agents replace PF formulas → 10-20% throughput gain
- Joint ISAC: Same radio for communication + environmental sensing (V2X, AR/VR, health)
- NTN integration: LEO/HAPS/GEO unified with terrestrial — NTN-aware PF
- THz bands: Sub-μs scheduling for 100 GHz+ channels
- Digital twins: Virtual network replica for predictive scheduling 100 ms ahead
#12Further Reading
3GPP Specifications
- TS 38.321 — NR MAC Protocol (scheduling, SPS, CG, BSR, HARQ)
- TS 38.214 — NR Physical Layer Procedures for Data (PRB allocation, TBS)
- TS 38.213 — NR Physical Layer Procedures (PDCCH, DCI, SPS activation)
- TS 38.821 — NR NTN (Release 17 satellite scheduling)
Companion Resources
Link Adaptation → Power Control → ☆ AI Scheduling → ☆ ISAC →