io_uring 优化及应用实践

io_uring 优化及应用实践

io_uring 是 Linux Kernel 在 v5.1 版本引入的一套新异步编程框架,同时支持Buffer IO 和 Direct IO。io_uring 在设计之初就充分考虑框架自身的高性能和通用性,不仅仅面向传统基于块设备的 FS /Block IO领域,对网络异步编程也提供支持,以通用的系统调用提供比肩 spdk / dpdk 的性能。
阿里云基础软件部操作内核团队积极参与 io_uring 社区开发,包括 io_uring 框架优化,特性增强,Bug Fix 等工作,累积贡献数十个补丁。同时我们在公司内部积极探索实践 io_uring 的业务价值,取得了一定的成果,例如将 io_uring 适配到 nginx,redis 等主流开源应用,并应用到内部自研数据库系统中,取得不错的效果。
本议题中我们将对 io_uring 技术原理,社区最新进展,以及我们的实践探索进行分享。