The NIC should be part of the OS

Gespeichert in:
Bibliographische Detailangaben
Titel: The NIC should be part of the OS
Autoren: Xu, Pengcheng, Roscoe, Timothy
Quelle: HotOS '25: Proceedings of the 2025 Workshop on Hot Topics in Operating Systems
Verlagsinformationen: Association for Computing Machinery (ACM), 2025.
Publikationsjahr: 2025
Schlagwörter: Remote procedure calls, Serverless computing, Networking, Smart NICs, Cache coherence
Beschreibung: The network interface adapter (NIC) is a critical component of a cloud server occupying a unique position. Not only is network performance vital to efficient operation of the machine, but unlike compute accelerators like GPUs, the network subsystem must react to unpredictable events like the arrival of a network packet and communicate with the appropriate application end point with minimal latency. Current approaches to server stacks navigate a trade-off between flexibility, efficiency, and performance: the fastest kernel-bypass approaches dedicate cores to applications, busy-wait on receive queues, etc. while more flexible approaches appropriate to more dynamic workload mixes incur much greater software overhead on the data path. However, we reject this trade-off, which we ascribe to an arbitrary (and sub-optimal) split in system state between the OS and the NIC. Instead, by exploiting the properties of cache-coherent interconnects and integrating the NIC closely with the OS kernel, we can achieve something surprising: performance for RPC workloads better than the fastest kernel-bypass approaches without sacrificing the robustness and dynamic adaptation of kernel-based network subsystems.
Publikationsart: Conference object
Dateibeschreibung: application/application/pdf
Sprache: English
Zugangs-URL: http://hdl.handle.net/20.500.11850/746336
Rights: CC BY
Dokumentencode: edsair.od.......150..16c17026c070958b604edf17538bbfd5
Datenbank: OpenAIRE
Beschreibung
Abstract:The network interface adapter (NIC) is a critical component of a cloud server occupying a unique position. Not only is network performance vital to efficient operation of the machine, but unlike compute accelerators like GPUs, the network subsystem must react to unpredictable events like the arrival of a network packet and communicate with the appropriate application end point with minimal latency. Current approaches to server stacks navigate a trade-off between flexibility, efficiency, and performance: the fastest kernel-bypass approaches dedicate cores to applications, busy-wait on receive queues, etc. while more flexible approaches appropriate to more dynamic workload mixes incur much greater software overhead on the data path. However, we reject this trade-off, which we ascribe to an arbitrary (and sub-optimal) split in system state between the OS and the NIC. Instead, by exploiting the properties of cache-coherent interconnects and integrating the NIC closely with the OS kernel, we can achieve something surprising: performance for RPC workloads better than the fastest kernel-bypass approaches without sacrificing the robustness and dynamic adaptation of kernel-based network subsystems.