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