Control Groups Added Latency in NFVs: An Update Needed?
Authors: Florian Wiedner, Alexander Daichendt, Jonas Andre, Georg Carle
Published in IEEE Conference on Network Function Virtualization and Software Defined Networks (NFV-SDN), 2023
Abstract:
The Linux kernel is continuously developing, and the development teams constantly add new versions of libraries with additional features. The cgroups feature of the Linux kernel was recently updated. It is widely used by lightweight virtualization technologies such as Docker or LXC for resource isolation. cgroups underwent a significant revamp from version 1 (v1) to version 2 (v2). Researching the performance difference between these two versions regarding network latencies and throughput enables the usage of containers in time-critical applications for Network Function Virtualization (NFV). Previous work does not consider cgroups as a potential source of latency in NFV in their evaluations. In this paper, we use commodity hard- and software to measure the difference between v1 and v2 in isolation. Our experiments show that the two versions achieve the same degree of isolation. However, the tail latencies of v1 are higher than v2, which can be explained by a more efficient, 2.4 % less instruction-consuming implementation of v2. Based on our findings, we recommend using v2 for low-latency, lightweight virtualization network deployments wherever possible.
Recommended citation: Florian Wiedner, Alexander Daichendt, Jonas Andre, Georg Carle, "Control Groups Added Latency in NFVs: An Update Needed?", in 2023 IEEE Conference on Network Function Virtualization and Software Defined Networks (NFV-SDN), Nov. 2023.
BibTeX
@inproceedings{wiedner2023containercgroups, title = {Control Groups Added Latency in NFVs: An Update Needed?}, author = {Wiedner, Florian and Daichendt, Alexander and Andre, Jonas and Carle, Georg}, booktitle = {2023 IEEE Conference on Network Function Virtualization and Software Defined Networks (NFV-SDN)}, year = {2023}, location = {Dresden, Germany}, month = nov, website = {https://wiednerf.github.io/cgroups-nfv/}, month_numeric = {11} }