Skip to content

Reimplement link adaptation with OLLA#265

Open
rorsc wants to merge 13 commits into
duranta-project:developfrom
rorsc:mac-olla
Open

Reimplement link adaptation with OLLA#265
rorsc wants to merge 13 commits into
duranta-project:developfrom
rorsc:mac-olla

Conversation

@rorsc

@rorsc rorsc commented Jul 3, 2026

Copy link
Copy Markdown
Member

TBD

@rorsc rorsc added the 5G-NR Perform 5G Tests label Jul 3, 2026
@durantabot

Copy link
Copy Markdown
Collaborator

@rorsc rorsc added the retrigger-ci Re-run CI label Jul 6, 2026
@github-actions github-actions Bot removed the retrigger-ci Re-run CI label Jul 6, 2026
rorsc added 4 commits July 6, 2026 12:14
A later commit will need the pointer to MAC, which is present in all
other calls of this function.

Signed-off-by: Robert Schmidt <robert.schmidt@openairinterface.org>
Provide a function to retrieve the equivalent SNR for an existing MCS,
based on the selected MCS table. Currently only adds this for MCS table
0, which will be updated for more tables in the next commit.

Signed-off-by: Robert Schmidt <robert.schmidt@openairinterface.org>
I reran nr_dlsim for various SNR values as in the corresponding comment.
To accelerate this, it is convient to run in parallel:

    parallel -a data-0 --colsep ' ' --results dlsim_mu0_tbl0_mcs{1} -j $(nproc) ./nr_dlsim -n 10000 -q 0 -m 0 -R 25 -b 25 -e {1} -s {2} -S {3} -t 99.99

where data-0 is a file with lines conforming to

MCS SNR0 SNR1
MCS SNR0 SNR1

probably SNR1 is not required.

- suppress warning: it's no problem, it simply means that MCS 0 is not
  enough.

Signed-off-by: Robert Schmidt <robert.schmidt@openairinterface.org>
The changes for OLLA do not foresee a "maximum MCS", and limiting to a
UE-reported, inferred maximum MCS might actually hurt performance,
because the UE's estimate might lower than what the channel actually
supports.

For nrdlbench, set the target MCS by enforcing maximum/minimum MCS to be
the same instead of the upper bound that has been removed.

Signed-off-by: Robert Schmidt <robert.schmidt@openairinterface.org>
@durantabot

Copy link
Copy Markdown
Collaborator

rorsc added 8 commits July 6, 2026 15:20
Implement the link adaptation mechanism based on "outer-loop link
adaptation" as initially presented in [1].  No CQI/SNR taken into
account yet, which will be added in a follow-up commit.

[1] K. I. Pedersen et al. “Frequency domain scheduling for OFDMA with
limited and noisy channel feedback,” in 2007 IEEE 66th Vehicular
Technology Conference. IEEE, 2007, pp. 1792–1796.

Signed-off-by: Robert Schmidt <robert.schmidt@openairinterface.org>
As in the parent commit.

Signed-off-by: Robert Schmidt <robert.schmidt@openairinterface.org>
Use OLLA in UL: while HARQ feedback is disabled, we still have the
result of ack/nack, and we can use this for link adaptation. This is
also necessary for UL, since we only have the open-loop Msg3 estimate,
but do not receive further UL channel estimates. Previously, we used the
PUSCH SNR to estimate MCS, but this is not good as it's directly under
the control of the gNB and maintained at a fixed SNR value, and thus, in
the end only fixes the SNR. The link adaptation here now additionally
adds the Ack/Nack information, which should make the MCS more precise.

Signed-off-by: Robert Schmidt <robert.schmidt@openairinterface.org>
If gNB RRC configuration disables HARQ feedback, this log is quite
spammy. Also, a previous commit enabled this warning, when it was a
LOG_D previously.

Signed-off-by: Robert Schmidt <robert.schmidt@openairinterface.org>
When receiving CQI reports, estimate the equivalent SNR to help the OLLA
loop to converge fast to the real BLER based on target SNR. For SINR,
use it directly from the report. The scheduler applies it as soon as the
report has been received. It is not done in the handler itself as
alternative scheduler implementations might do things differently.

Signed-off-by: Robert Schmidt <robert.schmidt@openairinterface.org>
Check against the policies for minimum/maximum MCS before making
allocations, potentially overriding the MCS chosen by the scheduler
policy.

Signed-off-by: Robert Schmidt <robert.schmidt@openairinterface.org>
@durantabot

Copy link
Copy Markdown
Collaborator

@durantabot

Copy link
Copy Markdown
Collaborator

@rorsc rorsc changed the title Reimplement link adaptation through OLLA Reimplement link adaptation with OLLA Jul 7, 2026
@rorsc rorsc added the retrigger-ci Re-run CI label Jul 7, 2026
@github-actions github-actions Bot removed the retrigger-ci Re-run CI label Jul 7, 2026
@durantabot

Copy link
Copy Markdown
Collaborator

@rorsc rorsc mentioned this pull request Jul 9, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

5G-NR Perform 5G Tests

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants