专栏名称: 企业存储技术
企业存储、服务器、SSD、灾备等领域技术分享,交流 | @唐僧_huangliang (新浪微博 )
目录
相关文章推荐
51好读  ›  专栏  ›  企业存储技术

FMS2018闪存峰会手记(2)

企业存储技术  · 公众号  ·  · 2018-08-14 20:55

正文

请到「今天看啥」查看全文


本文为友情转发唐杰总投稿,供读者参考学习,不完全代表编者观点。


NVMe over fabric 2016 6 月的协议第一版出来之后,目前来看的最大的变化就是 TCP 协议的加入。对于物理上的三种 Fabric 来讲, IB FC Ethernet 的大户基本上不用质疑了。对于 TCP 协议的加入,坊间的说法是 Facebook 比较看好 TCP ,虽然他们的 OCP NVMe JBOF 也有一个支持 100G RCOE V2 的定制机头。这个协议目前的进展很快,在 Linux kernel 中已经有支持了。


扩展阅读 :《 NVMe over TCP:iSCSI的接班人?


对于 TCP 的加入, Mellanox 无疑成为最大的受害者,在 RDMA ROCEv2 iWarp 之间, RoCEv2 已经成为清晰的获胜者。虽然目前 Mellanox Broadcom 在无损以太网上的实现不同,相信随着部署规模的扩大,坑应该会被填上。而 TCP 无疑是 Hyperscale 网络管理工程师的福音, TCP 的扩展性和互操作性基本上没问题。


基于 Mellanox 的一个 live DEMO 的数据,目前协议里面实现的最大 IOPS 100G 的带宽 TCP 应该在 2.4M 左右,同样的 NVMe 硬件配置, RoCEv2 2.7M 左右。没有机会问在使用 NVMe over TCP 的时候, Mellanox 使用的是什么样的 100G 的网卡。不过,很有可能是同样的 100G ConnectX-5 ,跑不同的协议,毕竟 Mellanox ConnectX 系列的网卡也支持标准的 TCP 的诸如 check sum /LSO/RSS 之类的硬件 offloading

Lightbits


对于一直在做 ASIC lighbits 来讲,他们关注的点基本上和 Facebook 完全一致, FlashI/O 访问的 long tail 是他们一直在试图优化的。根据他们的胶片, over TCP fabric 额外延时基本上是 over RoCEv2 的两倍,但是这个还是 iSCSI 的延时的 30% 。他们的逻辑是 over Fabric 只是整个 I/O 堆栈的一部分,在他们看来,加上 NVMe SSD 以及 kernel 软件的延时, over TCP over RoCEv2 的差别就很小。对于他们的 long tail 的优化,他们将主要是对于 TCP 支持的众多的 RFC 以及流控的优化,而且貌似 lighbits Intel Facebook 的三家的分工很明确, lightbits 很明白地告诉我他们不关系除了 ASIC 以外的东西。目前没有看到他们的 ASIC 的相关信息,主要的 Topic 还是集中的架构和软件上。

Kazan Network


Kazan ASIC 芯片已经回来了,他们展台上展示了单个 Intel Optane+Fuji Intel NVMe SSD+Fuji Intel SSD + XIlinx FPGA VUP 的三个 live DEMO ,性能的确很好。可能是因为 Kazan 2016 年的 FMS 上已经展示过了,因此这次的展台的三个东西应该是意料之中,人很少。我就有机会多打听一下:

  • RoCEV2 iWarp 的性能没有差异。说是数据通路类似,基本忽略了 TCP/UDP 的协议消耗不同。

  • 我问他如何处理 TCP retransmissionbuffer 的问题,因为毕竟他们没有 DDR 。哥们回答我“ secret sauce “, 和回答其他技术问题一样。

  • 因为目前的芯片是 1X100G, 问他什么时候可以支持 Dual 100G ,答案是在 bring up 现在的芯片, Dual 100G 已经有规划了。

  • Kazan 的演讲内容来看,他们使用了有限状态机的机制来实现流的处理。



Marvell


马牌的这个 NVMeOF Bridge 的芯片 88SN2400 的确很拉风。整个方案是 Toshiba SSD Marvell NVMe toEthernet Bridge 桥片,以及来自深圳 Aupera JBOF 方案,整个方案都在门口的 Toshiba 展台,基本上有 Toshiba 以色列的一帮 OCZ 的人在介绍。


这个就是和之前 Seagate 做的 IP 盘类似,使用 2X25G Ethernet 接口组织 JOBF ,主要的收益是:


1. 可以做到 100% 的前后带宽匹配,不用和 PCIE 一样需要保持上下带宽 1 2 的配比。目前前面是 24 NVMe 48 25G Ethernet ,后面服务的是 12 100G 的端口。

2. Aupera CEO 讲,他们的 JBOF 的设计成本要比用 PCIESW 成本低,因为 PCIE SW 的两个厂家现在都是坐地起价。 Ethernet 端口的选择要多一些。

3. 方便管理, Ethernet 盘的热插拔要比 PCIE 简单。


对于这个方案,我也显示了很大兴趣,特别是 Ethernet 成本比较低的这个结论,因为目前使用的是 NVme+Bridge interposer 的架构,和背板的接口是使用专用的接口,因此很难有一个整体的比较。作为前 Seagate 员工,我们内部认为 Kinetic IP 硬盘的失败归结于市场上没有性价比好的 Chassis ,千兆以太网的交换机的端口成本比 SAS expender 要高太多了。因此有一个比较靠谱的 Chassis 可能是 Marvel 方案的一个关键因素,只有一家 Aupera 还是不够的。


Marvell 的确有计划把整个 Bridge 芯片和 SSD 控制器和在一起,这个和 NVMe 协议标准里面,把命令分成了 ADMIN FABRIC I/O 类似,尽可能做到本地盘和远端的盘没有差别。


这种方案在架构上的确很有意义,随着单盘的容量和性能增加,可能会出现 Intel Ruler 这种 SSD ,具有 RoCEv2 的接口,可以通过高速 Ethernet 形成存储集群,只是这里面的管理功能可能不是单单靠 JOBF 的管理可以支持的。


比如,对于多个 IP 盘之间的数据保护,以及数据的通讯,如果都要靠 Host 来实现,会把 host 变成整个方案的性能瓶颈。

Mellanox Bluefeild


Mellanxo Bluefeild 本质上就是 ConnectX-5+ARM72 SoC 架构,基本上不用介绍太多了。直接上照片把:

上面的双宽的双 PCIE Gen3 X16 插卡,不清楚是为那个存储厂家做的控制卡,可以看到使用两组 72Bite 的标准 DRAM 。下面那个 JBOF 控制器形态的设计是神达电脑的,这个和 Mellanox 自己的 Bluefield 参考设计类似。

Broadcom Stingray


Broadcom 的站台有两个,都不大。这个的确是新老板的风格,但是站台的东西都很重要。一个网卡芯片,一个之前 PLX PCIE4.0 以及 5.0 的东西。对于 Broadcom Stingray PS1100R 的产品,的确和 Mellanox 是针锋相对的竞争。目前还没有看到他们太多的数据,相信以后有的。


https://www.broadcom.com/products/ethernet-connectivity/network-adapters/ps1100r 这是他们发布的信息。在站台上没有机会问太多问题。

Altera


这个公司也听了很对年了,一直没有机会直接接触,毕竟是用 Intel FPGA 的方案,和我司的方案直接竞争。在这次他们的站台上,人家除了不让我拍照以为,还是很热心得回答了我很多问题,比如对于 Host side 软件的支持问题, target 这边和 PCIE Switch 的交互。


目前看到的比较的槽点也就是 25G 网络的支持,和 Intel 的其他 FPGA 的网卡方案类,因为 25G 的不成熟,都是用了两颗大大的 Marvell 25 MAC 芯片。 Attala 之前在 Host 上只支持自己的 HBA ,因为客户的要求,目前也支持标准的 Mellanox 网卡了。

Xilinx


Xilinx 基于 ZU19-EG HHHL NVMeoF 的控制器和天鸿的 JBOF 的展示,这个是我之前花了很多力气的一个 DEMO ,这个要感谢天鸿,以及我们的 FPGA 的办卡合作商 Molex 的功劳。放个照片吧,不做过多解释,欢迎大家骚扰了解详情。


Dell EMC 的总结


David 的胶片,我推荐每个架构师都应该学习一下,用很快的语速讲了 NVMe oF 的方方面面,使用自己的方法论进行了很细致的分析。 David NVMe 协议组织里也很活跃,是很多 TAP 的作者,任职 Dell EMC CTO Office ,的确是偶像级的大神。


第一个是 SCSI over FC NVMe over FC 的对比。在标准的实现中,不做任何修改。


可以看到,和大家想象的一样,新的东西肯定更快,更好。可是,至于新的东西为什么会更快,更好, David 做了分析:


  • NVMe 的性能的确比 SCSI 好,但是在常用的 Queue Depth 4 16 并没有本质的差别

  • NVMe CPU 占用低,主要是 I/O Path 短。 SCSI 是三层架构的。

  • 对于 I/O only 的负载, queue 越多越好,大量的 queue 的批处理是利器。


因为 NVMe 天生是多队列的, SCSI BUS 技术开始,并行的能力一直是个问题。 Linux SCSI FCP 的队列是单个 Queue 的, Linux NVMe FC 的队列是多个 Queue 。如果把 Linux SCSI FCP 改成多个 Queue 会如何呢?


大家都差不多了,可以看出,在同样的底层 Fabric ,协议为所谓新旧,主要有多队列,大 queue depth ,大家都是平等的。


因此,可以得出一个比较有意思的结论, NVMe over Fabric 的关键还是在 Fabric ,如果你底层的 Fabric 有性能的限制,其实上面的存储协议换了 NVMe 也没用。 iSCSI ,在说你呢?

总结一下, NVMe over Fabric 的目标很清楚,构建下一代的存储网路。在大家都通过多队列解决了性能问题之后,存储系统的主要挑战就是管理问题了。目前 NVMe 协议的路标如下:



:本文只代表作者个人观点,与任何组织机构无关,如有错误和不足之处欢迎在留言中批评指正。 进一步交流 技术 可以 加我的 QQ/ 微信: 490834312 。如果您想在这个公众号上分享自己的技术干货,也欢迎联系我:)


尊重知识,转载时请保留全文,并包括本行及如下二维码。感谢您的阅读和支持!《企业存储技术》微信公众号: HL_Storage

长按二维码可直接识别关注

历史文章汇总 http://www.10tiao.com/author/index?authorId=691

点击下方“阅读原文”,查看更多历史文章
↓↓↓






请到「今天看啥」查看全文