企业存储技术 · 2020年06月29日

IDF16:NVMe Over Fabric、SPDK和双控存储元年

点击上方“企业存储技术”可以订阅哦

昨天写了一篇软件相关的《IDF16:解读Ceph百万IOPS测试及优化》,今天接着写硬件方面的学习心得和自己一些粗浅的理解,这次的参考资料来自《_在存储转换趋势中胜出的必备知识:准备在客户端和数据中心采用__NVM Express_ _和PCI Express_》。

首先响应热心朋友,我把目前能下载到的全部IDF 2016__技术课程中文资料__做了一个网盘共享。

链接:http://pan.baidu.com/s/1dE8HIrZ(也可点击本文底部“阅读原文”下载)。

同时也列出官网下载链接 _http://myevent.opusteam.com/s...,里面还包括每节课程的英文资料下载。_

image.png

如上图,今年对NVMe生态系统的一些利好因素包括:双端口SSD相关、NVMe Over Fabric互连、SPDK、被主要云计算提供商使用、PCIe Switch有多个供应商,以及基于NVMe的HBA和RAID卡。

关于PCIe Switch,其实芯片早就有不止一家供应商——PMC(IDT)和Avago(PLX),交换机产品我在7、8年前就曾见过,不过那时还不成熟。目前公开销售的PCIe交换机产品仍不多见,其面临的问题和SAS类似,一个是不适合做长距离连接;还有一点我在《OCP峰会:PCIe SSD版本的Open Vault存储机箱,没有了SAS的双端口》中曾经提到:“目前的PCIe3.0 Switch芯片最高lane数量应该就是96和97。”

注:SAS Switch芯片目前最多68 lane,延伸阅读:《分布式 or SAN文件系统、SAS交换为何普及难?

传统RAID能否胜任NVMe SSD

image.png

我曾经看到不止一位朋友提出同样的问题:“SAS盘有RAID卡,PCIe SSD有吗?”

大家都觉得技术上应该不是问题,不过传统的嵌入式RoC处理器能否充分发挥出PCIe/NVMe闪存的性能?SFF-8639的驱动器也是刚普及不久嘛。

我手里正好有一份今年2月相关的新闻稿,摘录一段话:“NVMe Storage Adapters(HBA/RAID): As the leading provider of SAS/SATA storagecontrollers, HBA, and RAID adapters, Broadcom is sampling the industry’s first combined NVMe/SAS/SATAstorage controllers.”

注:收购Broadcom__之后Avago/LSI__换品牌了,用的应该还是MegaRAID__技术。

所谓Intel搞的RSTe软件RAID,应该就是操作系统中的一个软件(类似md-raid),目前在RAID 5 Rebuild时还无法保证掉电的数据完整性,猜测是用了临时内存。

在上面这张图表里,Intel“特地”找了希捷SAS SSD作为对比,因此我对左边绿色的性能数字不太关心。4个DC P3700 RAID5的10万IOPS我觉得应该是随机写,这里CPU肯定不是瓶颈,IntelSSD单盘随机写指标是17.5万,也就是说写惩罚仍然存在,而且传统SSD RAID的效率似乎难以达到HDD的水平。

2016:NVMe over Fabric元年

这里再次指出了PCIe直连的问题——扩展性,此外当前使用光纤接口的RDMA存储网络,比如iSER和SRP仍然使用了SCSI协议,面对下一代NVM(如3D XPoint)延时问题会更突出,因此行业需要NVM Expressover Fabrics。

NVM over Fabrics除了能跑在RoCE和IB网络上,也支持iWARP和FC,比如下图中的QLogic。另外这里的下一代光纤指的是Intel新搞的100Gb/s Omni-Path互连吧?

FC__不死?__——QLogic__计划推出FC-NVMe__适配卡

如右图,一个NVM子系统划分多个命名空间(相当于LUN),一个命名空间还可以通过多个NVMe控制器映射出去,达到“双控双活”的效果。

NVMe over Fabrics主要的概念文档正在起草阶段,准备在2016年看到初步的应用。如果要接近今天FC/SAS在存储系统前/后端连接的成熟度,估计要2-3年或以上。参照NVMe之前的发展进度,Intel喊着Fusion-io不行也过去好几年了。

SPDK用户态NVMe驱动、Ceph演示

上图中蓝色部分是驱动器读延时,在机械硬盘时代软件栈几乎不需要优化,而到了Optane(听说是3D XPoint Memory做缓存的闪存盘)和新一代高性能NVM介质到来时,软件即将成为瓶颈。

扩展阅读:《从技术到应用:揭开3D XPoint Memory迷雾__》

为了达到端到端用户态无锁poolling模式替代传统内核态中断处理,我理解Intel DPDK在这里应该是第一步实现了网络驱动,NVMe和CBDMA用户态存储驱动已经开源,计划目标看来是要将NVMf与iSCSI的Target整合。

这里列出了SPDK用户态polled模式NVMe驱动的好处,包括消除了中断和系统的损耗、使用大内存页和静态缓存等。使用FIO工具测试4个P3700 SSD的对比结果是:传统内核态NVMe驱动,Intel Xeon CPU单个核心能够支撑的4KB随机读性能只有25万IOPS,而换用SPDK驱动之后提升到高达180万。

(点击可放大)

提到DPDK+SPDK用户态存储应用,很容易让我想到有国内Ceph第一人之称的王豪迈,他目前担任XSKY的CTO,上面的照片拍摄自该公司前不久举行的发布会。

手机的效果有限,右边红框部分可以看到ceph-osd的CPU占用率超过200%(核心占用率),而与此同时每秒中断数量只有2000多。据现场的工程师表示,在将Ceph改造为用户态之前,同一测试的CPU核心占用率低于100%,并且中断数量高出几个数量级。

XSKY__全用户态Ceph__演示平台使用了戴尔PowerEdge R730__服务器,以及Mellanox40Gb RoCE__网络互连环境。

上图引用自冬瓜哥在2015存储峰会的分享资料《IO协议栈前沿技术研究动态》,其中也提到了用户态(Polling模式)的优劣势,供大家参考。

双端口NVMe阵列:HA之外还有差异化功能

早在前年撰写《破解PCIe SSD进化:从踩坑到解决方案》的最后一个章节时,我就曾讨论过用于双控存储的双端口PCIe SSD。而不久前Intel已经发布了支持NVMe双端口的D3600和D3700。

上图中写了双端口PCIe SSD主要用于存储厂商的阵列,但也可以是一些共享驱动器的集群存储软件环境,比如ZFS、微软Storage Spaces等。

这里我们拿两台戴尔服务器连接到同一个MD系列SAS JBOD存储扩展机箱为例,该无单点故障的硬件方案即可运行前面说的Nexenta ZFS和微软的带有RAID算法的存储软件。一旦换成PCIe JBOD,SSD性能就可以更好地发挥。

上图虚线中就是使用PCIe SSD的双控存储系统,其冗余级别可以达到传统SAS后端连接的水平,包括PCIe Switch在内都没有单点故障。

我们有必要讲一下这里的“差异化功能”。由于PCIe SSD具备传统硬盘没有的可定制化能力,因此可以在盘间使用较小的粒度(比如颗粒级别)进行数据管理,让我想起了EMC DSSD的特色RAID保护。此外,控制器也可以管理到SSD上的缓存(在以往盘就是个黑盒),因此可以把I/O队列从控制器缓存上转移过去,降低延时。如果NVMe开放了这些API,就有点软件定义Flash的思路吧:)

最后看两款产品,或者说参考系统。来自台湾ODM纬创这个比较简单,就是在4U机箱中把24片Intel双端口D3700 SSD通过背板同时连接到2个Host节点。由于没有任何协议的转换和各种软件开销,所以裸性能比较好看。

这个E8 storage就是一台NVMe阵列了。通过40GbE连接4台主机,没有说跑什么协议。由于具备冗余控制器和网络连接,它的性能比前面那套系统低了一些。看来国外又有新一轮闪存初创公司的机会了。

最后再来看看应该是第一个正式发布的NVMe over Fabric系统——EMC DSSD D5RACK-SCALE 闪存存储平台。

在《解析DSSD对象机制:内存API Atomic读写再现》一文中,我曾经介绍过它的原生API DMA访问和PCIe MultiCast写入——即“_用户从客户端使用原生__API__读取DSSD__时,数据流是绕过OS Kernel__的DMA__方式。而且数据是从Flash Module__上的DRAM__缓存经过I/O Module__直接传输到DSSDClient Card__,这个过程也绕开了ControlModule__上的x86 CPU__。_”

DSSD除了采取定制化硬件之外,软件方面也很有特色,原生访问API是对象方式,同时兼容块、文件以及像Hadoop这样的专用插件。

推荐阅读

本文转载自企业存储技术微信公众号,[原文链接点这里]。
注:本文只代表作者个人观点,与任何组织机构无关,如有错误和不足之处欢迎在留言中批评指正。 进一步交流技术可以加我的微信/QQ:490834312。
尊重知识,转载时请保留全文,并包括本行及如下二维码。感谢您的阅读和支持!《企业存储技术》微信公众号:HL_Storage,也欢迎关注企业存储技术极术专栏,定期更新。
42.jpg
推荐阅读
关注数
5609
内容数
260
关注存储、服务器、图形工作站、AI硬件等方面技术。WeChat:490834312
目录
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
安谋科技学堂公众号
关注安谋科技学堂
实时获取安谋科技及 Arm 教学资源
安谋科技招聘公众号
关注安谋科技招聘
实时获取安谋科技中国职位信息