MARATHON (MAnagement of Radio Access neTwork slicing witH multi-applicatiON concurrency)
A quick Tutorial how to compile and start the MARATHON VNFs and Radio Slice Management Function experiment over the WINS_5G testbed using HyDRA
The MARATHON experiment designed and developed a Radio Slicing Management Function (RSMF) that extends the WINS_5G platform with radio slicing management capabilities.
It was conceived to investigate the practical implementation and management of network slicing in 5G systems.
The implementation of the MARATHON experiment consists of five Virtual Network Functions (VNFs) and four USRPs, as illustrated the figure. The VNFs are implemented using Linux Virtual Machines (VM).
Universitat Politecnica de Catalunya (UPC)
MARATHON VNFs from GitHub
The MARATHON VNFs are available at GitHub: https://github.com/annaumbert/Marathon/tree/master/vnfd_ansible
The build script creates all the following VNFD and NS files:
File 6 (marathon_ns.tar.gz) is the basic experiment consisting of a 1 Base Station, 1 Hydra Server and 3 User Equipments.
To execute the build script just type:
The osm script is a simple utilitaria to easen the task of installing, uninstalling, creating, and deleting VNDFs and NSDs.
Type the following command to get a detailed usage of it:
To run the experiment type:
The IP addresses configured at slice.py are:
If the assigned VM IPs are different you must kill the rsmf process, change the IPs and run again with:
sudo python rsmf.py
- From "marathon_vbs" ping the tap interfaces of "marathon_vue1" with IPs 188.8.131.52, and "marathon_vue2" with IPs 184.108.40.206, and "marathon_vue3" with IPs 220.127.116.11.
- From "marathon_vue1" ping the tap0 interface of "vbs", IP 18.104.22.168
- From "marathon_vue2" or "marathon_vue3" ping the tap1 interface of "vbs", IP 22.214.171.124
Access each VM and kill the python process.
- In machine "hydra-server" execute (replace 192.168.5.92 by the ip of iris2):
python ~/gr-hydra/grc_blocks/app/ansible_hydra_gr_server.py --ansibleIPPort 192.168.5.92:5000
- In machine "marathon_vbs" execute (replace 192.168.5.94 by the IP of iris2):
python ~/gr-hydra/grc_blocks/app/ansible_hydra_gr_client_2tx_2rx.py --ansibleIP 192.168.5.94
- In machine "marathon_vue1" execute:
- In machine "marathon_vue2" and "marathon_vue3" execute:
If all processes run correctly, but there is no ping connectivity, a tuning of the gain (mul & mul2) is required. This is due to the USRPs assigned are not always the same, and they have different locations.
A guide to do this can be requested to the Iris Testbed Manager (email@example.com).