onos-mlb
The xApplication for ONOS SD-RAN (µONOS Architecture) to balance load among connected cells
Overview
The onos-mlb is the xApplication running over ONOS SD-RAN to balance the load among connected cells.
For the load balancing, this application adjusts neighbor cells’ cell individual offset (Ocn).
If a cell becomes overloaded, this application tries to offload the cell’s load to the neighbor cells that have enough capacity.
Adjusting neighbor cells’ Ocn triggers measurement events; it triggers handover events from a cell to it’s neighbor cells.
As a result, by adjusting Ocn, the load of overloaded cell will be offloaded to the neighbor cells.
Limitation
As of now, onos-mlb application only supports the scenario where an E2 node manages only a single cell.
It does not support the E2 node that controls multiple cells.
Algorithm description
To begin with, onos-mlb defines each cell’s load as the number of active UEs, not considering other factors yet.
If a cell services the most active UEs, the onos-mlb application considers that the cell suffers from the heaviest load.
Then, this application defines two thresholds: (i) overload threshold and (ii) target threshold.
A cell with the load that exceeds the overloaded threshold is an overloaded cell.
On the other hands, a cell with the load that is less than target threshold has enough capacity.
With the above definition, there are two conditions.
(1) if a cell’s load > overload threshold and its neighbor cell’s load < target threshold, the xApplication increases Ocn of the neighbor cell.
(2) if a cell’s load < target threshold, the xApplication decreases all neighbors’ Ocn.
The increased Ocn makes the measurement event happening sensitively, which brings about more handover events happening to move some UEs to the neighbor cells, i.e., offloading.
On the contrary, the measurement events happen conservatively with the decreased Ocn; it leads to the less handover events happening to avoid neighbor cells overloaded.
The described algorithm runs periodically. By default, it is set to 10 seconds.
The Ocn delta value (i.e., how many the application changes Ocn value) is configurable. By default, it is set to 3 to 6.
Interaction with other ONOS SD-RAN micro-services
Unlike other xApplications such as onos-kpimon and onos-pci, onos-mlb xApplication does not make a subscription with a specific service model.
In order to monitor cells, it uses onos-uenib and onos-topo.
Basically, onos-kpimon and onos-pci store the number of active UEs and cell topology to onos-uenib.
In addition, onos-e2t stores the basic cell information to onos-topo.
onos-mlb just periodically scrapes onos-uenib and onos-topo.
Then, it runs the algorithm with the scraped information as inputs.
After deciding each cell’s Ocn values, onos-mlb sends the control message to the E2 node.
This control message is encoded with RC-Pre service model.
Command line interface
Go to onos-cli and command below for each purpose.
onos-cli-594848b59d-dr6bv:~$ # to see Ocn values for each cell
onos-cli-594848b59d-dr6bv:~$ onos mlb list ocns
sCell node ID sCell PLMN ID sCell cell ID sCell object ID nCell PLMN ID nCell cell ID Ocn [dB]
5153 138426 1454c001 87893173159116801 138426 1454c002 0
5153 138426 1454c001 87893173159116801 138426 1454c003 6
5154 138426 1454c002 87893173159116802 138426 1454c001 0
5154 138426 1454c002 87893173159116802 138426 1454c003 6
5155 138426 1454c003 87893173159116803 138426 1454c001 -6
5155 138426 1454c003 87893173159116803 138426 1454c002 -6
onos-cli-594848b59d-dr6bv:~$ # to see mlb parameters
onos-cli-594848b59d-dr6bv:~$ onos mlb list parameters
Name Value
interval [sec] 10
Delta Ocn per step 3
Overload threshold [%] 100
Target threshold [%] 0
Set parameters:
onos-cli-594848b59d-dr6bv:~# to change mlb parameters
onos-cli-594848b59d-dr6bv:~$ onos mlb set parameters --interval 20
onos-cli-594848b59d-dr6bv:~$ onos mlb list parameters
Name Value
interval [sec] 20
Delta Ocn per step 3
Overload threshold [%] 100
Target threshold [%] 0