知识卡片

用户态I/O栈缩短路径提升性能

专业/工作 · 549.k

内容

传统文件系统即使实现在用户态,最终的物理I/O仍要经过内核态的设备驱动,性能提升有限。真正的性能突破来自把设备驱动本身也搬到用户态,形成完整的用户态I/O栈——例如SPDK直接在用户态实现NVMe SSD驱动,这样应用可以绕开内核态的系统调用开销和上下文切换,同时配合无锁化的并行机制,从根本上缩短了I/O处理的路径深度。发散:这揭示了一个通用规律——想要提升I/O性能,光把某一层挪到用户态是不够的,必须把整条链路(应用到驱动)都留在同一个特权级,否则中间还是要跨态切换,性能瓶颈只是往下移了一层而已。

参考来源

《Linux开源存储全栈详解从Ceph到容器存储》第1章《Linux开源存储》