SPDK与io_uring新异步IO机制

io_uring自2019年1月初提出后,目前已合入Linux v5.1版本,SPDK也在用户态通用块层(bdev),建立了uring bdev的设备(代码目录:spdk/module/bdev/uring)。像其他存储设备对应的bdev一样,比如HDD, NVMe SSD, Optane SSD等等,可以灵活地将uring bdev配置到对应的应用和服务中。如图1可以将NVMe SSD分别配置成不同的bdev类型,给到SPDK的bdevperf测试工具:

  1. SPDK用户态NVMe Bdev (对应通过用户态NVMe驱动来操作NVMe SSD)

  2. SPDK Uring Bdev (对应通过io_uring来操作NVMe SSD)

  3. SPDK Linux AIO Bdev (对应通过Libaio来操作NVMe SSD)

图1:SPDK支持不同的Bdev

首先,回顾下SPDK (Storage Performance Development Kit) 的出发点,为了充分使用到CPU的能力和发挥出高速NVMe SSD的性能,SPDK (https://spdk.io/) 开发了用户态的NVMe驱动,并引入了异步并发、轮询、无锁、单线程Run-To-Completion等优化。相关的重点优化如图2:

<

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值