5G NR MAC DL/UL Scheduling Algorithms
- Venkateshu Kamarthi
- Jan 23
- 16 min read
1. Introduction
Medium Access Control (MAC) scheduling is one of the most critical real-time functions in a 5G NR gNB. It directly determines throughput, latency, fairness, spectral efficiency, and QoS compliance. Unlike LTE, 5G MAC scheduling operates in a much more complex design space due to:
Flexible numerology (multiple SCS)
Mini-slots and slot aggregation
Beam-based transmissions
Massive MIMO
QoS flows (5QI-driven scheduling)
URLLC pre-emption and puncturing
Dynamic TDD
This article provides a technical explanation of downlink (DL) and uplink (UL) MAC scheduling algorithms, how they work internally, the key parameters that drive scheduler decisions, and the UE–gNB message flows involved. Each algorithm is explained with practical deployment scenarios.
2. Role of MAC Scheduler in 5G NR
The MAC scheduler resides in the gNB-DU and operates every TTI (slot or mini-slot). Its responsibilities include:
Selecting UEs for DL and UL transmission
Allocating PRBs, symbols, layers, and beams
Selecting MCS based on CQI/PMI/RI
Enforcing QoS (5QI, GBR, delay budget)
Handling HARQ retransmissions
Coordinating with PHY for timing and resources
DL Scheduling Scope
PDSCH resource allocation
DCI format 1_0 / 1_1 generation
UL Scheduling Scope
PUSCH grants via DCI format 0_0 / 0_1
Handling SR, BSR, and power constraints
3. Inputs to the 5G MAC Scheduler
3.1 UE-Reported Inputs
CQI – Channel Quality Indicator
CQI tells the gNB how good the downlink radio channel is for a UE at that moment.The scheduler uses CQI to choose MCS and estimate achievable throughput.Wrong or stale CQI directly leads to high BLER or under-utilized spectrum.
PMI / RI – MIMO Feedback
PMI indicates the preferred precoding matrix, and RI indicates the number of spatial layers.The scheduler uses these to decide how many layers to schedule and how beams are formed.Ignoring PMI/RI wastes MIMO gain and limits peak throughput even with good SINR.
BSR – Buffer Status Report
BSR informs the gNB how much uplink data is waiting in the UE buffers.The UL scheduler relies on BSR to decide whether and how much to grant.Missing or delayed BSR causes UL starvation or inefficient small grants.
SR – Scheduling Request
SR is a short indication that the UE has UL data but no current grant.It triggers the UL scheduler to allocate PUSCH resources in the next opportunity.Without timely SR handling, UL latency increases even when resources are free.
PHR – Power Headroom Report
PHR tells how much transmit power margin the UE still has.The UL scheduler uses it to limit PRBs or reduce MCS if the UE is power-limited.Ignoring PHR results in high UL BLER and repeated HARQ retransmissions.
3.2 Network & QoS Inputs
5QI, GBR, ARP, Packet Delay Budget
These parameters define latency, reliability, and throughput expectations of traffic.The scheduler prioritizes packets nearing delay budget or belonging to GBR flows.Incorrect QoS enforcement causes VoNR drops, URLLC latency violations, or unfair usage.
Slice Priority (S-NSSAI)
S-NSSAI identifies the network slice and its relative priority.Schedulers use slice priority to isolate resources across services like eMBB and URLLC.Without slice awareness, one service can starve others under congestion.
UE Priority and Fairness Weights
These weights bias scheduling toward premium, emergency, or enterprise UEs.They modify PF or QoS metrics to tilt fairness in controlled ways.Misconfigured weights lead to either starvation or excessive favoritism.
3.3 PHY Constraints
Available PRBs
PRBs represent the total frequency resources available in a slot.Schedulers must divide them among DL, UL, HARQ retransmissions, and beams.PRB scarcity forces trade-offs between throughput, latency, and fairness.
TDD DL/UL Pattern
The TDD pattern defines which slots are DL, UL, or flexible.Schedulers must respect this while handling asymmetric traffic demand.Poor DL/UL pattern alignment causes UL congestion or DL under-utilization.
Beam Availability
Only a limited number of beams can be formed simultaneously.Schedulers must align UE selection with beam directions and beam conflicts.Beam-unaware scheduling results in blocked grants or reduced MIMO efficiency.
HARQ Process Availability
Each UE has a finite number of HARQ processes per direction.Schedulers must avoid assigning new data when HARQ processes are exhausted.HARQ exhaustion directly throttles throughput even with free PRBs.
5G Downlink MAC Scheduler – Functional Explanation
Step 1: CQI / HARQ Feedback Collection
What happens
The scheduler collects:
CQI (channel quality)
HARQ ACK/NACK feedback
This reflects current radio conditions and past transmission success.
Why it matters
CQI drives MCS selection
HARQ feedback determines retransmission priority
If this step is weak
Stale CQI → high BLER
Missed HARQ feedback → stalled throughput
Step 2: QoS Classification (5QI)
What happens
All pending DL packets are classified by:
5QI
GBR vs non-GBR
Packet Delay Budget (PDB)
Why it matters
Scheduler must treat:
URLLC
VoNR
eMBB
very differently—even for the same UE.
If this step is weak
Voice drops
URLLC latency violations
“Throughput looks fine but users complain”
Step 3: HARQ Retransmission Check
What happens
Scheduler checks:
Are there pending HARQ retransmissions?
Retransmissions are typically higher priority than new data.
Why it matters
HARQ RTT directly impacts latency and throughput stability.
Delayed retransmissions multiply BLER impact.
If this step is weak
HARQ process exhaustion
Throughput collapse even at good SINR
Step 4: Prioritize Retransmission vs New Transmission
What happens
If HARQ pending → retransmission path
Else → new transmission path
Why it matters
This is the first hard prioritization decision in the scheduler.
Real implementation note
Vendors usually cap retransmissions per TTI to avoid starvation.
Step 5: Scheduler Metric Computation (PF / Latency / Priority)
What happens
Scheduler computes a composite metric, typically:
Proportional Fair (PF)
Latency urgency
UE / slice priority
Why it matters
This is where fairness vs performance trade-offs are enforced.
If this step is weak
Cell-edge starvation
Premium users see no benefit
KPI imbalance across UEs
Step 6: PRB + MCS Allocation
What happens
Scheduler assigns:
Number of PRBs
Time-domain symbols
MCS
Number of layers (from RI)
Why it matters
This step defines actual throughput and BLER.
Over-aggressive MCS → retransmissions
Conservative MCS → wasted spectrum
Step 7: DCI Generation (Format 1_0 / 1_1)
What happens
Scheduler generates DL grants:
DCI 1_0 (basic)
DCI 1_1 (advanced, MIMO-aware)
Why it matters
Any mismatch here leads to UE decoding failure, not PHY failure.
Step 8: PDSCH Transmission
What happens
PHY transmits based on MAC decisions.
UE decodes and sends HARQ feedback in later slots.
Key takeaway
DL scheduler success is measured not by peak throughput, but by stable BLER ≈ 10% with low HARQ churn.

Step 1: SR Detection (Scheduling Request)
What happens5G Uplink MAC Scheduler – Functional Explanation
UE sends SR indicating UL data pending but no grant.
Why it matters
This is the entry point for UL scheduling.
Without SR handling, UL latency explodes.
Step 2: BSR + PHR Evaluation
What happens
Scheduler evaluates:
BSR → how much data UE has
PHR → how much power UE can still use
Why it matters
UL scheduling is buffer-driven and power-limited, unlike DL.
If ignored
UE gets grants it cannot transmit → CRC failures.
Step 3: Power Feasibility Check
What happens
Scheduler checks:
Can UE transmit requested PRBs at chosen MCS within max power?
Decision
Feasible → proceed
Not feasible → adjust PRBs/MCS
Why it matters
This is the most UL-specific step in 5G.
Step 4: UL Scheduler Metric Computation
What happens
Scheduler computes UL metric based on:
BSR size
QoS urgency
Fairness history
Power feasibility
Why it matters
Prevents UL starvation of low-power or cell-edge UEs.
Step 5: Adjust Parameters (If Needed)
What happens
If power-limited:
Reduce PRBs
Lower MCS
Why it matters
Better to send less data reliably than more data unreliably.
Step 6: PRB + MCS Allocation
What happens
Final UL resource decision is made.
UL vs DL difference
DL: spectrum-limited
UL: power-limited
Step 7: DCI Generation (Format 0_0 / 0_1)
What happens
UL grant sent to UE with:
Timing
Frequency
MCS
HARQ ID
Why it matters
Any mismatch → UE transmits incorrectly → PUSCH decode failure.
Step 8: PUSCH Transmission
What happens
UE transmits data.
gNB measures CRC, SINR, BLER → feeds back into scheduler loop.

DL vs UL Scheduler — Key Architectural Differences
Aspect | DL Scheduler | UL Scheduler |
Main constraint | PRBs | UE power |
Trigger | Data availability | SR / BSR |
HARQ impact | High | Very high |
QoS sensitivity | Medium–High | High |
Common failure | BLER spikes | CRC storms |
4. Downlink Scheduling Algorithms
4.1 Round Robin (RR) Scheduling
Round Robin scheduling allocates equal transmission opportunities to each active UE, intentionally ignoring channel quality, to guarantee fairness.
Algorithm Logic
Maintain a circular UE list based on have DL data buffered or have UL BSR pending. Example UE1, UE2, UE3, UE4, All four are considered equal.
The scheduler maintains a rotating pointer:
Last scheduled UE → UE2
Next UE → UE3
This pointer remembers history across slots.
Allocate fixed PRBs per UE per TTI, Each UE gets:
Same number of PRBs
Same number of symbols
Same scheduling opportunity frequency
Channel quality (CQI) is not used for UE selection. CQI is used only to avoid decoding failure, not to prioritize.
Good CQI UE → higher MCS
Poor CQI UE → lower MCS
But PRBs remain equal

Example Scenario
Dense urban cell with many low-mobility UEs where fairness is more important than peak throughput.
Pros / Cons
✔ Simple, fair
✘ Poor spectral efficiency
4.2 Maximum Throughput (Max-CQI) Scheduling
Always schedule the UE that can transmit the most bits right now.
Max-CQI answers only one question:
“Which UE gives me the highest instantaneous throughput if I schedule it now?”
Algorithm Logic
Step 1: Collect Instantaneous CQI
At the start of each slot, the scheduler gathers latest CQI reports from all active UEs.
Example CQI snapshot:
UE1: CQI = 14
UE2: CQI = 10
UE3: CQI = 6
UE4: CQI = 3
CQI directly maps to:
Modulation
Code rate
Expected bits per PRB
Step 2: Rank UEs by CQI
Scheduler sorts UEs in descending CQI order:
Rank 1 → UE1 (CQI 14)
Rank 2 → UE2 (CQI 10)
Rank 3 → UE3 (CQI 6)
Rank 4 → UE4 (CQI 3)
No consideration of:
How often UE was served before
QoS class
UE location history
Step 3: Allocate Majority (or All) PRBs to Top UE
Scheduler allocates:
Most PRBs
Most symbols
Highest feasible MCS
to UE1, the best channel UE.
Example:
Total PRBs available = 100
Allocation:
UE1 → 80 PRBs
UE2 → 20 PRBs (optional or zero)
Others → 0
Some implementations allocate 100% to UE1.
Step 4: Select Aggressive MCS
Because CQI is high:
UE1 gets high-order modulation (64QAM / 256QAM)
High code rate
Goal: Maximize bits per PRB per slot

Example Scenario
Fixed Wireless Access (FWA) or static UEs near cell center.
Pros / Cons
✔ Maximum cell throughput
✘ Starves cell-edge UEs
4.3 Proportional Fair (PF) Scheduling
Give resources to the UE that benefits most right now relative to how much it has been served in the past.
PF answers two questions at once:
Who can transmit well now?
Who has been treated unfairly recently?
PF Metric (Heart of the Algorithm)

Instantaneous throughput → derived from CQI, MCS, PRBs
Average throughput → historical average over time
This ratio is what the scheduler ranks every slot.
Algorithm Logic
Step 1: Estimate Instantaneous Throughput
For each UE:
Use CQI → select tentative MCS
Estimate how many bits the UE could send if scheduled now
Example:
UE1: CQI 14 → 80 Mbps
UE2: CQI 9 → 30 Mbps
UE3: CQI 6 → 10 Mbps
Step 2: Track Average Throughput
Each UE maintains a moving average throughput:

α = smoothing factor (vendor-tunable)
Large window → more fairness
Small window → more responsiveness
Step 3: Compute PF Metric
UE | Inst. Thr (Mbps) | Avg Thr (Mbps) | PF Metric |
UE1 | 80 | 80 | 1.0 |
UE2 | 30 | 10 | 3.0 |
UE3 | 10 | 2 | 5.0 |
UE3 wins, despite poor CQI.
Step 4: Schedule UE with Highest PF Metric
Scheduler assigns:
PRBs
Symbols
MCS
to the UE with highest PF metric.
This naturally:
Rewards starved UEs
Still exploits good channel conditions
Step 5: Update Average Throughput
After transmission:
UE’s average throughput increases
PF metric drops next time
Scheduler rotates to others

Example Scenario
Commercial eMBB networks (most common scheduler).
4.4 QoS-Aware Scheduling (5QI-Based)
Schedule packets based on how urgent and reliable they must be, not just how good the radio channel is.
QoS-aware scheduling ensures that latency-critical and guaranteed-bit-rate traffic is protected, even when that reduces peak throughput.
Algorithm Logic
Step 1: Classify Flows by 5QI
Each incoming packet is mapped to a QoS Flow with a specific 5QI, carrying attributes such as:
Packet Delay Budget (PDB)
Packet Error Rate (PER)
Priority level
GBR / non-GBR flag
Example
Single UE running multiple apps:
Traffic | 5QI | PDB |
VoNR | 1 | 100 ms |
URLLC control | 80 | 5 ms |
Video streaming | 9 | 300 ms |
File download | 9 | Best effort |

Step 2: Prioritize Traffic Classes
URLLC > GBR > non-GBR
At each slot:
Check URLLC queues first
Then serve GBR flows to maintain guaranteed rate
Use remaining resources for non-GBR traffic
Real-time example
In a congested cell:
URLLC alarm arrives → scheduled immediately
VoNR packets scheduled next
Video throughput is reduced temporarily
Throughput can wait. Deadlines cannot.
Step 3: Deadline & Reliability Awareness (URLLC Case)
URLLC behavior
Mini-slot scheduling
Pre-emption of ongoing eMBB transmissions
Conservative MCS to meet PER target
Example
Emergency stop command arrives
Scheduler punctures an ongoing PDSCH
URLLC sent in next mini-slot
Impact
eMBB UE gets HARQ NACK
URLLC meets <5 ms latency
Step 4: Apply PF or RR Within Same QoS Class
Even inside the same QoS class:
Multiple UEs compete
Fairness still matters
Example: GBR class
Two VoNR users:
UE-A (good CQI)
UE-B (poor CQI)
Scheduler applies PF within GBR group:
Both get scheduled
UE-A gets higher MCS
UE-B gets more time-frequency resources

Example Scenario
VoNR + video streaming + background download on same UE.
5. Uplink Scheduling Algorithms
5.1 Grant-Based UL Scheduling
The UE is not allowed to transmit uplink data unless the gNB explicitly grants time-frequency resources.
This makes the gNB the central authority controlling:
When a UE transmits
How much it transmits
At what power and MCS it transmits
Uplink is fundamentally power-limited and interference-sensitive.Without explicit grants:
Multiple UEs would collide
Cell-edge UEs would overload their power amplifier
UL interference would rise uncontrollably
Grant-based scheduling ensures order, predictability, and power control.
Algorithm Logic
Step 1: Detect SR
What happens
gNB monitors SR resources on PUCCH
When SR is detected, UE enters the UL scheduling candidate list
Key pointSR detection is fast but coarse — it only signals presence of data, not size.
Step 2: Read BSR
What happens
Scheduler waits for or reads the latest BSR
Determines:
Amount of UL data
QoS class of data
Real-time logic
Small BSR → small grant
Large BSR → multi-slot draining strategy
Step 3: Allocate PRBs Considering PHR
This is the most critical UL step.
Power feasibility check
Scheduler evaluates:
Required transmit power for:
PRBs × MCS
Compares against PHR
Decision outcomes
Condition | Scheduler Action |
Power feasible | Grant requested PRBs |
Power limited | Reduce PRBs |
Severely limited | Reduce MCS |

Example Scenario
Regular data traffic (FTP, video upload).
5.2 Grant-Free UL Scheduling
The UE is allowed to transmit uplink data without waiting for an explicit UL grant from the gNB.
The idea is simple: remove the scheduling handshake to save time.
Grant-based UL has unavoidable latency:
SR → gNB processing → UL grant → UE transmission
For URLLC and alarm-type traffic, this delay is unacceptable.Grant-free UL removes this control-loop delay entirely.
Algorithm Logic
1. Pre-Configuration Phase (Before Data Exists)
The gNB configures the UE via RRC with:
Time–frequency resources (configured grants)
MCS
Number of repetitions
Power control parameters
Once configured, the UE already knows where and how to transmit.
2. Transmission Phase (When Data Arrives)
No SR. No UL grant.
UE detects UL data arrival
UE immediately transmits on the pre-configured PUSCH
gNB blindly monitors those resources

Example Scenario
Industrial sensor sending alarm packets.
Grant-Based vs Grant-Free UL Scheduling Comparison
Grant-Based UL requires SR/BSR and an explicit UL grant from the gNB, while Grant-Free UL lets the UE transmit immediately on pre-configured resources.
Grant-Based UL has higher latency (≈4–10 ms) due to control signaling; Grant-Free UL achieves ultra-low latency (≈0.5–1.5 ms).
Grant-Based UL is efficient and power-aware (uses PHR, adaptive PRBs/MCS); Grant-Free UL is less efficient with fixed, conservative settings.
Grant-Based UL supports fairness and scalability (PF/RR scheduling); Grant-Free UL offers no fairness and scales poorly.
Grant-Based UL is used for eMBB/VoNR, while Grant-Free UL targets URLLC and sporadic small packets.

5.3 Proportional Fair UL Scheduling
In uplink, the scheduler tries to be fair and efficient, but only within what each UE can physically transmit given its power limits.
Why UL PF ≠ DL PF
In downlink:
gNB has plenty of power
Limitation is spectrum
In uplink:
UE max power is fixed (typically 23 dBm)
Limitation is power + pathloss
Therefore, UL PF must first ask:
“Can this UE even transmit what I want to schedule?”
UL PF Metric
Instead of pure DL PF:
UL PF ≈ Feasible_Instantaneous_Throughput / Average_UL_Throughput
Where feasible already accounts for:
UE power limit - Each UE has a strict maximum transmit power.
High PRBs + high MCS may exceed UE power
Scheduler must reduce grant size or MCS
PHR - indicates how much extra power the UE has left after current transmissions.
Positive PHR → UE can handle larger UL grants
Low/negative PHR → UE is power-limited
MCS back-off - High MCS requires high SINR → higher power.
If PHR is low:
Reduce MCS -> Possibly increase PRBs slightly (if feasible) ->
to keep BLER near target.
6. Scheduler Operation Timeline (Slot-Level)
Think of the MAC scheduler as a real-time decision engine that wakes up every slot (or mini-slot) and has only a few hundred microseconds to decide who gets what.
Assume:
30 kHz SCS
1 slot = 0.5 ms
20–30 active UEs in a cell
Collect CQI / BSR / SR
At the beginning of each scheduling interval, the gNB gathers:
CQI → DL channel quality per UE
BSR → how much UL data each UE has
SR → which UEs are requesting UL grants
Example
UE-A reports CQI = 12 (good radio)
UE-B reports CQI = 6 (cell-edge)
UE-C sends SR + BSR = 15 KB UL data
The scheduler is blind without fresh inputs.
Wrong CQI → wrong MCS → BLER spikes
Missing BSR → UL starvation
Missed SR → UL latency explosion
Scheduler decisions are only as good as the freshness of inputs.
Check HARQ retransmissions
Scheduler checks if any UE has:
Pending DL or UL HARQ retransmissions
NACKs from previous slots
Example
UE-A failed DL transmission in Slot-N (NACK)
UE-D has UL HARQ pending (CRC fail)
Scheduler behavior:
HARQ retransmissions are usually higher priority than new data
But vendors cap retransmissions per slot to avoid starvation
HARQ delays directly hurt: Latency, Throughput stability, UE buffer growth
If HARQ is ignored, the scheduler looks busy but the cell delivers nothing.
3.Apply QoS prioritization - Packets are grouped and prioritized by:
5QI
GBR vs non-GBR
Packet Delay Budget (PDB)
Example
In the same slot:
UE-A: VoNR (5QI=1, 100 ms PDB)
UE-B: Video streaming (5QI=9)
UE-C: File download (best effort)
Scheduler logic:
URLLC / voice first
GBR flows next
eMBB and background traffic last
Without QoS enforcement:
Voice drops
URLLC misses deadlines
“High throughput but bad user experience”
Run scheduling algorithm
Scheduler computes metrics per UE, typically combining:
Proportional Fair (PF)
Latency urgency
UE / slice priority
Example (PF logic)
UE-A: good CQI but already served a lot
UE-B: poor CQI but starved for long time
PF metric balances:
Instantaneous achievable rate / Long-term average rate
Outcome
UE-B may get scheduled even with lower CQI
Prevents starvation and improves fairness
This is where “fairness vs throughput” is decided every slot.
Generate DCI
Scheduler creates DCI grants:
DL → DCI 1_0 / 1_1
UL → DCI 0_0 / 0_1
DCI includes:
PRB allocation, MCS, HARQ ID, Timing info
Example: UE-A: 48 PRBs, MCS 20, HARQ ID 3
UE-C: UL grant 24 PRBs, MCS 14
Any mismatch between:
MAC decision
PHY interpretation
causes UE decode failure, not PHY issues.
Notify PHY
MAC hands over:
Resource map
Scheduling decisionsto PHY for transmission/reception.
PHY transmits PDSCH / receives PUSCH
Feedback loops into next slot
Scheduler closes the loop every slot using PHY feedback.
7. Key Scheduler Design Parameters
Fairness index - A measure of how evenly resources are distributed across UEs.
Fairness too low → cell-edge users starve
Fairness too high → cell throughput drops
Latency threshold - Maximum acceptable delay before a packet must be scheduled.
VoNR packet nearing 80 ms delay
Scheduler boosts priority even if CQI is poor
Spectral efficiency target- Target bits/sec/Hz the scheduler tries to maintain.
Aggressive MCS → high spectral efficiency but BLER spikes
Conservative MCS → stable BLER but wasted spectrum
BLER target (≈10%) - Target block error rate for link adaptation.
BLER < 5% → scheduler is too conservative
BLER > 20% → HARQ overload, throughput collapse
~10% BLER gives maximum net throughput after HARQ combining.
HARQ RTT -Time between transmission and HARQ feedback.
Longer RTT → more buffering
Short RTT → faster recovery
Scheduler must avoid exhausting HARQ processes within RTT window.
8. Scheduler Challenges in 5G
Massive UE Density-Hundreds of UEs competing every slot.
Schedulers use pre-filtering and UE grouping to survive.
Beam-Aware Scheduling- Only limited beams can be active simultaneously.
Example- Two UEs need same beam → cannot schedule both
Scheduler must align:
UE selection
Beam direction
Layer availability
Dynamic TDD Conflicts- DL/UL slot ratio changes dynamically.
Example: UL demand high but slot is DL
SRs pile up → UL latency spikes
Scheduler must predict and smooth traffic asymmetry.
Cross-Slot Scheduling - Decisions in Slot-N affect Slot-N+1 and beyond.
Example:
HARQ scheduled now blocks future HARQ IDs
Over-allocating now starves future URLLC packets
Schedulers are not greedy — they think multiple slots ahead.
9. UE Log & gNB Log Snippets Showing Scheduler Decisions
9.1 Downlink Scheduling – UE Log Perspective
Below is a representative UE MAC/PHY log extract (vendor-neutral) illustrating a PF-based DL scheduling decision:
[MAC] SFN:512 Slot:8
[MAC] DL Grant Received
RNTI: 0x046A
PRBs: 96 (RBStart=24, RBEnd=119)
Symbols: 12
MCS Index: 22
Modulation: 64QAM
Code Rate: 0.48
HARQ ID: 3 (New Tx)
Interpretation (Scheduler View):
UE selected due to high PF metric
Large PRB allocation indicates low cell load or high priority flow
MCS 22 chosen based on reported CQI ≈ 11–12
9.2 gNB Scheduler Internal Log
[DL-SCH] UE=0x046A
CQI=12 AvgThr=18.5 Mbps
InstThr=92 Mbps
PF_Metric=4.97 (MAX)
QoS=5QI-9 (Non-GBR)
AllocPRB=96 MCS=22
This log shows:
PF metric calculation
Comparison across UEs
Final resource decision
9.3 Uplink Scheduling – UE & gNB View
UE Log (BSR + Grant):
[MAC] BSR Triggered
LCG0: 4200 bytes
LCG1: 0 bytes
[MAC] UL Grant
PRBs: 32
MCS: 16
HARQ ID: 5
gNB Log:
[UL-SCH] UE=0x046A
BSR=4200 bytes
PHR=12 dB
PowerLimited=FALSE
AllocPRB=32 MCS=16
Numerical Scheduling Examples (PRB, MCS, BLER)
DL Throughput Example (100 MHz, SCS 30 kHz)
System Parameters:
Bandwidth: 100 MHz
SCS: 30 kHz
Total PRBs: 273
DL Symbols per slot: 12
Scheduler Allocation:
UE allocated: 96 PRBs
MCS: 22 (64QAM, R≈0.48)
TBS Calculation (Simplified):
Bits/RE = 6 (64QAM)
Effective REs ≈ 96 × 12 × 12 = 13824
TBS ≈ 13824 × 6 × 0.48 ≈ 39.8 kbits per slot
If scheduled every slot:
Throughput ≈ 39.8 kb × 2000 slots/s ≈ 79.6 Mbps
BLER Impact Due to Aggressive Scheduling
MCS | Target BLER | Observed BLER | Impact |
20 | 10% | 8% | OK |
22 | 10% | 18% | Retransmissions |
24 | 10% | 35% | Severe HARQ load |
Scheduler Insight:
High BLER → HARQ prioritization
Net throughput drops despite higher MCS
UL Power-Limited Scenario
UE Max Tx Power: 23 dBm
PHR Reported: -2 dB
Scheduler Decision:
Reduce PRBs from 48 → 24
Lower MCS from 18 → 14
Outcome:
BLER reduced from 25% → 9%
Stable UL throughput achieved
Debugging Scheduler Issues Using KPIs
Key KPIs to Monitor
KPI | Indicates |
DL BLER | MCS too aggressive / CQI mismatch |
UL BLER | Power limitation / PHR ignored |
HARQ Retx Rate | Poor link adaptation |
PRB Utilization | Scheduler starvation or overload |
PDB Violations | QoS mis-prioritization |
Common Field Issues & Root Cause
Issue: High throughput but poor user experience
KPI: High HARQ retransmissions
Root cause: Max-CQI bias starving PF fairness
Issue: Cell-edge UE dropouts
KPI: Persistent low PRB allocation
Root cause: PF averaging window too large
Issue: URLLC latency spikes
KPI: PDB violations
Root cause: Pre-emption disabled or misconfigured
Practical Testing Takeaway
In real gNB testing and optimization:
Scheduler issues rarely show as "scheduler errors"
They manifest as BLER imbalance, HARQ overload, QoS violations
Effective debugging always correlates:
UE logs
gNB scheduler traces
PHY KPIs
10. Conclusion
5G NR MAC scheduling is no longer a single algorithm problem—it is a hierarchical decision framework combining QoS awareness, channel adaptivity, latency sensitivity, and fairness control. Real-world gNBs deploy hybrid schedulers, dynamically switching strategies based on traffic mix and network objectives.
11. References
TS 38.321 – MAC
TS 38.214 – Physical layer procedures
TS 38.213 – Resource allocation
https://pdfs.semanticscholar.org/a1cd/aedb309a47384413fa1bdefc52035d57d193.pdf

