blk-mq arch

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 

发布了158 篇原创文章 · 获赞 115 · 访问量 37万+

猜你喜欢

转载自blog.csdn.net/yiyeguzhou100/article/details/103003331