Energy Efficient SDN and SDR Joint Adaptation of CPU Utilization Based on Experimental Data Analytics
Abstract
In this paper we propose a hybrid softwarized architecture of Network Function Virtualization (NFV) where Software-Defined Networking (SDN) and Software-Defined Radio (SDR) components are integrated to form a cloud-based communication system. We analyze CPU utilization and power consumption in the OpenIreland testbed for different parameter settings and use case scenarios of this NFV architecture. The experiment results show different behaviour between SDN data plane switching and SDR in terms of CPU utilization and parallelization, which provides insights for processing aggregation and power savings when integrating them together in a cloud-based system. We then propose a power saving scheme with flexible CPU allocation that can reduce the overall power consumption of the system. Our results show that our proposed NFV architecture and its power saving scheme can save up to 20% power consumption compared to conventional scheme where SDN and SDR are separately deployed.
Index Terms:
CPU, power saving, NFV, SDN, SDRI Introduction
NFV technologies are being proposed to be used broadly in next-generation networks, especially in cloud-based network architecture, e.g. Multi-Access Edge Computing (MEC), Internet of Things (IoT), etc [1, 2]. The softwarization and virtualization of the network functions enables the opportunity for cloud technologies being embedded in the NFV. SDR and SDN play important roles in next generation wireless and wired networks, as together they can enable unprecedented flexibility in capacity allocation and service differentiation [3]. However, these are conventionally deployed separately (i.e., in different servers), which can lead to suboptimal use of resources. In this paper we investigate the power consumption of the two technologies and propose power saving methodologies, based on the coexistence of the two paradigms on the same group of CPU cores. Our previous work [4] proposed a power saving strategy based on reinforcement learning by dynamically adding and reducing CPU cores for SDN and SDR. However, in that work the parameter settings of the active-reward pairs are assumed with normalized values. In this paper, we go deeper into the power consumption and CPU utilization by carrying out extensive testbed measurements, collecting and analyzing data of a real cloud-based system for SDN and SDR in the Trinity College Dublin OpenIreland testbed [5].
There are other works related to our work. For instance, authors in [6] presented an experimental study of power consumption of virtualized base stations (vBSs), investigating its relationship with performance. However, they do not investigate SDN or power saving schemes. Authors in [7] proposed a dynamic resource allocation scheme in Software-Defined-Radio Access Networks based on statistical evaluations. However, they focus on allocation of radio resources rather than CPU computational resources. Authors in [8] studied several types of functional splits in the NFV of a dual-site network in Virtualized Radio Access Networks with SDR. The paper investigated the combined optimization of the power consumption and the mid-haul bandwidth of the functional splits. However, there was no real testbed measurements involved in the paper. Authors in [9] solved an optimization problem to minimize the power consumption of SDN by Integer Linear Programming and routing constraints, however there was no testbed measurement or experiment involved either. Based on the investigation of related works, the contribution of our paper can be summarized as follows.
- •
- •
The results of our work show different CPU utilization features for SDN and SDR which enables the feasibility of power savings of an integrated CPU deployment of these two important NFV functions. Our power saving scheme can save up to 20% power consumption compared to the approach where SDN and SDR are deployed separately.
We propose an MEC as an example for a use case of SDN and SDR integrated architecture, as shown in Figure 1. This architecture can be for example adopted in systems for inter-vehicle communications [10]. The architecture is all software-defined and network functions are virtualized. As the two major network functions for this architecture, SDN and SDR functions are integrated in the edge servers (i.e. MEC nodes). Vehicular networks are illustrated at end user side. Inside the MEC nodes, SDN switches, eNodeB BaseBand Units, 4G/5G core function, and computational resources for MEC tasks utilize the same group of servers. In this paper, we focus on the integration of the communication part, i.e., SDN and SDR components.

II CPU utilization in NFV
In this section we investigate the CPU utilization for two Virtual Network Functions, SDN and SDR, through testbed measurements and data analysis.
II-A CPU utilization in SDN
In order to characterize the CPU utilization of SDN functions we have investigated multiple bandwidths options in a linear topology. The measurements focus on the data plane, i.e. the CPU consumption of Open vSwitches (OVS switches), and hosts.

Fig. 2 shows our experimental set up of SDN CPU utilization measurement. We use the Mininet simulator [11] for SDN and two separate virtual machines (VMs) for hosting the control plane (SDN controller) and the data plane (OVS switches and hosts), respectively. The command is used for monitoring the CPU utilization at the data plane. We use UDP data transmission tool integrated in the Mininet to simulate the data transmission. We measure the CPU utilization of the OVS switches and hosts for the data plane (in the Mininet virtual machine) in different data transmission rates. In the testing scenario of linear topology, we set up 5 OVS switches with one host attached to each switch, and the data transmission is from the host on the left end to the host on the right end, i.e. the route traverse 5 OVS switches. We use the Linux application to generate data transmission in Mininet. We use 2 CPU cores to host the data plane and use program in Linux to measure the CPU utilization. The CPU model we use for SDN experiment is Intel Core [email protected]. is a Linux command to monitor system resource utilization [12]. The results are shown in Fig. 3, which is a boxplot with data plots in red dots. For each data transmission rate we have measured 20 data points. As the transmission rate increases from 100kbps to 10Gbps (logarithmic scale), the CPU utilization appears to increase in a linear scale, with mean value increasing from 20% to 175%. Note that we are using virtual SDN switches here implemented by virtual machines, thus the CPU utilization is affected by the CPU processing capacity. The overall CPU utilization should lower for the same data rate if we use more powerful CPUs.

II-B CPU utilisation in SDR
Next, we measure the CPU utilization for an SDR with different parameter settings. We use srsRAN [13] to build a software LTE base station, whose RF runs in a USRP B210. The OpenIreland testbed is located at the CONNECT centre, in Trinity College Dublin (whose SDR part is shown in Fig. 4).

We have measured CPU utilization for scenarios involving use of different bandwidth and Physical Resource Blocks. Table I shows the results of 50 PRBs for the LTE eNodeB (our CPU is not powerful enough to carry out 100 PRB experiments without down sampling the wireless signals in the signal processing phase of SDR). We have used the Linux application for both UDP and TCP packet transmission tests. The CPU utilization in the table is the mean value taken from 20 experimental data points. The results show that the CPU utilization increases when bandwidth settings for data transmission increases. The real throughput measured in the air is limited around 20 Mbps, and the CPU utilization is limited around 85%-90%. For this reason, also the packet loss for UDP and number of retries for TCP both start to increase when bandwidth setting increases beyond 20Mbps. Please note that we were using 16QAM as the modulation and coding schemes to carry out the experiments, therefore it is not able to reach the maximum throughput of 64QAM. The CPU model we use for SDR experiment is Intel NUC [email protected]. Our CPU is not powerful enough for high modulation of 64QAM without down sampling the wireless signals in the signal processing phase of SDR.
Table II shows the results for the case of 25 PRBs. 16 QAM is again used in this scenario and the real throughput caps at around 10 Mbps. The CPU utilization in the table is also the mean value taken from 20 experimental data points. We can observe that the CPU utilization caps at around 60% - 65% percent. This is lower compared to the 20Mbps throughput using 50 PRBs, which means that in this 25 PRB scenario the full potential of the CPU processing is not reached. The data rate and CPU utilization are both constrained by the lower PRB numbers and low order of modulation and coding schemes.
PRB 50 TCP UDP Bandwidth setting (Mbps) Real Throughput (Mbps) CPU utilization (%) Number of Retries Real Throughput (Mbps) CPU utilization (%) Packet Loss 1 1 28.5 0 1 29.8 0 5 5 68.3 0 5 49 0 10 9.8 73.4 0 10 62.8 0 15 14.6 76.3 0 15 74.2 0 20 19.3 87.1 0 20 84.7 0 25 21.2 90.3 36 20.6 86.6 16 30 21.2 90.3 58 20.6 86.1 30 35 21.1 90.8 44 20.3 86 41 40 21.1 90.9 30 20.6 86.6 48 45 21.1 90.9 31 20.1 86 54 50 21.2 90.4 40 20.1 85.1 59 100 21.2 90 50 19.5 86.7 80
PRB 25 TCP UDP Bandwidth setting (Mbps) Real Throughput (Mbps) CPU utilization (%) Number of Retries Real Throughput (Mbps) CPU utilization (%) Packet Loss 1 1 42.1 0 1 37.4 0 5 4.99 50.3 0 4.99 51 0 10 9.46 61.1 54 9.13 62.3 8.1 15 9.46 64.4 58 9.03 60.1 39 20 9.46 63.1 57 8.92 63.3 55 25 9.46 64.1 54 8.82 63.1 64 30 9.46 63.7 58 8.74 63.1 71 35 9.46 65 53 7.71 63.3 78 40 9.46 61.7 59 7.48 62.9 81 45 9.47 59.5 58 7.21 62.1 84 50 9.46 63.6 58 6.54 63.3 86
III Power Saving Methods
In this section we investigate the power saving methods for the proposed MEC and NFV architecture by dynamically allocating different number of CPUs to SDN and SDR processes.
III-A Dynamic CPU allocation and process parallelisation
In our cloud system, we propose to use the same group of CPU cores for SDN and SDR. We investigate the parallelization features by switching from one CPU core to two CPU cores for one process of SDN or SDR, using the Linux system command in and for adding/reducing CPU cores. We measure the CPU utilization for the same process running on one CPU core or on two CPU cores after one CPU is added to the virtual machine.
III-A1 SDN testing
We use Mininet to create an SDN-controlled experimental virtual network and use to transmit 500GB of data, with 10Gbps bandwidth in a single link on different CPU number systems. We use Linux command to measure the CPU utilization during our experiment. We monitor the CPU utilization rate during the transmission. When we use two CPUs to process the same SDN task, the task appears to be parallelized on the two CPUs, with a sample screenshot shown in Fig. 5. We collect more samples (100 data points measured) of the CPU utilization to draw the box plots of the samples in Fig. 6. The results show that SDN data plane switching processes are usually multi-threaded and can be parallelized.


III-A2 SDR testing
In this subsection, we use srsRAN to create an experimental virtual network for SDR and use to transmit with 10Mbps bandwidth. We monitor the CPU utilization rate during the transmission. When we use two CPUs to process the same SDR task, the task does not appear to be parallelized on the two CPUs, with the sample screenshot in Fig. 7, and more samples in box plots shown in Fig. 8. Among these two CPUs, the higher utilized CPU has almost the same utilization from the one CPU case and the lower utilized CPU has very low utilization. The results show that SDR processes are usually single-thread processes that can not be parallelized.


III-B Shared CPU Utilization vs Separate CPU Utilization
The algorithm we design for power savings in this paper is based on the aforementioned experimental results that the SDN processes are multi-thread processes and easier to be parallelized, while SDR processes are not. This gives an opportunity to optimize the total power consumption by packing the SDN and SDR processes in the same cluster of CPU cores. Assuming the function is the function for the power consumption vs CPU utilization, the objective function is the following Equation (1):
(1) |
where is the index of the CPU core in the number of cores. is the CPU utilization percentage for the CPU core and . In this equation we don’t differentiate SDN and SDR CPU utilization, since they share the same group of CPU cores.
If SDN and SDR utilize the CPU cores separately, we have the total power consumption shown as the follow Equation(2):
(2) |
III-C Optimization Algorithm for Power Consumption
We design the power consumption optimization algorithm for the SDN and SDR integrated system, as Algorithm 1.
The algorithm is an evolved version of the idea of best-fit algorithm. Since the SDR processes are usually single thread and not capable to be parallelized, the SDR CPU utilization comes in large chunks. On the contrary, the SDN processes come in small chunks and can be parallelized. Therefore, the algorithm tries to fit first the large SDR processes into the CPU cores, and then use the remaining space in CPU cores to accommodate the SDN processes.
We have 3 usecase scenarios to test the performance of our power saving algorithm.
- •
-
•
Usecase 2: a scenario where little SDR bandwidth is needed, but a large amount of SDN data plane operations are needed, i.e., highly dynamic networking with several routing changes (e.g., mobile edge cloud and migration cases where migrations of computing tasks between edge servers are frequent, but wireless data transmission rate is low).
- •
Our power saving algorithm was implemented in Python and tested through extensive simulations. Table III shows the 3 usecase settings for the process computing loads, used as input for the SDN data plane and SDR simulations. Each use case differs with respect to number of processes that need to be allocated to SDN and SDR, and CPU utilization for each process. We assume CPU utilization is randomly distributed within a given range (shown in Table III) with uniform distribution. Figure 9 shows the whole procedure of our simulation, including 3 main components: the stochastic task generator (for the 3 usecases mentioned above), the power saving optimisation algorithm, and the CPU utilisation and power consumption analysis (calculating number of CPU cores and utilization, as well as power consumption). Calculation of power consumption is baseed on values derived from CPU power analysis reports [14] and [15], as described below.

SDR | SDN | |||
---|---|---|---|---|
Usecase # | number of processes | CPU utilization range | number of processes | CPU utilization range |
Usecase 1 | 50 | [80%, 100%] | 30 | [10%, 30%] |
Usecase 2 | 30 | [60%, 80%] | 50 | [30%, 50%] |
Usecase 3 | 50 | [80%, 100%] | 50 | [30%, 50%] |



We compare the results of our algorithm with a baseline where SDR and SDN processes are allocated separately in different CPU cores. Fig. 10 shows the boxplot of total number of CPU cores used. Twenty independent tests are randomly generated for each usecase with the parameter settings in Table III. From the results we can see that our scheme of SDN and SDR sharing the same group of CPU cores saves around 10% - 20% number of CPU cores, compared to the case of SDN and SDR utilizing CPU cores separately. The second use case has the most power saving percentage since in this use case the number of SDN processes dominates, and they are easier to be parallelized, providing more room for grouping and consolidating processes in the cloud.
Fig. 11 shows the total power consumption of these CPU cores. For this we have used power measurement data for the server model ASUSTeK Computer Inc. RS720-E10-R12, which contains 80 CPU cores, available at [14]. Fig. 10 and Fig. 11 shows similar trends, since the power vs CPU utilization relationship is close to linear [14]. The power saving is around 10% - 20% for this server.
We also use a second power measurement dataset for a much larger server Hewlett Packard Enterprise Synergy 480 Gen10 Plus Compute Module, which contains 400 CPU cores, available at [15]. The results are shown in Fig. 12. The trends are similar to the case of 80 CPU core system, but the power saving percentage is lower, which is around 5% - 10% percent. This is because the idle power consumption (i.e., the overhead) of this 400-core system is already 700 watt, which is much larger than the 100 watt idle power consumption (i.e., the overhead) of the 80-core system. The results in Fig. 11 and Fig. 12 are also boxplots generated from 20 independent tests.
IV Conclusion
In this paper, we have used testbed measurements with real cloud-based virtual machines to analysis power consumption of NFV processes, in particular, SDN and SDR functions. We have investigated the CPU utilization and parallelization for different configurations and scenarios and developed an energy saving scheme based on the data collected from the measurements. Our power saving methods can save up to 20% power consumption compared to the case where SDN and SDR are deployed separately in the system.
- 3GPP
- Third Generation Partnership Project
- BBU
- BaseBand Unit
- BLER
- Block Error Rate
- CTR
- Click Through Rate[
- D2D
- Device-to-Device
- DFT
- Discrete Fourier Transform
- DSP
- Digital Signal Processing
- eWINE
- Elastic Wireless Network Experimentation
- FDD
- Frequency Division Duplex
- GUI
- Graphical User Interface
- IDFT
- Inverse Discrete Fourier Transform
- IoT
- Internet of Things
- ITS
- Intelligent Transportation System
- LTE
- Long Term Evolution
- MAC
- Medium Access Control
- MEC
- Multi-Access Edge Computing
- MCS
- Modulation and Coding Scheme
- MIB
- Master Information Block
- NFV
- Network Function Virtualization
- NN
- Neural Networks
- OFDM
- Orthogonal Frequency Division Multiplexing
- PDCCH
- Physical Downlink Control Channel
- PDSCH
- Physical Downlink Shared Channel
- PHY
- Physical
- PRB
- Physical Resource Block
- PSBCH
- Physical Sidelink Broadcast Channel
- PSCCH
- Physical Sidelink Control Channel
- PSDCH
- Physical Sidelink Discovery Channel
- PSS
- Primary Synchronization Signal
- PSSCH
- Physical Sidelink Shared Channel
- PSSS
- Primary Sidelink Synchronization Signal
- QAM
- Quadrature Amplitude Modulation
- QoS
- quality of service
- RNTI
- Radio Network Temporary Identifier
- RSSI
- received signal strength indicator
- SC-FDMA
- Single Carrier Frequency Division Multiple Access
- SCI
- Sidelink Control Information
- SDMA
- Space Division Multiple Access
- SDN
- Software-Defined Networking
- SDR
- Software-Defined Radio
- SNR
- Signal-to-Noise Ratio
- TDMA
- Time Division Multiple Access
- UE
- User Equipment
- UHD
- USRP Hardware Driver
- USRP
- Universal Software Radio Peripheral
- VNF
- Virtual Network Function
Acknowledgment
Financial support from Science Foundation Ireland (SFI) grants 17/CDA/4760 (SoftEdge), 18/RI/5721 (OpenIreland) and 13/RC/2077_p2 (CONNECT) is gratefully acknowledged.
References
- [1] M. Ruffini, A. Ahmad, S. Zeb, N. Afraz, and F. Slyne, “Virtual dba: virtualizing passive optical networks to enable multi-service operation in true multi-tenant environments,” Journal of Optical Communications and Networking, vol. 12, no. 4, pp. B63–B73, 2020.
- [2] S. Das, F. Slyne, A. Kaszubowska, and M. Ruffini, “Virtualized east–west pon architecture supporting low-latency communication for mobile functional split based on multiaccess edge computing,” Journal of Optical Communications and Networking, vol. 12, no. 10, pp. D109–D119, 2020.
- [3] S. Sun, M. Kadoch, L. Gong, and B. Rong, “Integrating network function virtualization with sdr and sdn for 4g/5g networks,” IEEE Network, vol. 29, no. 3, pp. 54–59, 2015.
- [4] B. Chen, Y. Zhang, G. Iosifidis, and M. Liu, “Reinforcement learning on computational resource allocation of cloud-based wireless networks,” in 2020 IEEE 6th World Forum on Internet of Things (WF-IoT), 2020, pp. 1–6.
- [5] CONNECT Centre, Trinity College Dublin. OpenIreland Testbed. Accessed: Sep. 2022. [Online]. Available: http://www.openireland.eu/
- [6] J. A. Ayala-Romero, A. Garcia-Saavedra, X. Costa-Perez, and G. Iosifidis, “Bayesian online learning for energy-aware resource orchestration in virtualized rans,” in IEEE INFOCOM 2021 - IEEE Conference on Computer Communications, 2021, pp. 1–10.
- [7] M. Einhaus, I. Kim, M. B. Charaf, and P. Arnold, “Processing time aware resource allocation in software defined rans,” in 2019 IEEE Conference on Standards for Communications and Networking (CSCN), 2019, pp. 1–6.
- [8] T. Ismail and H. H. M. Mahmoud, “Optimum functional splits for optimizing energy consumption in v-ran,” IEEE Access, vol. 8, pp. 194 333–194 341, 2020.
- [9] A. Fernandez-Fernandez, C. Cervello-Pastor, and L. Ochoa-Aday, “Achieving energy efficiency: An energy-aware approach in sdn,” in 2016 IEEE Global Communications Conference (GLOBECOM), 2016, pp. 1–7.
- [10] M. Ruffini and H.-J. Reumerman, “Power-rate adaptation in high-mobility distributed ad-hoc wireless networks,” in 2005 IEEE 61st Vehicular Technology Conference, vol. 4, 2005, pp. 2299–2303.
- [11] Mininet. An Instant Virtual Network on your Laptop (or other PC). Accessed: Aug. 2022. [Online]. Available: http://mininet.org/
- [12] Linux htop, “htop interactive process viewer,” Accessed: Oct. 2022. [Online]. Available: https://linux.die.net/man/1/htop
- [13] srsRAN. Software Radio System. Accessed: Aug. 2022. [Online]. Available: https://www.srslte.com/
- [14] SPECpower . (2022) ASUSTeK Computer Inc. RS720-E10-R12. Accessed: Oct. 2022. [Online]. Available: https://www.spec.org/power_ssj2008/results/res2022q1/power_ssj2008-20211214-01145.html
- [15] SPECpower. (2022) Hewlett Packard Enterprise Synergy 480 Gen10 Plus Compute Module. Accessed: Oct. 2022. [Online]. Available: https://www.spec.org/power_ssj2008/results/res2022q1/power_ssj2008-20211207-01138.html