top of page

5G NR MAC DL/UL Scheduling Algorithms

  • Writer: Venkateshu Kamarthi
    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:

  1. Who can transmit well now?

  2. 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:

  1. Check URLLC queues first

  2. Then serve GBR flows to maintain guaranteed rate

  3. 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.

  1. UE detects UL data arrival

  2. UE immediately transmits on the pre-configured PUSCH

  3. 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

 

  1. 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.

 

  1. 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”

 

  1. 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.

 

  1. 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.

 

  1. 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

  1. Issue: High throughput but poor user experience

    • KPI: High HARQ retransmissions

    • Root cause: Max-CQI bias starving PF fairness

  2. Issue: Cell-edge UE dropouts

    • KPI: Persistent low PRB allocation

    • Root cause: PF averaging window too large

  3. 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


 

bottom of page