OCUDU Performance Tuning
This tutorial does not cover machine-specific configuration steps (e.g., BIOS settings) or the installation and fine-tuning of real-time Linux kernels.
Introduction
This tutorial provides a step-by-step guide to tuning a Linux-based machine for maximizing the performance of OCUDU. While optimal performance of OCUDU may require additional machine-specific fine-tuning, the recommendations outlined here are designed to meet the needs of most users.
TuneD
The approach to performance tuning outlined here utilizes TuneD, a system tuning service for Linux that uses udev to monitor connected devices and
dynamically adjust system settings according to user-definable profiles. TuneD provides both static and adaptive tuning capabilities, allowing users to optimize
the performance of the system for specific workloads or environments. For that, the user-definable profiles, amongst others, can include GRUB
command-line arguments, CPU tuning parameters and sysf-exposed kernel parameters (e.g. kobject).
Installation
The TuneD tool can be installed with the following commands:
sudo apt install tuned
sudo ln -s /boot/grub/grub.cfg /etc/grub2.cfg
Once installed, edit /etc/grub.d/00_tuned and add the following line at the end of the file:
echo "export tuned_params"
Tuning profile
Custom profiles can be created to optimize the system performance according to user-specific requirements. It is advised to base those on
pre-existing real-time profiles (e.g., /usr/lib/tuned/realtime/tuned.conf). As part of this tutorial you can download a custom srsRAN tuning profile,
aimed at optimizing the gNB performance:
To use the tuning profile we recommend creating a new folder inside /usr/lib/tuned/ and copying both files above to it
(e.g., /usr/lib/tuned/ocudu/). We also recommend users open the tuning profile and inspect its contents, as extensive in-line comments have been
added to explain the selected choices. Once the files are copied, please make sure that the script is executable:
sudo chmod +x /usr/lib/tuned/ocudu/startup.sh
Before activating the srsRAN tuning profile you need to make sure that (in case it is installed) the power-profiles-daemon is disabled:
sudo systemctl stop power-profiles-daemon.service
sudo systemctl disable power-profiles-daemon.service
The OCUDU tuning profile can be activated with the following command:
sudo tuned-adm profile ocudu
The current active tuning profile can be checked at /etc/tuned/active_profile or with the following command:
tuned-adm active
We recommend configuring the TuneD service to automatically start at system startup. You can do this with the following command:
sudo systemctl enable tuned.service
Finally, the machine must be rebooted in order for the modified GRUB arguments to be applied.