# Assessing the Cloud-RAN in the Linux Kernel: Sharing Computing and Network Resources
## 4 Assessing the vBBU Performance in the Linux Kernel
### Results and Discussion
#### 4.2.2 CPU Management Strategies  
For each resource sharing scenario (i.e., Idle, User, Kernel), Table 3 displays scheduling latency events of vBBU threads under CPU affinity scenarios WA and TA. The table presents the percentage of events that fall into different latency buckets. As mentioned earlier, the Idle scenario serves as a performance reference, as no other user-space processes are running on the edge server except the vBBU. Although there is no significant difference in the scheduling latency of RT threads when running the vBBU under WA or TA, non-RT threads experience higher scheduling latency in TA than in WA. The reason is that, in WA, the scheduler grants CPU time to the vBBU on any of the CPUs defined by the CPU affinity \(C_{W}\). Conversely, when pinned to a fixed CPU, as in TA, a non-RT thread would experience an increased waiting time in the run queue until other tasks on the same CPU are descheduled. In the User scenario, despite nearly half of vBBU's RT threads experiencing a shift in scheduling latency events from the interval of 0-1 microseconds to 2-3 microseconds, the impact on the vBBU's RT threads is less pronounced in TA than in WA. By pinning RT threads to a specific CPU in TA, these scheduling latency shifts are reduced by up to 8% compared to WA. In the Kernel scenario, where the vBBU processes incoming packets in the context of Hard-IRQ, the impact on vBBU varies based on its thread characteristics, with critical threads such as ru_thread and lte-softmodem benefiting from TA, resulting in a 2% reduction in shifted latency events from the 0-1 microsecond interval to the 2-3 microsecond interval compared to WA. Conversely, RT threads fep_processing and feptx_thread experience an increase in scheduling latency under TA, with a 9% and 16% higher number of shifted latency events in the 2-3 microsecond interval than in WA, respectively. This increase is attributed to inactive periods experienced by these threads and the act of \begin{table}
\begin{tabular}{c c c c c c c c c c c c c c c c c c c c c c c c c c c c} \hline \hline  & \multicolumn{4}{c}{**0-1 microseconds**} & \multicolumn{4}{c}{**2-3 microseconds**} & \multicolumn{4}{c}{**4-7 microseconds**} & \multicolumn{4}{c}{**8-15 microseconds**} \\ \cline{2-13} \multirow{2}{*}{**Transed**} & \multicolumn{2}{c}{**Idle**} & \multicolumn{2}{c}{**User**} & \multicolumn{2}{c}{**Kernel**} & \multicolumn{2}{c}{**Idle**} & \multicolumn{2}{c}{**User**} & \multicolumn{2}{c}{**Kernel**} & \multicolumn{2}{c}{**Idle**} & \multicolumn{2}{c}{**User**} & \multicolumn{2}{c}{**Kernel**} & \multicolumn{2}{c}{**Idle**} & \multicolumn{2}{c}{**User**} & \multicolumn{2}{c}{**Kernel**} \\ \cline{2-13} \cline{13-13}  & **Wa** & **Ta** & **Wa** & **Ta** & **Wa** & **Ta** & **Wa** & **Ta** & **Wa** & **Ta** & **Wa** & **Ta** & **Wa** & **Ta** & **Wa** & **Ta** & **Wa** & **Ta** & **Wa** & **Ta** & **Wa** & **Ta** \\ \hline \hline ru-thread & 05.0 & 03.3 & 65.7 & 52.9 & 78.8 & 81.6 & 0.4 & 0.3 & 49.2 & 41.1 & 37.2 & 15.4 & 0.1 & 0.1 & 1.4 & 1.7 & 0.7 & 0.6 & 5.9 & 6.2 & 3.6 & 4 & 3.3 & 2.3 \\ \hline \hline lte-softmodem & 09.3 & 99.1 & 28.6 & 49.2 & 74.2 & 80.9 & 0.5 & 0.3 & 87.1 & 49.3 & 17.4 & 40.3 & 0.0 & 14.3 & 0.6 & 0 & 0.9 & 0.2 & 0.1 & 0 & 0.8 & 6.4 & 0.4 \\ \hline \hline sp\_processing & 99.8 & 99.2 & 65.4 & 56.7 & 70.3 & 60.1 & 0.5 & 0.2 & 46.8 & 39.7 & 25. & 33.8 & 0.0 & 0.0 & 5.5 & 1.8 & 3.1 & 4.3 & 0.5 & 0.6 & 2 & 1.7 & 1.42 & 1.6 \\ \hline \hline lte-hard & 09.3 & 99.7 & 47 & 53.4 & 72 & 54.4 & 0.7 & 0.3 & 80.7 & 45.6 & 26.2 & 42.8 & 40.0 & 0 & 3 & 0.9 & 1.7 & 2.2 & 0.0 & 0 & 0.2 & 0.1 & 0.1 & 0.4 \\ \hline Tabs\_GTP & 94.4 & 6.4 & 46.9 & 2.3 & 75.6 & 1.04 & 0.8 & 86.3 & 43.8 & 89.6 & 17.9 & 90.5 & 3.3 & 6 & 4.9 & 3.3 & 3.9 & 3.9 & 1.3 & 1 & 3.8 & 4.4 & 2.3 & 4.3 \\ \hline UDP\_TASK & 95.4 & 90.8 & 22.9 & 38.7 & 57.4 & 51.3 & 1.4 & 4.2 & 62.2 & 53.5 & 25.8 & 40.7 & 2 & 1.3 & 7.9 & 5.4 & 4.4 & 3.4 & 1 & 1 & 3.7 & 1.5 & 2.1 & 3.8 \\ \hline \hline \end{tabular}
\end{table} 
Table 3: Scheduling latency of vBBU’s threads (percentage).