网卡应是操作系统的一部分
操作系统
2025-04-24 v2 硬件体系结构
网络与互联网体系结构
摘要
网络接口适配器(NIC)是云服务器中关键组件,占据独特位置。不仅网络性能对机器的高效运行至关重要,而且与计算加速器如GPU不同,网络子系统必须响应不可预测的事件(如网络数据包到达),并以最小延迟与适当的应用程序终结点通信。当前的服务器堆栈在灵活性、效率和性能之间进行权衡:最快的内核旁路方法专为应用程序分配核心,忙等接收队列等;而更灵活的方法适用于更动态的工作负载组合,但在数据路径上造成更大的软件开销。然而,我们拒绝这种权衡,认为其源于操作系统与NIC之间任意(且次优的)系统状态划分。相反,通过利用缓存一致性互联的特性并将NIC与操作系统内核紧密集成,我们可以实现一种惊人的成果:对于RPC工作负载的性能甚至优于最快的内核旁路方法,而不牺牲内核基于网络子系统的鲁棒性和动态适应性。
引用
@article{arxiv.2501.10138,
title = {The NIC should be part of the OS},
author = {Pengcheng Xu and Timothy Roscoe},
journal= {arXiv preprint arXiv:2501.10138},
year = {2025}
}
备注
Camera ready for HotOS'25