Skip to content

A 3-part lab for network modeling and dynamic resource scaling using AI

Notifications You must be signed in to change notification settings

sulaimanalmani/5GDynamicResourceAllocation

Repository files navigation

Overview

This repository contains jupyter notebooks demonstrating how to perform dynamic resource scaling for 5G network slices using the vNetRunner and MicroOpt frameworks.

The notebooks are designed to run in a JupyterLab environment. To get started, please follow the instructions below:

Set up repository and environment

Clone the repository to your local machine:

git clone https://github.com/sulaimanalmani/5GDynamicResourceAllocation.git
cd 5GDynamicResourceAllocation/

Create a new python environment:

sudo apt-get -y install python3-pip
sudo apt-get -y install python3-venv
python3 -m venv ~/myenv
source ~/myenv/bin/activate

Install the required python packages by running these one by one:

pip install -r requirements.txt

Download and extract the resource allocation dataset:

git clone https://github.com/sulaimanalmani/net_model_dataset.git
cd net_model_dataset
sh extract_data.sh
cd ../

Launch JupyterLab:

jupyter lab

Once you have launched JupyterLab, it will open a new tab in your default browser. You can also access the interface by clicking the link in the terminal. The link will be in the following format:

http://127.0.0.1:8000/?token=<token>

For more information on JupyterLab, you can refer to the JupyterLab documentation.

Accessing the jupyter notebooks

We have divided this session into three notebooks:

  1. P1-WorkshopNotebook.ipynb: In this notebook, we will be exploring and visualizing our resource allocation dataset gathered from the in-lab 5G testbed.
  2. P2-WorkshopNotebook.ipynb: In this notebook, we will be using the datasets to train VNF models using the vNetRunner framework. Subsequently we will be using the trained VNF models to compose end-to-end slice models.
  3. P3-WorkshopNotebook.ipynb: In this notebook, we will be using the MicroOpt framework to perform dynamic resource scaling.

Please read the tips section below, and then proceed to open each of the notebooks in order in the JupyterLab (as shown below) interface and follow the instructions in the notebook to complete the exercises.

jupyter_interface

Tips and Tricks

Press the Run button in the toolbar or use Ctrl + Enter to execute the code in a cell.

Double-clicking a markdown cell will reveal its code. Press Ctrl + Enter to execute the code in the cell and display the rendered markdown again.

Use the sidebar on the left to navigate the file structure and explore the dataset.

About

A 3-part lab for network modeling and dynamic resource scaling using AI

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published