找回密码
 请使用中文注册

NVMe协议将增加IO Determinism功能

2023-5-6 08:59| 发布者: 开心| 查看: 9| 评论: 0

阅读字号:

摘要: IO Determinism功能的引入  NVMe Spec 1.3有一个新功能:多流写技术。具体操作是在每个I/O指令上加上一个标签,SSD则根据写入I/O的标签,把不一样标签的资料放到不一样 ...
    IO Determinism功能的引入
  NVMe Spec 1.3有一个新功能:多流写技术。具体操作是在每个I/O指令上加上一个标签,SSD则根据写入I/O的标签,把不一样标签的资料放到不一样的区域,借此让多流写入作业能有序的进行,进而实现冷热资料的分区存放,从而大幅改善垃圾回收的效率,让SSD能提供更好的性能,不受传统的垃圾回收作业的困扰。
除了用于多流写入外,NVMe 1.3这种I/O标签的功能,未来还可望扩展到其他使用,如用于服务等级(QoS)管理,利用附加在每笔I/O上的QoS等级标签,让SSD控制器优先处理高QoS等级的I/O。NVMe未来预定在2019年提供的IO Determinism(IO确定性)功能,应该就是基于这种方式来运作。

  NVMe协议为什么增加IO Determinism功能呢?因为用户需要高速、可靠、稳定的IO性能。在平时我们访问一些APP或者网站的时候遇到卡慢,很大一部分原因是因为IO延迟造成的波动。

  NVMe SSD已经取代传统的SSD称为数据中心布局的重要储存介质。搞定IO稳定的问题是刻不容缓的任务。真正落实到标准落实到产品中如何搞定这个问题,大家想到的一点是如何做并行化。NVMe协议中引入的IO Determinism功能也是基于IO并行化。NVMe协议提供将整块SSD分为多个逻辑单元(叫做Set),不一样的逻辑单元之间相互独立,在不一样逻辑单元并行的读和写,做并行的操作,减少串行的工作避免时延的出现。在每个逻辑单元中,可能包含一个或者多个Namespace。

扩展:每个NS都有一个名称与ID,如同每个人都有名字和身份证号码,ID是独一无二的,系统就是通过 NS的ID来区分不一样的NS。如下图例子,整个闪存空间划分成2个NS,名字分别是NS A和NS B,对应的NS ID分别是1和2。如果NS A大小是M (以逻辑块大小为单位),NS B大小是N,则他们的逻辑地址空间分别是0到M-1和0到N-1。

SSD数据布局结构的影响
  以4 Namespace, 8 Channels的SSD系统为例,传统的data布局如下图:最简单的结构配置,数据均匀分布在所有的die。但是这个布局的缺点就是会有IO冲突造成的延迟。

  基于IO determinism功能, 引入三种逻辑单元结构的数据布局:
  1. 垂直逻辑单元((Vertical Sets):

  2. 水平逻辑单元(Horizontal Sets):

  3. 混合型逻辑单元(Mixed Sets):

  测验干扰条件:在NS1进行32K顺序写操作(QD=4),在NS2进行4K随机读操作(QD=8)。

测验结果:
(1)平均读延迟
  在垂直逻辑单元的数据布局结构条件下,平均读延迟提升了7倍;在水平逻辑单元的数据布局结构条件下,平均读延迟提升了9.5倍;

(2)最大读延迟
  在垂直逻辑单元的数据布局结构条件下,最大读延迟提升了16倍;在水平逻辑单元的数据布局结构条件下,最大读延迟提升了11倍;

(3)4K随机读IOPS与队列深度的关系
  在三种数据布局条件下,IOPS随着队列深度的增加均有上升的趋势。不过,水平逻辑单元数据布局结构(HS)的IOPS在QD=6时达到最大。最重要的是,水平逻辑单元数据布局结构(HS)和垂直逻辑单元数据布局结构(VS)的IOPS均是传统数据布局结构IOPS的2倍之多。

IO Determinism中的时间窗
  上面的测验结果是主要是针对SSD逻辑单元(Set)对IO延迟的影响。在NVMe推广的信息中,我们发现关于IO determinism还有两个重要的概念:Deterministic Window和Non-Determinism Window.

  我们先想象一下平时的汽车,当你的汽车在5千公里行驶以内的时候,你这个时延是稳定的,性能跟说明书上一样,当汽车开到4S店做保养换机油的时候,它没有稳定的时延,它的性能指标和说明书上说的完全没有关系。
  NVMe在完全借鉴了汽车保养的特点,在SSD里面设置了一个时间窗,这个时间窗是稳定时延的模式,即Determinism Window。当SSD盘需要垃圾回收、Wear-leveling维持操作时切换到非稳定模式,这个阶段IO性能是不稳定的,即Non-Determinism Window, 也可以称作Maintainance Window。如果用两块SSD合作,则在任何一个时间点,至少会有一个SSD处在Determinism Window,为系统提供稳定的IO性能,如下图:

写在最后
  不管是之前介绍的Multi-Stream还是本篇介绍的IO Determinism基本都是NVME协议针对数据中心提供的新功能。随着大数据时代的来临,我相信,在企业级SSD储存领域会有更多更强大的功能被引入,让我们拭目以待吧。

路过

雷人

握手

鲜花

鸡蛋

最新评论

QQ|Archiver|手机版|家电维修论坛 ( 蜀ICP备19011473号-4 川公网安备51102502000164号 )

GMT+8, 2025-8-26 17:07 , Processed in 0.219514 second(s), 16 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

返回顶部