一句话:提出 Hitchhike,将地址连续性校验推迟到设备驱动,让单个请求封装多个非连续地址段,从而降低 I/O 栈开销。
现代存储系统高并发下产生大量未完成 I/O,但现有提交逻辑要求同一 CPU 核上的请求串行处理,严格的端到端地址连续性校验(文件偏移、扇区、LBA 等)使软件栈成为瓶颈。作者通过系统级分析发现,地址连续性在 NVMe 设备层确有必要,却无需在整个 I/O 栈中强制实施。Hitchhike 将连续性校验推迟到设备驱动,允许单个请求封装多个非连续地址范围,从而减少穿越栈的请求数并摊销内核每请求开销;它无需 kernel-bypass 或激进轮询,可在标准 OS 栈内实现。在图引擎、B-tree 存储和 FIO 上的实验表明,Hitchhike 能提升吞吐量、降低 CPU 开销,并保持与现有内核语义和硬件接口兼容。
Modern storage systems operate under high concurrency, making large volumes of outstanding I/Os the norm. However, current I/O submission logic requires requests assigned to the same CPU core to be processed in a serialized manner, turning the software stack into a bottleneck due to high per-request overhead. We argue that the primary cause of this inefficiency lies in the end-to-end enforcement of the strict address contiguity validation -- the constraint that each I/O request must access a contiguous range of addresses (e.g., file offsets, sectors, and logical block addresses). Through system-level analysis, we find that while the address contiguity requirement is crucial at the device level as defined by the NVMe protocol, it is unnecessarily enforced throughout the entire I/O stack. Based on this insight, we propose Hitchhike, an efficient request submission logic that defers address contiguity validation to the device driver. Unlike solutions that resort to kernel-bypass or aggressive polling for performance, Hitchhike achieves high efficiency within the standard OS stack by allowing a single request to encapsulate multiple non-contiguous address ranges. This mechanism drastically reduces the number of individual requests traversing the stack, thereby amortizing the kernel's per-request overhead. We apply Hitchhike to a graph engine, a B-tree store, and FIO. Experimental results show that Hitchhike effectively improves throughput and reduces CPU overhead, while preserving compatibility with existing kernel semantics and hardware interfaces.
@inproceedings{Zheng0BWTLJ026,
title = {Hitchhike: Efficient Request Submission via Deferred Enforcement of Address Contiguity},
author = {Xuda Zheng and Jian Zhou and Shuhan Bai and Runjin Wu and Xianlin Tang and Zhiyuan Li and Hong Jiang and Fei Wu},
booktitle = {ASPLOS},
year = {2026},
doi = {10.1145/3779212.3790173}
}