加权循环仲裁WRR特性对NVME SSD性能有什么影响?

加权循环仲裁WRR特性对NVME SSD性能有什么影响?引言 之前在 NVME 系列专题中 我们介绍过 NVME 命令仲裁机制的原理 本文主要是介绍加权循环仲裁 WRR Weighted Round Robin Arbitration 对 NVME SSD 性能的影响

大家好,欢迎来到IT知识分享网。

引言:

之前在NVME系列专题中,我们介绍过NVME命令仲裁机制的原理,本文主要是介绍加权循环仲裁(WRR,Weighted Round Robin Arbitration)对NVME SSD性能的影响。


在NVMe Spec没有规定Command存入SQ队列的执行顺序,Controller可以一次取出多个Command进行批量处理。一个SQ队列中的Command执行顺序是不固定,同时在多个SQ队列之间的Command执行顺序也不固定,这就涉及到了NVMe Spec定义的命令仲裁机制。

加权循环仲裁WRR特性对NVME SSD性能有什么影响?

NVMe Spec中主要定义了两种命令仲裁机制:循环仲裁(Round Robin Arbitration)加权循环仲裁(Weighted Round Robin Arbitration).

对于循环仲裁,所有主控必须支持。

对于加权循环仲裁,主控可以选择性支持。

除了这两个仲裁机制以外,主控设计人员还可以自行定义仲裁机制。

1. 循环仲裁(Round Robin Arbitration)

当NVMe设备选择RR仲裁机制时,所有SQs(包括Admin Command SQ和IO Command SQ)都会执行RR仲裁。此时,所有SQs的级别一样高,按照顺序依次从所有SQs中分别取出一定数目的Commands(如下图).

这里的”一定数目”用参数Arbitration Burst定义,代表了一次从SQ中取Commands的数目。Arbitration Burst的数值可以通过Set feature定义。

加权循环仲裁WRR特性对NVME SSD性能有什么影响?

2. 加权循环仲裁(Weighted Round Robin Arbitration)

加权循环仲裁(WRR)机制定义了3个绝对优先级3个加权优先级。

Admin Class: 只有Admin SQ具有这一最高优先级。也就是说,Admin Command必须最先被执行。

Urgent Class: 一人之下,万人之上。优先级仅次于Admin Class。被赋予Urgent Class优先级的IO SQ在Admin SQ中的命令执行后,紧接着执行。

WRR Class: 最低绝对优先级。包含了三个加权优先级:High,Medium,Low.用户可以用个set feature命令控制加权优先级中每个优先级的权重,也即每次执行Command的数目。每个加权优先级内部执行RR仲裁机制。

加权循环仲裁WRR特性对NVME SSD性能有什么影响?

3. WRR对NVME SSD性能的影响

在使用WRR时,有两个事情需要考虑下:

问题1: IO队列SQ需要根据紧急程度赋予不同的优先级

加权循环仲裁WRR特性对NVME SSD性能有什么影响?

问题2: 系统中不同的应用对应的IO如何分类,对应不同的优先级?

加权循环仲裁WRR特性对NVME SSD性能有什么影响?

第一种IO分类的方案:根据IO相似的程度,直接指定不同的进程,赋予不同的优先级,然后绑定对应的不同CPU core处理。

加权循环仲裁WRR特性对NVME SSD性能有什么影响?

这种方案最大的缺点就是灵活性不足,由于特定优先级与core的绑定,导致不能充分发挥计算机的能力。应用的运行特点也被限定了。

加权循环仲裁WRR特性对NVME SSD性能有什么影响?

第二种IO分类的方案:每个core都可以处理不同的优先级IO,应用可以根据自身紧急程度提交IO给对应的队列。这样也可以充分释放计算机的能力。

加权循环仲裁WRR特性对NVME SSD性能有什么影响?

具体修改的方式:在OS用ionice命令定义IO优先级,同时修改nvme驱动映射到不同优先级IO队列。

加权循环仲裁WRR特性对NVME SSD性能有什么影响?

使用ionice调整IO优先级对性能的影响示例:

加权循环仲裁WRR特性对NVME SSD性能有什么影响?

打开WRR后,性能对比:性能也会有相应的阶梯式变化,总体性能没有太大变化,只是改变了部分IO处理优先级。

4K随机读/随机写:

加权循环仲裁WRR特性对NVME SSD性能有什么影响?

128K顺序读/顺序写:

加权循环仲裁WRR特性对NVME SSD性能有什么影响?

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/94758.html

(0)

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信