NVMe-oF™ 网络中的以太网闪存簇助力实现大规模低成本存储
NVMe over Fabric(又名 NVMe-oFTM)是一种新兴技术,可实现数据中心中计算与存储的分离。美光正通过与 Marvell、Foxconn-Ingrasys 和 NVIDIA 等重要技术合作伙伴合作,来帮助解锁 NVMe-oF 的优势。另外,我们也在不断创新新技术,比如异构内存存储引擎(HSE),它将有助于使用 NVMe-oF 优化对大规模闪存存储的访问。
什么是 NVMe-oF?
NVMe-oF 实际上通过网络扩展了 NVMe 协议,其应用范围远远超出了目前限制 SSD 的服务器机箱。虽然 NVMe 自从 2011 年以来一直存在,但其结构化扩展在 2016 年才首次实现了标准化。因为 NVMe-oF 利用 NVMe,所以它继承了 NVMe 的所有优势:高效的轻量级命令集、多核感知和协议并行性。NVMe-oF 支持所有常见的结构化网络,包括 Fibre Channel、InfiniBand 和 Ethernet,因此它是真正意义上的与网络无关。图 1 对 NVMe 和 NVMe-oF 型号进行了比较,并突出显示了用户可用的各种网络和网络传输选项。
这里有两种相关的以太网传输选项:RoCE v2 和 NVMe-TCP。每种选项各有优缺点。RoCE v2 的延迟较低,但需要专用的支持 RDMA 的 NIC(RNIC),NVMe-TCP 传输的延迟和 CPU 使用率较高,但不需要任何专用 RNIC。它使用标准 NIC。RoCE v2 目前在市场上更为流行。
NVMe over Fabrics 有哪些优势?
如果仅使用 NVMe,您基本上只能使用服务器机箱或以 PCIe 交换机作为扩展手段的机架。虽然这是扩展存储的一种非常有效的方法,但其范围和影响力可以说是有限的。NVMe-oF 允许在整个数据中心范围内连接几乎无限量的存储设备。
如今,NVMe-oF 已经十分成熟,许多用户都在采用这项技术将全闪存阵列(AFA)连接到服务器。然而,只有在计算与存储完全分离时,才能充分发挥 NVMe-oF 的优势。也就是说,可通过网络将一组 NVMe SSD 提供给一组服务器,从而允许用户按需调配计算和存储资源。分离提升了存储的可扩展性和可共享性,并实现了可组合性,如图 2 所示。
分离式存储的另一个维度是存储服务(即数据保护、复制、压缩等)。存储服务可以由服务器(onload 模式)管理,或卸载到靠近实际存储的数据处理单元(DPU)。必须进行权衡。onload 模式会消耗额外的 CPU 周期和网络带宽,但会更大限度地降低成本,而 offload 模式则会增加成本,并且根据调配,可能会造成瓶颈。由于 onload 模式具有总拥有成本(TCO)优势,对大规模低成本存储的追求导致采用 onload 附加存储策略。
什么是 EBOF、JBOF 和 JBOD?
将“闪存簇”连接到 NVMe-oF 网络有两种方法:使用以太网全闪存阵列(EBOF)或使用即闪存簇(JBOF)。不要将 JBOF 与 JBOD(磁盘簇)混淆。JBOD 通常用于通过 NVMe over PCIe 扩展机架中的存储。EBOF 或 JBOF 可用于通过 NVMe-oF 扩展数据中心中的存储。如图 3 所示,JBOF 使用 PCIe 交换机扇出到 SSD,而 EBOF 使用以太网交换机扇出到 SSD。JBOF 和 EBOF 都使用 NVMe-oF 连接回服务器。
除了明显的以太网与 PCIe 切换之外,这两种方法之间的主要区别在于 NVMe 到 NVMe-oF 的转换发生在何处。在 JBOF 上,转换或桥接位于机架的外围,使用一个或多个 DPU(x 个 DPU 到 y 个 SSD,比例为 x:y)。在 EBOF 上,桥接是在 SSD 载板或机柜内完成的(x 个桥路到 x 个 SSD,比例为 1:1)。虽然 JBOF 具有利用 DPU 的处理能力来运行存储服务的优势,但它可能会造成潜在的瓶颈,并且与 EBOF 模型相比成本和功率更高。当桥路与 SSD 的比例不是 1:1 时,成本权衡和瓶颈问题就会显现出来。
我们使用了 Marvell 88SN2400 和 Foxconn-Ingrasys EBOF 来测试我们的系统
通过与 Marvell 和 Foxconn-Ingrasys 合作,我们一直在各种不同的应用程序和工作负载下,在 NVMe-oF 环境中测试我们的美光 7300 主流 NVMe SSD。
在查看这项测试之前,让我们先来看看 Foxconn-Ingrasys EBOF 和 Marvell 的 88SN2400 转换器控制器和 Prestera® CX 8500 交换机。
Marvell 的 88SN2400 是一款适用于云和企业数据中心的 NVMe-oF SSD 转换器控制器。通过将它与 Marvell 交换机结合,您可以从本质上实现 NVMe 和 NVMe-oF 之间的转换或“桥接”。88SN2400 转换器控制器是 Foxconn-Ingrasys EBOF 的关键组件,与我们的美光 7300 SSD 一起,构成了非凡的高性能 2U 存储架(带宽高达 73.1 GB/秒,IOP 高达 2000 万)。图 4 所示为 Foxconn-Ingrasys EBOF,在 2U 机柜中配备 24 个 U.2 插槽。
图 5 显示 Foxconn-Ingrasys SSD 载板,搭配 Marvell 88SN2400 转换器控制器。
Foxconn-Ingrasys U.2 载板采用标准的 U.2 SSD 外形尺寸。U.2 载板支持双以太网端口,以满足需要路径冗余的应用程序,并且在驱动器侧有一个用于 NVMe SSD 的 PCIe Gen3 x4。
Marvell 的 88SN2400 转换器控制器支持 RoCE v2 和 NVMe-TCP 传输。但是,在我们的测试中,我们专注于 RoCE v2。
如何通过 NVIDIA™ GPUDirect™ Storage(GDS)进行扩展?
我们一直利用 NVIDIA™ GPUDirect™ Storage(GDS)在人工智能和机器学习工作负载中使用 SSD 执行大量工作。我们希望了解在结构化环境中,通过将 Foxconn-Ingrasys EBOF 与 Marvell 的 88SN2400 转换器控制器连接到 NVIDIA DGX™ A100 系统,性能会如何扩展。这是一个简单的 gdsio(GPUDirect Storage I/O)工具测试,比较 NVMe-oF 环境中有和没有 GDS 时的带宽和延迟。
在图 6 中,我们有一个装有美光 7300 SSD 的 EBOF,使用八个计算网络端口中的六个直接连接到 NVIDIA DGX™ A100,提供 600 Gb/秒的可用网络带宽。GDS 支持数据在对等点之间直接传输,跳过未启用 GDS 时使用的高延迟回弹缓冲区。在此测试中,我们将提取 SSD 的全部能力(总计约 61 GB/秒)来处理工作负载。未来的测试将添加以太网交换机并进一步增加 EBOF 的数量。
您可以在 FMS 2020 上的 AI 专场中了解有关此测试的更多信息,这些信息位于由首席存储解决方案工程师 Wes Vaske 发表的演讲中,演讲标题是“分析存储对 AI 工作负载的影响”。
NVMe-oF 如何与 HSE 结合来实现规模化?
在美光,我们一直在研究一些令人惊叹的技术,其中之一就是异构内存存储引擎(HSE)。HSE 是一种闪存感知存储引擎,可增强存储级内存(SCM)和 SSD 的性能。在大规模部署时,它还通过减少写入放大来延长 SSD 的有效使用寿命。NVMe-oF 是利用 HSE 进一步实现规模化的理想方式。为了验证 HSE 在结构附加存储环境中的有效性,我们使用 MongoDB 和 YCSB(Yahoo! Cloud Serving Benchmark)进行了一些测试。在图 7 中,我们比较了使用本地美光 7300 SSD 的默认内置 MongoDB 存储引擎(WiredTiger)与在 EBOF 中使用美光 7300 SSD 的美光 HSE 之间的性能。
与在 MongoDB 中使用本地 SSD 的传统 WiredTiger 存储引擎相比,HSE 在结构环境中的有效性非常显著。我们可以将 YCSB 每秒操作数提高五倍,将延迟降低 42%,同时提高存储的可扩展性。
您可以在 FMS 2020 上了解有关此测试的更多信息,这些信息位于由首席存储解决方案工程师 Sujit Somandepalli 发表的演讲中,演讲标题是“使用 NVMe Over Fabrics 扩展您的存储”。
NVMe-oF 的未来发展趋势如何?
NVMe-oF 是一项支持性技术,最终将实现完全分离的数据中心,其中应用程序可以进行组合,然后以经济高效的方式动态配置适当数量的计算和存储。
如今,低成本桥路或基于 DPU 的平台用于将 NVMe SSD 连接并桥接至 EBOF 或 JBOF。未来,我们可能会看到原生 NVMe-oF SSD 进一步降低 TCO 并提高性能。
美光正在设计下一代数据中心 SSD,其功能和特性会针对 NVMe-oF 应用程序进行优化。