Reimplement link adaptation with OLLA#265
Open
rorsc wants to merge 13 commits into
Open
Conversation
Collaborator
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>
Collaborator
|
CI Build: #666 | Failed on the following stages: |
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>
Collaborator
|
CI Build: #678 | Failed on the following stages: |
Collaborator
|
CI Build: #681 | Failed on the following stages: |
Collaborator
|
CI Build: #700 | Failed on the following stages: |
Merged
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
TBD