blk-mq arch

70 篇文章 ¥9.90 ¥99.00
blk-mq(Multi-Queue)机制是Linux内核中用于优化多核CPU环境下存储设备IO效率的技术。它将block层提交队列分配到不同CPU核心,以实现工作负载均衡。软件队列按核心分配,数量受限于协议如NVMe的64K限制;硬件队列数量由设备驱动决定,通常不超过2K。硬件和软件队列间的映射关系由map_queue维护,两者数量可能不等。这种技术显著提高了SSD等存储设备的性能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1http://events.static.linuxfound.org/sites/events/files/slides/vault-2016.pdf   【Jens Axboe】  ***

2,Multi-Queue机制就是在多核CPU的情况下,将不同的block层提交队列分配到不同的CPU核上,以更好的平衡IO的工作负载,大幅提高SSD等存储设备的IO效率。一些高端设备目前已经支持多队列(下图中的hwardware queue)来支持并行处理,

  • Multi-Queue Block Layer分为两层,Software Queues和Hardware Dispatch Queues. 

  • Softeware Queues是per core的,Queue的数目与协议有关系,比如NVMe协议,可以有最多64K对 IO SQ/CQ。

  • Hardware Queues数目由底层设备驱动决定,可以1个或者多个。最大支持数目一般会与MSI-X中断最大数目一样,支持2K。设备驱动通过map_queue维护Software Queues和Hardware Queues之间的对接关系。

  • 需要强调一点,Hardware Queues与Software Queues的数目不一定相等,上图1:1 Mapping的情况属于最理想的情况。

http://events.static.linuxfound.org/sites/events/files/slides/vault-2016.pdf   【Jens AxboeSolving the Linux storage scalability bottlenecks

https://baijiahao.baidu.com/s?id=1632252705812041407&wfr=spider&for=pc  NVMe的优势与协议演进  

https://www.cnblogs.com/rodenpark/p/6225929. html   强势回归,Linux blk用实力证明自己并不弱!

https://hyunyoung2.github.io/2016/09/14/Multi_Queue/  Multi-Queu on block layer in Linux Kernel

https://blog.csdn.net/zhuzongpeng/article/details/76136164 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值