This page explains the behavioral specification and usage of the fairRR scheduler and multiple UEs extensions in OAI-eNB.
fairRR scheduler
The scheduler processing is described in "eNB_scheduler_fairRR.c".
Downlink UE selection : Define the following priority
RB allocation : Allocate the RBGs to the selected UEs
How to use fairRR scheduler
Configuration file is changed the MAC scheduler mode to "fairRR".
MACRLCs = ( { num_cc = 1; tr_s_preference= "local_L1"; tr_n_preference= "local_RRC"; scheduler_mode= "fairRR"; } )
Multiple UEs extensions
The fairRR scheduler can expand the number of connected UEs from 16UEs to 256UEs.
By adding "--mu" compile option when building the OAI-eNB, the UE_EXTENSION option is enabled, the addition of scheduler parallel processing and the NUMBER_OF_UE_MAX is 256.
ex) ./build_oai -c -x -w USRP --eNB --mu
scheduler parallel processing
In order to continue real-time processing, the scheduler is worked in parallel threads.

Changing the maximum number of UEs
The number of UEs defined in "openairinterface5g_limits.h" switch to 256.
Precautions for using "--mu"
For current OAI-eNB software architecture, more memory is required depending on the number of UEs.
256UEs requires about 32GB of memory.
So, adjust the following values according to the required number of UEs and the machine specs to be used.
define NUMBER_OF_UE_MAX 256.
define MAX_MOBILES_PER_ENB 256 or define NUMBER_OF_UCI_VARS_MAX 256.

