This repository provides an energy optimization infrastructure for OAI5G-Radio Access Network (RAN) environment.
It integrates various components including performance-aware Energy Saver (paES) rApp and O1/VES adapters to create a modular, testable energy optimization stack aligned with O-RAN and SMO frameworks.
The paES rApp monitors UE activity and manages gNB cell/RU transitions between sleep and active states via the O1 interface.
This repository integrates the following Git submodules:
| Submodule | Description |
|---|---|
smo-ves |
VES (VNF Event Stream) collector for SMO events |
smo-o1 |
O1 interface handler for managing RAN elements |
o1-adapter |
Adapter layer for O1 interface communication |
openairinterface5g |
Fork of OpenAirInterface 5G stack for RAN testing |
paES-rApp |
rApp focused on performance-aware energy optimization in RAN |
$ git clone https://github.com/Energy-optimization/Energy-optimization#
$ cd Energy-optimization
Follow the official OAI installation guide for complete build instructions.
Quick Start Example:
$ cd openairinterface5g
$ sudo apt update
$ sudo apt install -y build-essential cmake libboost-all-dev
Then follow the instructions in `openairinterface5g/README.md`.
To run the gnb config file along with telnet-o1 server, use the below command
$ sudo ./nr-softmodem -E -O ../../../targets/PROJECTS/GENERIC-NR-5GC/CONF/gnb.sa.band78.fr1.106PRB.usrpx310.conf --sa --telnetsrv --telnetsrv.shrmod o1
$ cd o1-adapter
- To install using Docker:
$ ./build-adapter.sh --adapter
- To configure and run the O1 adapter with the NetConf server:
$ ./start-adapter.sh
$ cd smo-o1
Install and run the SDN controller:
$ ./sdnr.sh
$ cd smo-ves
Follow the official documentation:
📎 https://github.com/o-ran-sc/smo-ves
This includes installation of:
- VES Collector
- InfluxDB Connector
- Grafana
- Additional dependencies
$ cd performance-aware-rApp
Run the Python script to transition the RU into a sleeping state:
$ python3 performance-aware-rApp.py
Power consumption results are included in `docs/power_measurements.xlsx`.
