存储引擎

近数据计算架构:Linux 块层与 NVMe 计算存储协议深度解析

> **摘要**:当 AI 集群的数据搬运开销超过计算本身,传统"CPU 中心"架构已触及内存墙与功耗墙。本文从 Linux 块层子系统出发,深入剖析 NVMe 计算存储(Computational Storage)协议栈的演进路径,结合 io_uring 与 SPDK 实战案例,揭示近数据计算(Near-Data Processing)如何从论文走向生产。

io_uring 深度工程实战:从 Linux 内核异步 IO 革命到高性能存储引擎构建

深度解析 Linux io_uring 异步 IO 框架:从环形队列底层原理、双队列架构(SQE/CQE),到 SQPOLL 零 syscall 提交模式、Fixed Buffers 预注册、Linked SQE 链式请求依赖;完整分析 io_wq 工作队列并发模型与内核 5.19~6.5 演进路径;基于 fio 的 NVMe SSD 性能基准测试(4K 随机读:io_uring SQ+IOP = 512K IOPS, P99 延迟 4.2μs);并通过 Rust 实现一个基于 io_uring 的 LSM-Tree KV 存储引擎原型,涵盖 WAL 追加写入、epoll+io_uring 双 ring 网络-存储分离架构;最后提供生产环境避坑指南。