Open Radio Access Networks Experimentation Platform Design and Datasets Pre Print
Open Radio Access Networks Experimentation Platform Design and Datasets Pre Print
Abstract—The Open Radio Access Network (O-RAN) Alliance within tight time deadlines. In fact, different works show that
is driving the latest evolution of RAN deployments, moving from resource contention between NFs sharing computing infras-
traditionally closed and dedicated hardware implementations tructure may lead to up to 40% of performance degradation
towards virtualized instances running over shared platforms
characterized by open interfaces. Such progressive decoupling of compared to dedicated platforms [3] This coupling between
radio software components from the hardware paves the road for radio resource allocation and computing requirements poses
future efficient and cost-effective RAN deployments. Nevertheless, new challenges [2].
there are many open aspects towards the successful implemen- Third, RAN virtualization poses a new energy consumption
tation of O-RAN networks, such as the real-time configuration profile compared to traditional BSs that operate with dedicated
of the network parameters to maximize performance, how to
reliably share processing units among multiple virtualized base hardware [4]. The energy consumption of vBSs not only
station (vBS) instances, how to palliate their energy consumption, depends on the network state (e.g., traffic load, SNR), but
or how to deal with the couplings between vRANs and other also on the general-purpose hardware (e.g., CPU/GPU) and
services co-located at the edge. Intending to shed light on these the software implementation of the radio stack.
aspects, in this article, we showcase the design principles of an O- Finally, when considering AI services running at the edge
RAN compliant testbed, and present different datasets collected
over a wide set of experiments, which are made public to foster
of the network, both the edge and network configuration are
research in this field. intertwined [5]. That is, the configuration of the edge services
(e.g., QoS) and the network (e.g., channel capacity) jointly
Index Terms—O-RAN, vRAN, RAN Intelligent Control.
impact both service performance and power consumption of
the whole system. Therefore, evaluating and orchestrating the
I. I NTRODUCTION system at once, although challenging, can bring global benefits
The O-RAN Alliance is a joint effort in the mobile industry in terms of performance and energy.
to redesign the future Radio Access Network (RAN) technolo- To shed light on these aspects, we present an O-RAN
gies [1]. The key principles are threefold: (i) intelligent RAN testbed that provides a prototypical environment to experiment
control at different timescales to foster innovation; (ii) open with different network settings and evaluate machine learning
interfaces between control-plane components and network (ML) solutions to the above problems. Using this testbed,
functions to break the traditional vendor lock-in; and (iii) we collect three datasets aimed at contributing to different
virtualization to improve flexibility and reduce costs. relatively-unexplored aspects of O-RAN. The datasets are
However, the advent of O-RAN raises novel technical chal- publicly available at [6] and are described as follow:
lenges. First, the higher level of flexibility comes at the cost of • Computing dataset characterizes the computing usage of
less predictable performance and computing resource demand. vBS as a function of several contextual (e.g., traffic load,
In contrast to the traditional hardwired base stations (BSs), the channel quality) and configuration (e.g., MCS, CPU time)
computing resources needed by a virtualized BS (vBS) vary parameters. We also evaluate the effect of several vBS
with the context, including network load, the modulation and instances sharing the same platform [2].
coding scheme (MCS) used, channel quality, etc. The mapping • Energy dataset measures the energy consumption of a
between this high-dimensional set of parameters and the vBS as a function of a wide range of parameters (e.g.,
requirements for computing resources or energy consumption MCS, airtime, computing platform, bandwidth). The en-
is very complex and hard to predict [2]. ergy measurements are taken in parallel using software
Second, virtualizing RAN functions over a shared infras- tools and an external digital power meter [4], [7].
tructure can provide high flexibility and cost efficiency, but the • Application dataset considers an AI service running in an
overhead introduced when contending for a shared resource edge server. It characterizes at the same time the service
compromises reliability to execute signal processing tasks performance and the consumed energy of the vBS and
edge server as a function of their joint configuration [5].
J. X. Salvat, J. A. Ayala, L. Zanzi, and A. Garcia-Saavedra are with NEC These datasets are the result of the study of different
Laboratories Europe GmbH, Heidelberg, Germany.
X. Costa-Pérez is with NEC Laboratories Europe GmbH, Heidelberg, problems addressed in our previous work. In particular, [2]
Germany, and i2CAT Foundation and ICREA, Barcelona, Spain. proposes a deep reinforcement learning approach to allocate
The work was supported by the European Commission through Grants No. the computing resources of a virtualized RAN (vRAN). In [7],
SNS-JU-101097083 (BeGREEN) and 101017109 (DAEMON). Additionally,
it has been supported by MINECO/NG EU (No. TSI-063000-2021-7) and the the energy consumption of the uplink is studied and charac-
CERCA Programme. terized using an analytical model. In [4], a Bayesian learning
2
9 vRAN Operator
Dashboard
4 Service Management
3 vRAN shared Compung & Orchestrator (SMO)
plaorm (O-Cloud) O-cloud Mgmt AI/ML Lifecycle mgmt. of
&
Engine di erent instances
1 2 xApp Orchestration
Near-RT RIC xApp rApp
Retrieve Time-series
xApp Non-RT RIC rApp
metrics database
rApp
Virtual vBS Instances
vBS vBS vBS vBS 8
1 2 3 N Push radio and
compung policies Monitoring
purpose. In other scenarios, this server hosts edge AI services. C. Per-flow Metrics
In our experiments, we select an object recognition service We gather per-flow metrics of the different traffic gen-
due to its popularity in computer vision applications (e.g., erated/received by UEs to/from the application server by
vehicle navigation, surveillance systems, mobile health, etc.) using IP tables packet and byte counters. Upon starting a
and high resource demand (GPU processing is required). In new UE and its traffic generator or application instance, we
particular, we deployed detectron2, an open-source object add two new tables to each container’s IP tables, namely
recognition software. In our experiments with the edge service, TRAFFIC_ACCT_IN and TRAFFIC_ACCT_OUT, to track
the UE sends an image from the well-known COCO dataset, traffic into the INPUT and OUTPUT directions. We add
and the server replies with the bounding boxes and labels dedicated rules to match the IP addresses of the UE and
computed by detectron2. Both the traffic generators and the application and obtain the cumulative count of packets
the edge AI services are deployed using Docker containers. and bytes hitting these rules, saving them into a file that is
periodically read by Telegraf.
IV. M ETRICS AND DATA S TORAGE
To gather monitoring metrics from the vRAN platform and D. Energy Consumption Metrics
the O-Cloud, we use an O-RAN compliant monitoring system.
We use software tools and an external digital power meter
The near-RT RIC subscribes to the O-RAN components de-
ployed so that it retrieves the different radio metrics through 7 to measure the energy consumption of different testbed
the E2 interface [14]. Afterward, the near-RT RIC passes the components. In particular, for the software energy measure-
data using the A1 interface to the non-RT RIC. We developed ments of vBSs, we use Intel’s Running Average Power Limit
an rAPP to push data coming from the different vBS into (RAPL) functionality using the Linux tool turbostat.
the time-series database. Moreover, the SMO can set up RAPL estimates the power consumed by the CPU by using
performance management (PM) jobs to gather metrics from hardware performance counters and I/O models. Similarly, we
the O-Cloud platform, mobile core, and edge server. We use obtain the GPU power consumption using the NVIDIA driver
Telegraf and its file extension as a metric agent collector via nvidia-smi.
to gather the data from all the PM jobs and send it to the time- Note that software measurements only consider the main
series database periodically. To ease the final processing of processing unit (CPU or GPU). In contrast, hardware measure-
multi-host data sources, we keep clock synchronization of all ments capture the entire platform’s power (e.g., CPU, GPU,
hosts by using the Precision Time Protocol (PTP). To store the motherboard, RAM memory, etc.) and the radio head. We use
monitoring metrics database, we use InfluxDB time-series the digital power meter GW-Instek GPM-8213 along with the
database. We also use Grafana to visualize data in real- GW-Instek Measuring adapter GPM-001 to retrieve this data.
time. In the following, we present a complete description of These measurements are collected by the edge application
the metrics that can be collected from our testbed. server via an SCPI interface and saved into a file to be read
by Telegraf.
A. Computing Metrics
E. Radio Control Policies
The computing utilization for the vBS Docker instances
deployed in the computing pool can be gathered by using The vRAN orchestration algorithms can enforce different
a PM job that periodically reads the information in /proc radio policies on vBSs. As shown in related works using this
filesystem (for each thread and in each container), and returns testbed [2], [5], [4], [15], [7], the use of different radio policies
the computing utilization for each computing core in use. The is fundamental, for example, to balance energy consumption
scripts save the information to a JSON file, which can be and performance or to adapt to the available computing
easily read and processed by Telegraf, enabling xApps and resources. We use the E2 O-RAN interface to control the
rApps access to this information. Furthermore, we also use following radio parameters dynamically:
the kernel tool perf to measure low-level metrics for each • Modulation and Coding Scheme: upper-bound and fixed
container, such as the number of cache misses, the number of values. This radio policy is used in [2], [4], [5], [7] to
core cycles, and the number of instructions. set the available computing resources.
• Transmission Gain: to evaluate different SNR patterns or
TABLE I
R ELEVANT FIELDS IN C OMPUTING , ENERGY , AND APPLICATION DATASETS [6].
A. Computing Dataset Description mcs dl i, mcs ul i, dl kbps i, ul kbps i and cpu set i define
the context of a vBS i, which represent the instantaneous DL
This dataset relates to the research activities published in [2] MCS index, UL MCS index, the traffic demand in downlink
and considers the instantiation of a different number of vBSs and uplink (in kbps), and the CPU core set configuration. The
over the same computing platform. With reference to Fig. 2, measurements for the i-th computing core are provided by the
we adopted the components 1 , 2 , 3 , 4 , 5 , 6 , column cpu i. Finally, when column explode takes the value
8 and 9 . The vBSs are instantiated in specific CPU core True, it indicates that the traffic demand has not been served
sets with different time-sharing allocations. Each vBS has correctly, which is correlated to the lack of computational
an associated context, composed of the traffic demands and resources. Conversely, when explode is set to False the traffic
statistics about the used MCS for both UL and DL. We remark is served successfully. Table I (left) summarizes the above.
that different network parameters (e.g., the MCS index) have
impacts on the CPU load, mainly due to coding/decoding B. Energy Dataset Description
workloads. We run a 20-second experiment for each row in
the dataset with a specific context, and evaluate the impact This dataset used in [4], [7] aims to characterize the
(and cross-interference) of the processing workload across the power consumption of a vBS. These experiments adopted
running instances. The resulting per-core CPU utilization is the same components presented in the previous scenario, with
the average of the samples collected every 200 ms. the addition of the power meter 7 . The main configuration
parameters, shown in Table I (middle), are related to the traffic
We collected two sets of data. The measurements in
load, SNR, MCS, and airtime in both DL and UL. Note that,
datasets unpinned directory consider the default Linux CPU
to measure different SNR values, we modify the transmission
scheduler policy. It allocates CPU resources in an unrestricted
gain of the USRPs.
manner and, therefore, the workloads of different vBSs share
The dataset comprises two files. The file dataset ul.csv only
CPU cores. We consider heterogeneous deployment cases,
considers UL traffic [7], while in dataset dlul.csv considers
spawning from one to five concurrent vBS instances. The
both concurrent UL and DL traffic loads [4]. Each row
measurements in datasets pinned directory are collected with
corresponds to 1 minute execution of a fixed configuration.
a set of CPU cores dedicated to each vBS instance (i.e., CPU
The most important metrics in the dataset are shown in the
pinning) that provides isolation between vBS workloads. In
bottom part of Table I. We measure the consumed power
particular, we deploy two vBS instances and consider two
via software (RAPL) and hardware (digital power meter), as
different pinning options: (i) pin one vBS to core 1 and
explained in Sec. IV. We also measure the block error rate
the second vBS to core 2, and (ii) we change the pinning
(BLER) and the throughput. Other interesting metrics in the
configuration of the second vBS to core 5. In this way, we can
dataset are the average decoding time of the uplink transport
compare the computing utilization when L1 and L2 caches are
blocks, the clock speed of the CPU in the computing platform,
shared or not.
and the buffer state of the UE and vBS.
Second, we deploy four vBSs and carry out a similar
experiment. In the first case, we pin the vBSs to cores 1,
2, 3, and 4, respectively. In this way, vBSs have the L1 and C. Application Dataset Description
L2 caches isolated. In the second experiment, we pin them in In this dataset, used in [5], we consider the scenario of a mo-
cores 1, 5, 2, and 6, respectively. In this scenario, there is L1 bile user accessing an AI service running in an edge server, and
and L2 cache isolation between the sets of vBSs 1,2 and 3,4, measure how the joint configuration of the vBS, AI service,
but there is no cache isolation between the vBSs 1 and 2, and and the edge server settings impact the power consumption and
3 and 4. The dataset contains the following metrics. Columns service performance. To launch these experiments we deploy
6
Josep Xavier Salvat received his Ph.D. from the Technical University of
Kaiserslautern in 2022 and he currently works as a senior research scientist in
the 6G Network group at NEC Laboratories Europe, Heidelberg. His research
interests lie in the application of machine learning to real-life computer
communications systems, including resource allocation and energy efficiency
problems.
Jose A. Ayala-Romero received his Ph.D. degree from the Technical Uni-
versity of Cartagena, Spain, in 2019. Currently, he is a senior researcher with
the 6G Network group at NEC Laboratories Europe. His research interests
include the application of machine learning and reinforcement learning to
solve mobile network problems.
Lanfranco Zanzi received his Ph.D. degree from the Technical University
of Kaiserslautern (Germany) in 2022. He works as a senior research scientist
at NEC Laboratories Europe. His research interests include network virtual-
ization, machine learning, blockchain, and their applicability to 5G and 6G
mobile networks in the context of network slicing.