设计工具
公司

NVMe™ over TCP 概念验证

Ryan Meredith | 2020 年 3 月

概念验证:美光 9300 加持下 Lightbits Labs™ Apache Cassandra® 的性能表现

如今,数据中心正积极将其高性能固态硬盘 (SSD) 整合至具有出色速度的 NVMe™ 协议,该协议不仅可扩展性强,而且能效显著。当容量需求需要一个 SSD 池时,NVMe Over Fabrics (NVMe-oF™) 应运而生。该应用支持机架级的 NVMe SSD 远程池,可灵活地将存储容量分配给不同的应用程序,从而有效解决分解式存储的难题。随后,新的挑战出现,即如何突破单个服务器的界限,将 NVMe 的性能优势推及至整个数据中心,从而尽可能利用其性能及实现投资回报。

作为 NVMe 标准的制定者,美光一直在软件定义存储领域积极探索,同时乐于分享我们的宝贵经验,在分解式存储解决方案方面尤其如此。早期 NVMe-oF 部署的主要挑战之一就是如何有效管理和配置 RDMA(远程直接内存访问)网络架构。

在美光的奥斯汀解决方案实验室,我领导着一支工程团队与业界的卓越企业紧密合作,不断尝试和应用新技术。最近,我们测试了 Lightbits Labs™ 推出的 NVMe over TCP (NVMe/TCP) 新型 NVMe-oF 协议。这项技术绕开了 RDMA 的复杂难题。

美光对此非常感兴趣。因为要让交换机支持 RDMA 可不是件轻松的事,这让网络管理复杂化。如果使用标准 TCP 来传输 NVMe,交换机则无需任何特别功能或设置,部署和使用也会变得更加简单,正如图 1 所示。这种简化的代价是,相较于 RDMA 协议(使用原生以太网),TCP 协议栈会带来额外延迟。

衡量任何网络解决方案的成功与否,关键在于其与应用程序服务器上本地存储的类似配置进行对比的表现。本次测试的目标是确定 Lightbits LightOS NVMe/TCP 解决方案在云工作负载环境下,相较于本地 NVMe 设备可能带来的额外费用(如有)。

用于 NVMe 传输的 TCP 协议栈图示

Lightbits for NVMe/TCP 简介

Lightbits 存储解决方案将其先进的 LightOS® 存储软件与 Lightfield™ Storage Acceleration PCIe 扩展卡相结合,不仅支持压缩和卸载后端操作,对于不同 OEM(原始设备制造商)打造的标准 x86 服务器上的全局闪存转换层(简称“全局 FTL”),也能实现管理。

Lightbits 存储解决方案包含一个或多个节点,每个节点均配备有 NVMe SSD 用于数据存储,同时辅以高级内存以及可选的非易失性双列直插式内存模块 (NVDIMM) 来提升缓存性能。这背后凝聚了大量的美光硬件技术!我们的目标是探索 Lightbits 如何充分利用美光的这些卓越性能优势。

本地直接连接的 PCIe 存储通常比网络存储快,但协议对延迟究竟具有多大影响? 本次测试中,我们开展了一项对比。对比双方中,一个是搭载本地 NVMe 驱动器的常见应用程序,另一个也是该应用程序,但其数据卷则取自 Lightbits LightOS 存储服务器,通过 TCP 提供。在此场景下,我们借助 Yahoo!® Cloud Serving Benchmark (YCSB) 这一工具,对 Apache® Cassandra® 的性能表现与延迟情况进行了测试。

测试配置详情

在本次概念验证测试中,我们设计了两种测试配置方案。 配置 1 包含四台独立的 Cassandra 服务器,这些服务器利用 Lightbits LightOS 提供的远程存储功能。

Lightbits LightOS 将每台服务器的 CPU 复合体独立划分为“存储节点”。双插槽服务器可以为每个 CPU 复合体托管一个存储节点。我们对指定给 CPU 插槽 0 的一个存储节点进行了测试。

存储节点托管了 8 个高性能美光 9300 3.84TB NVMe SSD。我们从 Lightbits 存储节点创建了四个 4.9 TB 逻辑卷,并向每个 Cassandra 数据库服务器分配了一个卷,如图 2 所示。

使用 LightBits LightOS 存储服务器的 Cassandra 测试配置图示

四台负载生成服务器借助 50 Gb 以太网适配器接入网络,并运行 YCSB 工作负载 A。

配置 2 包含四个采用本地 NVMe 的独立 Cassandra 服务器。每台 Cassandra 服务器托管两个美光 9300 3.84TB NVMe SSD,可在本地存储数据并连接到 100 Gb 以太网。四台负载生成服务器借助 50 GbE 接入网络,并运行 YCSB 工作负载 A。

测试配置见图 3。

使用本地 NVMe 的 Cassandra 测试配置图示

对于这两种测试配置,所呈现的每秒操作数 (OPS) 是四台 Cassandra 服务器的总和。记录的所有延迟数据均为四台 Cassandra 服务器的平均值。

两次测试中所用的所有服务器配置如下:

Cassandra 数据库服务器(四台)

  • 两枚 Intel Xeon Platinum 8168(24 核/2.7GHz)
  • 384 GB 内存
  • 100 Gbps Mellanox ConnectX-4
  • Datastax Cassandra v3.0.9
  • 两个 3.84 TB 美光 9300 Max NVMe 驱动器
    • 配置为 LVM 条带化卷,用于本地存储测试
      仅用于直连测试比较

Lightbits 存储服务器(一台)

  • 两枚 Intel Xeon Platinum 8168(24 核/2.7GHz)
  • 768 GB 内存(128 GB NVDIMM、640 GB PC2666)
  • 100 Gbps Mellanox ConnectX-5
  • 八个 3.84 TB 美光 9300 Max NVMe 驱动器
  • Lightbits 版本 1.2.3

负载生成服务器(四台)

  • 两枚 Intel Xeon E5-2690v4(14 核/2.6GHz)
  • 256 GB 内存
  • 50 Gbps Mellanox ConnectX-4
  • 支持 Cassandra 可压缩数据的 YCSB v0.16.0

在 SSD 总量下相同的情况下,我们重点研究了本地(四台 Cassandra 服务器,每台配备两块 SSD)和远程(一个配备了八块 SSD 的 Lightbits LightOS 节点)两种配置的性能差异,通过测量不同固定数据库事务负载下的平均延迟和尾部延迟来进行性能评估。

所有测试使用 YCSB 工作负载 A 进行,即 50% 的读取和 50% 的更新工作负载。为了在测试期间使用更大规模的数据集,我们还将数据分布从“Zipfian”调整为“均匀”。这一做法提高了对存储的利用率,比内存中缓存数据的利用率更高。我们进行了一系列测试,其中 YCSB 将性能限制为固定数量的 OPS,同时,我们测量了平均和服务质量 (QoS)(99.9%)延迟指标。每个接受测试的 Cassandra 数据库大小为 1.39 TB。

在针对 Cassandra 进行本地 NVMe 测试时,我们采用了软件压缩,但这种方式通常会带来额外费用,并且会直接影响性能。我们使用本地服务器条带式 LVM(逻辑卷管理器)进行本地测试。

对于远程 NVMe 测试,我们在 Cassandra 中禁用软件压缩,并在 Lightbits 存储服务器中使用 Lightfield 存储加速扩展卡启用压缩。我们使用 Lightbits 软件提供的磁盘条带化功能进行远程存储测试。针对逻辑卷,Lightbits 还支持独立磁盘冗余阵列 (RAID) 和纠删码。这些功能可能是我们未来测试中要探讨的内容。

测试结果揭示了令人惊讶的延迟数据

随着数据库每秒操作数的增加,我们观察到 Lightbits 与本地存储配置在平均读取延迟上呈现出显著相关性。在将服务器的操作速率限制在每秒 6 万次时,Lightbits 与本地存储配置之间的差异逐渐显现,本地数据库在延迟(线条图)和 OPS(柱状图)方面的表现均无法与 Lightbits 配置相媲美。在未加限制的 YCSB 测试中(右侧最后一个数据集),与本地存储配置相比,Lightbits 存储在平均读取延迟和总 OPS 方面均具有明显优势。

此图显示了 YCSB 工作负载 A 的平均读取延迟

云工作负载对于 QoS 延迟同样具有较高要求。下图显示了 99.9% QoS 延迟值,其结果与平均延迟相近。Lightbits 配置再次显示出更佳性能,本地存储的无限制 QoS 延迟增量为 28.9 毫秒,而远程存储的则为 40.7 毫秒。

此图显示了 YCSB 工作负载 A 的 QoS (99.9%) 读取延迟

令人惊讶的是,无论测试负载如何增加,平均更新延迟在两次测试中都呈现出下降趋势。这是 YCSB 限制机制运作的必然结果。在无限制状态下(图表最右端的条状图),无论是 Lightbits 配置还是本地 NVMe 配置,其平均更新延迟几乎完全一致(分别为 42 毫秒与 43 毫秒),但是 Lightbits 配置的总 OPS 更高。

此图显示了 YCSB 工作负载 A 的平均更新延迟

随着负载的增加,更新尾部延迟 (99.9%) 在两种测试配置中的测量值均呈现出相似的下降趋势。同样,这也是在限制性能的条件下,YCSB 测量更新延迟的方式造成的影响。一旦负载达到或超过每台服务器 60,000 OPS 的阈值,Lightbits 解决方案在 99.9% 延迟和总 OPS 两方面均呈现出可量化的优势。

此图显示了 YCSB 工作负载 A 的 QoS (99.9%) 更新延迟

经验总结

Lightbits Labs NVMe/TCP 解决方案降低了尾部延迟,并且 Cassandra 的整体性能接近或优于本地 NVMe。对于 Cassandra 这类应用,采用分离式存储显得尤为明智,因为它既能让管理员灵活分配存储容量,又能充分利用聚合 NVMe 的强大性能优势。

Lightbits 存储服务器的设置和配置非常简单,我们在一天内就完成了测试。测试结果表明,通过 Lightbits Labs 的技术助力,美光具有卓越速度的 NVMe SSD 能够成功迁移至外部存储环境,且出色的性能表现丝毫未减。

是否希望了解更多信息?

美光对于 Lightbits NVMe/TCP 方法十分感兴趣,并想要成为其投资者。我们准备了一份关于这些 NVMe/TCP Cassandra 结果的美光技术简报。请关注我们的 Twitter 账号 @MicronTech,并在 LinkedIn 上与我们联系,确保您及时获取相关通知,持续了解最新动态。

Director, Storage Solutions Architecture

Ryan Meredith

Ryan Meredith is director of Data Center Workload Engineering for Micron's Storage Business Unit, testing new technologies to help build Micron's thought leadership and awareness in fields like AI and NVMe-oF/TCP, along with all-flash software-defined storage technologies.