Network Slicing Radio Resource Management

ID 777389
Updated 2/29/2024
Version 1.0.0
Public

author-image

By

Overview

This reference implementation for the Network Slicing xApp uses an AI-based algorithm to determine the amount of radio resources reserved for a network slice for each base station managed by a near-real-time RAN Intelligent Controller (near-RT RIC).The reference implementation is tested in an Edge Native node leveraging Intel® Smart Edge Open Developer Experience Kit (DEK) and providing optimized deployment for the xApp compute-intensive workload.

To run the reference implementation, you will need to first download and install the Intel® Smart Edge Open Developer Experience Kit.

Once you have installed the Intel® Smart Edge Open Developer Experience Kit, select Configure & Download to download the reference implementation and the software listed below.

Configure & Download


                            Open Networking Foundation Software Defined RAN (SDRAN) Version 1.4

                            Network Slicing Radio Resource Management


 

Target System Requirements

Intel® Smart Edge Open Cluster Nodes

  • One of the following processors:
    • Intel® Xeon® Scalable processor.
  • At least 64 GB RAM.
  • At least 256 GB hard drive.
  • An Internet connection.
  • Ubuntu* 20.04.2 LTS Server.

How It Works

Network Slicing Radio Resource Management xApp

A network slice is a logical network (virtualized) comprising network resources provided by multiple network elements set up on common physical infrastructure to serve specific business purposes and fulfill predefined application performance characteristics.

By doing this, the service provider has more flexibility in providing specific services or service environments to different applications and use cases (e.g., mission-critical applications, real-time applications, AR/VR, and immersive media). Mobile operators and service providers can also share the same physical infrastructure with multiple service providers and guarantee the predefined service-level agreement.

Network Slicing Radio Resource Management (NSRRM) is an xApp working with the near-Real-time Radio Access Network (RAN) Intelligent Controller (near-RT RIC). It uses AI-based Time series prediction to determine the amount of radio resource to reserve for a network slice for each base station managed by the near-RT RIC. This version of the NS xApp works with the open-source implementation of near-RT RIC developed by the ONF (SDRAN project).

Figure 1: Integration of NS xApp with nRT RIC

The Open Radio Access Network (O-RAN) specification enables intelligent network functions leveraging AI for automation and efficiency. It also defines a set of use cases that can benefit from RAN Intelligence.

The main contributions of the O-RAN architecture are:

  • Functionality split of central unit (CU), distributed unit (DU) and radio unit (RU)
  • Standardized interfaces between the various units
  • Introduction of RAN intelligent controller (RIC)

The introduction of the RIC allows the xApp developers to leverage AI techniques to work on the network data RIC collects.

The following figure shows the ORAN architecture with distributed controllers.

Figure 2: ORAN Architecture

ONF SD-RAN

Open Networking Foundation SD-RAN Version 1.4 is a platform for 3GPP compliant software-defined RAN and is consistent with the O-RAN architecture. The SD-RAN provides a near-real-time RIC (nRT-RIC) and RAN simulator for simulating the RAN and UE.

The Intel® Smart Edge Open Developer Experience Kit (DEK) is used to deploy the SD-RAN 1.4 release version of the RIC pod, RAN Simulator pod, and Network Slicing Radio Resource Management xApp pod, as shown in the figure below. The NS xApp interacts with the RIC to fetch the network data from the RAN simulator and performs network slicing.

Figure 3: High level Deployment

Intel® Smart Edge Open DEK Enabling Near RT-RIC and xApp

Intel® Smart Edge Open Developer Experience kit (DEK) is built on top of Kubernetes*, a production-grade platform for managing containerized workloads and services. DEK enables diverse optimization for a wide range of services.

Figure 4: SmartEdge Open Edge Node

Supported Features

Subscription for the KPM indications with SDRAN RIC v1.4.129

 - SD-RAN v1.4.129 is deployed on Intel® Smart Edge Open Developer Experience Kit (DEK). It supports the E2SM KPM service model v2.
 - Network Slicing (NS) xApp interacts with the SD-RAN RIC using the Python SDK.

Network Slicing Radio Resource Management

 - The RAN simulator is simulating 1 E2 node in the setup.
 - The RAN simulator v1.4.15 simulates 1 UE across 1 cell. The Model file is part of the ran simulator release.

BigDL Inferencing

 - The NS xApp takes the data volume and timestamp to predict the target rate using Big DL inferencing. Using this target rate, pdcp rate and radio resource utilization it calculates the number of Physical Resource Blocks (PRBs) that must be allocated to the slice to meet the SLA. 

Control request

- The SD-RAN v1.4.129 also supports E2SM RC service model v1.      
- The NS xApp sends these PRB values (slice-level PRB Quota) to the RIC in the form of Control Requests (CR) using the E2SM RC service model to allocate them to the respective slices. 

Get Started

Prerequisites

To run the reference implementation, you will need to first download and install the Intel® Smart Edge Open Developer Experience Kit.

Ensure that the following conditions are met properly to ensure a smooth installation process for a reference implementation done through Edge Software Provisioner (ESP) Intel® Smart Edge Open Developer Experience Kit package.

  1. Hardware Requirements

Make sure you have a fresh ESP Intel® Smart Edge Open Developer Experience Kit installation with the Hardware specified in the Target System Requirements section.

  1. Confirm the steps below were followed for ESP Intel® Smart Edge Open Developer Experience Kit installation:

  • Proxy Settings

If you are behind a proxy network, ensure that proxy addresses are configured in the system.

export http_proxy=<proxy-address>:<proxy-port>
export https_proxy=<proxy-address>:<proxy-port>
  • Ensure the /etc/wgetrc file is configured with required proxy settings as follows:

Note: Use your preferred text editor to edit the file, for example, use the command: sudo vi /etc/wgetrc

https_proxy=<proxy-address>:<proxy-port> 
http_proxy=<proxy-address>:<proxy-port> 
ftp_proxy =<proxy-address>:<proxy-port> 
use_proxy = on
  • Date and Time

Make sure that the date and time are in sync with current local time.

  • Verify that the ssh public key is installed on the system.
  • Verify that a non-root user smartedge-open has been created with password smartedge-open.

Install the Reference Implementation

Select Configure & Download to download the reference implementation and then follow the steps below to install it.

Configure & Download

  1. Make sure that the Target System Requirements are met properly before proceeding further.

    • For single-device mode, only one machine is needed. (Both controller and edge node will be on the same device.)
    • For multi-device mode, make sure you have at least two machines (one for the controller and the other for Edge Node).
    • NOTE: Multi-device mode is not supported in the current release.
  1. Confirm target host is configured with ESP Intel® Smart Edge Open Developer Experience Kit as referred to in the Prerequisites section.

  2. Move the downloaded zip package to /home/<non-root-user> folder:

    mv <path-of-downloaded-directory>/network-slicing-radio-resource-management.zip /home/<non-root-user>

     

  3. Go to /home/<non-root-user> directory using the following command and unzip the RI:

    cd /home/<non-root-user>
    unzip network-slicing-radio-resource-management.zip

     

  4. Go to network-slicing-radio-resource-management directory:

    cd network-slicing-radio-resource-management

     

  5. Change permission of the executable edge software file:

    chmod 755 edgesoftware 

     

  6. Run the command below to install the Reference Implementation:

    ./edgesoftware install 

     

  7. When the installation is complete, you see the message Installation of package complete and the installation status for each module.

     Figure 5: Installation Successful

NOTE: Installation logs will be available at: //var/log/esb-cli/Network_Slicing_Radio_Resource_Management_1.0.0/NetworkSlicingRadioResourceManagement/install.log

  1. If Intel® Smart Edge Open is installed, running the following command should show output similar to the image below. All the pods should be either in the running or completed stage.
    kubectl get pods -A

Figure 6: Pods Status

  1. List the reference implementation deployed module using the following command:

    . /edgesoftware list 

Figure 7: List of Apps

Application Output

The SD-RAN ran simulator will simulate 1 UEs across 1 cells.

  1. Login to the onos-cli pod and run the following commands to view the UEs and cells:

    kubectl exec -it <onos-cli-pod> -n smartedge-apps -- /bin/bash
    onos ransim get ueCount - This shows 1
    onos ransim get ues - This show 1 UE with its RRC states
    onos ransim get cells - This shows 1 cell with the TxDB, Neighbours
    exit

     

Figure 8: UE Information

Figure 9: Cell Information

  1. To check the subscriptions, run the following command inside onos-cli:

    kubectl exec -it <onos-cli-pod> -n smartedge-apps -- /bin/bash
    onos e2t list subscriptions
    exit

     

Figure 10: Subscription Information

  1. Run the following command on the app logs to confirm that the App is sending the control requests:

    kubectl logs <ns-xapp-pod> -n smartedge-apps -c ns-xapp | grep "sending control request"

     

Figure 11: Control Request Logs

The same can be confirmed from the RAN Sim logs that the control requests issued from xApp are reaching the Ran Simulator.

kubectl logs <ran-simulator-pod> -n smartedge-apps | grep "Control Request is received"

Figure 12: Ran Simulator Logs

Uninstallation of the RI

Uninstall the reference implementation module using the following command. Get nsxapp-module-id from the output of ./edgesoftware list command.

Uninstall the reference implementation module using the following command:

. /edgesoftware uninstall <nsxapp-module-id>

Figure 13: Uninstallation Logs

 

 

Summary and Next Steps

The Network Slicing Radio Resource Management App, when deployed on the Intel® Smart Edge Open Developer Experience Kit, creates an impactful Network AI use case that utilizes the capability of Intel® Smart Edge Open Developer Experience Kit and the SD-RAN to determine the amount of radio resource to be reserved for a network slice for each base station managed by the RIC.

Learn More

To continue learning, see the following guides and software resources:

Troubleshooting

Pods Status Check

Verify that the pods are Ready as well as in Running state using the following command:

kubectl get pods -A

If any pods are in ImagePullBackOff state, manually pull the images using:

docker login
docker pull <image-name>

If any pods are not in Running state, use the following command to check the pod failure case:

kubectl describe -n <namespace> pod <pod_name>

Installation Failure

If the Intel® Smart Edge Open Developer Experience Kit installation has failed on pulling the namespace pods like Telemetry, reboot the system. After rebooting, execute the following command:

reboot
su 
swapoff -a 
systemctl restart kubelet (Wait till all pods are in “Running” state.)
./edgesoftware install

Pod Status shows "ContainerCreating" for a long time

If pod status shows ContainerCreating or Error or CrashLoopBackOff for 5 minutes or more, run the following commands:

reboot
su 
swapoff -a 
systemctl restart kubelet (Wait till all pods are in “Running” state.)
./edgesoftware install 

Installation and Debug Log Info File Path

Installation logs are available at path:

/var/log/esb-cli/Network_Slicing_Radio_Resource_Management_1.0.0/NetworkSlicingRadioResourceManagement/install.log

 

Support Forum

If you're unable to resolve your issues, contact the Support Forum. 

Execute the command below to consolidate a list of the log files in tar.gz compressed format, e.g., Network_Slicing_Radio_Resource_Management_1.0.0.tar.gz.

tar -czvf Network_Slicing_Radio_Resource_Management_1.0.0.tar.gz /var/log/esb-cli/Network_Slicing_Radio_Resource_Management_1.0.0/Network