The NIC should be part of the OS
Pengcheng Xu, Timothy Roscoe

TL;DR
Integrating the NIC closely with the OS kernel, leveraging cache-coherent interconnects, can outperform kernel-bypass approaches in RPC workloads while maintaining flexibility and robustness.
Contribution
Proposes a novel integration of NIC with the OS kernel using cache-coherent interconnects to improve performance and flexibility.
Findings
Performance surpasses kernel-bypass approaches for RPC workloads
Maintains robustness and dynamic adaptation of kernel-based systems
Achieves high efficiency without sacrificing flexibility
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…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsInternational Science and Diplomacy
