RDMA および TCP/IP テクノロジーと SmartX 分散ストレージに基づくパフォーマンスの比較

著者: SmartX Financial Team、業界に深く関与

背景

前回の記事「分散ブロックストレージ ZBS の独自研究開発の歩み|アーキテクチャ」では、SmartX 分散ブロックストレージ ZBS のアーキテクチャ原理を簡単に紹介しました。次に、ZBS ストレージの最も重要なテクノロジの 1 つである「RDMA」について詳しく分析します。

現在、ZBS は、ストレージ アクセス ネットワークとストレージ内部データ同期ネットワークという 2 つのレベルで RDMA テクノロジーを使用しています。読者がストレージのパフォーマンスを理解し、より的を絞った比較をしやすくするために、2 つの独立した記事が別々に紹介されています。今回は、RDMA リモート メモリ ダイレクト アクセス テクノロジに焦点を当て、ZBS の内部ストレージ データ同期と組み合わせて詳細な拡張を行います(ZBS は RDMA 機能をサポートし、内部ストレージ データ同期を初めて実装しました)。

ZBSストレージの内部データ同期

分散ストレージ システムと集中ストレージの最も重要な違いの 1 つは、アーキテクチャの実装です。データのストレージの一貫性と信頼性を確保するには、分散アーキテクチャはデータの同期をネットワークに依存する必要があります。ここでは、3 つのノード (A/B/C) で構成される ZBS ストレージ クラスターの例を示します。データは 2 つのコピーによって保護されます (データは、異なる物理ノードに配置された 2 つのコピーに保存されます)。 B でデータが変更されると、ZBS 分散ストレージはノード A と B でのデータ変更を完了してから確認を返す必要があります。このプロセスでは、ノード A と B はデータ変更を同期します。使用されるネットワークはストレージ ネットワークです。

例を通じて、読者の皆様には、データ同期の効率が分散ストレージのパフォーマンスに大きな影響を与えることが理解できたと思いますが、これは分散ストレージのパフォーマンス最適化の重要な方向性の 1 つであり、この記事の焦点でもあります

図 1: 分散ストレージ データ同期ネットワーク

現在の従来のワークロード要件では、ZBS ストレージ ネットワークは通常、10GbE イーサネット スイッチとサーバー ネットワーク カードを使用して構成され、ネットワーク伝送プロトコルとして標準の TCP/IP を使用します。ただし、高帯域幅で低遅延のビジネス ワークロードの場合、このような構成は明らかに内部ストレージ データ同期のパフォーマンスのボトルネックになります。同時に、新しい高速ストレージ メディア (NVMe ディスクなど) の強力な I/O パフォーマンスを活用するには、25GbE 以上のネットワーク仕様と組み合わせた RDMA テクノロジを使用することが、より高度なストレージに対応するためのより良い選択となります。ビジネスエンドのパフォーマンス要件。

TCP/IP

ソフトウェア定義によって実装され、汎用標準ハードウェア上に構築された分散ストレージは、従来のストレージと区別する重要な機能の 1 つです。ZBS は長年にわたり、ストレージの内部通信方式として TCP/IP ネットワーク プロトコル スタックを使用してきましたが、その利点は、既存のイーサネットとの互換性が最も高く、大多数の顧客のビジネス ワークロード要件を満たしていることです。しかし、TCP/IP ネットワーク通信は、より高性能なコンピューティングのビジネス要件に徐々に適応できなくなり、主に次の 2 点の制限があります。

  • TCP/IPプロトコルスタック処理による遅延

TCP プロトコル スタックがデータ パケットを送受信するとき、システム カーネルは複数のコンテキスト スイッチを実行する必要があり、この動作により伝送遅延が確実に増加します。さらに、データ送信処理中に複数のデータコピーが必要となり、プロトコルのカプセル化処理に CPU が依存するため、プロトコルスタック処理だけで数十マイクロ秒の遅延が発生します。

  • TCP プロトコル スタック処理によりサーバーの CPU 消費量が増加する

遅延の問題に加えて、TCP/IP ネットワークでは、ホスト CPU がプロトコル スタックのメモリ コピーに複数回参加する必要があります。分散ストレージ ネットワークの規模が大きくなるほど、ネットワーク帯域幅の要件が高くなり、データの送受信時の CPU の処理負荷が大きくなり、CPU リソースの消費量が増加します (これはハイパーコンバージド アーキテクチャにとって非常に不利です)。 。

図 2: TCP/IP ソケット通信

RDMA

RDMAはRemote Direct Memory Accessの略称です。DMA は、(CPU を介さずに) メモリを直接読み書きするデバイスのテクノロジーを指します。

図 3: DMA

RDMA 技术的出现,为降低 TCP/IP 网络传输时延和 CPU 资源消耗,提供了一种全新且高效的解决思路。通过直接内存访问技术,数据从一个系统快速移动到远程系统的内存中,无需经过内核网络协议栈,不需要经过中央处理器耗时的处理,最终达到高带宽、低时延和低 CPU 资源占用的效果。

目前实现 RDMA 的方案有如下 3 种:

图 4:RDMA 实现方案 (图片来源:SNIA)

InfiniBand(IB)是一种提供了 RDMA 功能的全栈架构,包含了编程接口、二到四层协议、网卡接口和交换机等一整套 RDMA 解决方案。InfiniBand 的编程接口也是 RDMA 编程接口的事实标准,RoCE 和 iWARP 都使用 InfiniBand 的接口进行编程。

RoCE(RDMA over Converged Ethernet)和 iWARP(常被解释为 Internet Wide Area RDMA Protocol,这并不准确,RDMA Consortium 专门做出解释 iWARP 并不是缩写),两个技术都是将 InfiniBand 的编程接口封装在以太网进行传输的方案实现。RoCE 分为两个版本,RoCEv1 包含了网络层和传输层的协议,所以不支持路由(更像是过渡协议,应用并不多);RoCEv2 基于 UDP/IP 协议,具有可路由能力。iWARP 是构建于 TCP 协议之上的。

跟 RoCE 协议继承自 Infiniband 不同,iWARP 本身不是直接从 Infiniband 发展而来的。Infiniband 和 RoCE 协议都是基于“Infiniband Architecture Specification”,也就是常说的“IB 规范”。而 iWARP 是自成一派,遵循着一套 IETF 设计的协议标准。虽然遵循着不同的标准,但是 iWARP 的设计思想受到了很多 Infiniband 的影响,并且目前使用同一套编程接口(Verbs*)。这三种协议在概念层面并没有差异。

* Verb 是 RDMA 语境中对网络适配器功能的一个抽象,每个 Verb 是一个函数,代表了一个 RDMA 的功能,实现发送或接收数据、创建或删除 RDMA 对象等动作。

RDMA 需要设备厂商(网卡和交换机)的生态支持,主流网络厂家的协议支持能力如下:

Infiniband 从协议到软硬件封闭,其性能虽然最优,但成本也最高,因为需要更换全套设备,包括网卡、光缆和交换机等。这对于通用标准化的分布式存储场景并不友好,在 ZBS 选择时首先被排除掉。

对于 RoCE 和 iWARP 选择上,虽然 RoCE 在数据重传和拥塞控制上受到 UDP 协议自身的限制,需要无损网络的环境支持,但在综合生态、协议效率和复杂度等多方面因素评估下,SmartX 更加看好 RoCE 未来的发展,在极致的性能诉求下,RoCE 也会比 iWARP 具有更强的潜力。当前 ZBS 存储内部数据同步网络采用的是 RoCEv2 的 RDMA 技术路线。

图 5:ZBS RDMA RoCEv2

性能验证数据

为了使测试数据有更直观的对比性(RDMA vs TCP/IP),将控制测试环境严格一致性,包括硬件配置、系统版本以及相关软件版本,唯一变量仅为开启/关闭存储内部数据同步 RDMA 能力,基于此,测试集群在两种状态下的性能表现。

环境信息

存储集群,由 3 节点组成,安装 SMTX OS 5.0,分层存储结构,所有存储节点的硬件配置相同,节点环境信息如下:

性能数据

在相同的测试环境和测试方法下,分别使用 RDMA 和 TCP/IP 协议进行性能验证。为了更好地观测读写 I/O 跨节点的性能表现(ZBS 分布式存储默认具有数据本地化特点,对读 I/O 模型有明显优化作用),本次测试基于 Data Channel 平面(ZBS 内部的 RPC 通道,用于节点间收发数请求)。本测试仅用于评估网络性能差异,I/O 读写操作并不落盘。

性能对比数据

测试结论

通过以上基准测试数据,可以看出,相同软硬件环境以及测试方法下,使用 RDMA 作为存储内部数据同步协议,可以取得更优的 I/O 性能输出。其表现为更高的 4K 随机 IOPS 和更低的延时,以及在 256K 顺序读写场景,充分释放网络带宽(25GbE)条件,提供更高的数据吞吐表现。

总结

通过本篇文章的理论介绍和客观的性能测试数据,希望读者能够对于 RDMA 协议有了更加全面的了解。RDMA 对于数据跨网络通信性能的优化,已经应用于很多企业场景中,分布式存储作为其中一个重要场景,借助 RDMA 实现了存储内部数据同步效率的提升,进而为更高工作负载需求的业务应用提供了更好的存储性能表现。

参考文章:

1. RDMA over Converged Ethernet. Wikipedia.

https://en.wikipedia.org/wiki/RDMA_over_Converged_Ethernet

2. How Ethernet RDMA Protocols iWARP and RoCE Support NVMe over Fabrics.

https://www.snia.org/sites/default/files/ESF/How_Ethernet_RDMA_Protocols_Support_NVMe_over_Fabrics_Final.pdf

点击了解 SMTX ZBS 更多产品特性与技术实现亮点

おすすめ

転載: blog.csdn.net/weixin_43696211/article/details/128942120