This paper was converted on www.awesomepapers.org from LaTeX by an anonymous user.
Want to know more? Visit the Converter page.

Energy Efficient SDN and SDR Joint Adaptation of CPU Utilization Based on Experimental Data Analytics

Beiran Chen, Frank Slyne and Marco Ruffini
CONNECT centre, Trinity College Dublin, Ireland
email: {chenbe, slynef, marco.ruffini}@tcd.ie
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, SDR

I 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.

  • We propose an SDN and SDR integrated NFV architecture that is a cloud-based virtualization architecture. We investigate power consumption of virtual switches and SDR by real testbed measurement.

  • We propose a power optimization algorithm with SDN and SDR integrated CPU deployment, and compare it to the case where these two functions are deployed separately.

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.

Refer to caption
Figure 1: Proposed SDN/SDR integrated architecture with MEC as a use case example

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.

Refer to caption
Figure 2: Experimental set up with linear topology

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 htophtop command is used for monitoring the CPU utilization at the data plane. We use iperfiperf 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 iperfiperf to generate data transmission in Mininet. We use 2 CPU cores to host the data plane and use htophtop program in Linux to measure the CPU utilization. The CPU model we use for SDN experiment is Intel Core [email protected]. htophtop 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.

Refer to caption
Figure 3: SDN CPU utilization results

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).

Refer to caption
Figure 4: Testbed picture for SDR

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 iperfiperf 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.

TABLE I: Testbed measurement results for SDR PRB 50

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

TABLE II: Testbed measurement results for SDR PRB 25

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 echoecho 11 >/sys/devices/system/cpu1/online>/sys/devices/system/cpu1/online and echoecho 0 >/sys/devices/system/cpu1/online>/sys/devices/system/cpu1/online 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 iperfiperf to transmit 500GB of data, with 10Gbps bandwidth in a single link on different CPU number systems. We use Linux command htophtop 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 htophtop 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.

Refer to caption
Figure 5: CPU Utilization htop measurement for SDN
Refer to caption
Figure 6: CPU Utilization rate for SDN

III-A2 SDR testing

In this subsection, we use srsRAN to create an experimental virtual network for SDR and use iperfiperf 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 htophtop 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.

Refer to caption
Figure 7: CPU Utilization htop measurement for SDR
Refer to caption
Figure 8: CPU Utilization rate for SDR

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 P(x)P(x) is the function for the power consumption vs CPU utilization, the objective function is the following Equation (1):

minimise:Ptotal=c=1CP(U(c))minimise:P_{total}=\sum_{c=1}^{C}P(U(c)) (1)

where cc is the index of the CPU core in the CC number of cores. U(c)U(c) is the CPU utilization percentage for the CPU core cc and U(c)[0,100]U(c)\in[0,100]. 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):

Ptotal=P(USDN)+P(USDR)P_{total}=P(U_{SDN})+P(U_{SDR}) (2)

In this equation, USDNU_{SDN} is the CPU utilization for SDN and USDRU_{SDR} is the CPU utilization for SDR. In this case the CPU utilization is decided by the processes that run separately for SDN and SDR without chances for optimization.

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 1: a scenario where a large amount of SDR bandwidth is needed but less SDN data plane operations are needed (e.g., a local mobile network for content uploading/downloading to local servers, like mobile hotspot, Virtual Reality, Augmented Reality, etc.).

  • 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).

  • Usecase 3: a scenario where both high SDR bandwidth and large amount of SDN operations are needed for both high bandwidth and high dynamicity (i.e., remote operations, mobile video streaming etc).

Algorithm 1 CPU power consumption optimization algorithm
1:given USDRi,USDNjU^{i}_{SDR},U^{j}_{SDN}: the CPU utilization of each SDR process ii and SDN process jj
2:group all SDN processes together to be USDN=j=1JUSDNjU_{SDN}=\sum_{j=1}^{J}U^{j}_{SDN}.
3:iIi\in I and jJj\in J
4:for all CPU core cCc\in C do
5:     Check the remaining CPU capacity of cc: 1U(c)1-U(c)
6:     Fit the largest SDR USDRiU^{i}_{SDR} into cc: USDRi1U(c)U^{i}_{SDR}\leq 1-U(c)
7:     Get the remaining CPU capacity: U(c)¯=1U(c)USDRi\overline{U(c)}=1-U(c)-U^{i}_{SDR}
8:     Fit the U(c)¯\overline{U(c)} with a chunk of USDNU_{SDN} and calculate the remaining USDNU_{SDN} by USDNU(c)U_{SDN}-U(c) \triangleright Comment: because SDN processes can be fully parallelised according to our testbed measurement
9:end for

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.

Refer to caption
Figure 9: Simulation procedure
TABLE III: CPU process information for 3 usecases.
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%]
Refer to caption
Figure 10: Number of CPU cores comparison
Refer to caption
Figure 11: Power consumption comparison for 80 CPU core server
Refer to caption
Figure 12: Power consumption comparison for 400 CPU core server

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.

There are other types of servers and CPUs that can be investigated to obtain power savings. In summary, our power saving scheme based on integrated SDN and SDR processing has up to 20% power savings compared to the case where SDN and SDR are deployed in separate CPU cores.

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