基于 SmartX 分布式存储的 RDMA 与 TCP/IP 技术与性能对比

这篇具有很好参考价值的文章主要介绍了基于 SmartX 分布式存储的 RDMA 与 TCP/IP 技术与性能对比。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

作者:深耕行业的 SmartX 金融团队

背景

上一篇 “分布式块存储 ZBS 的自主研发之旅|架构篇” 文章中,我们简单介绍了 SmartX 分布式块存储 ZBS 的架构原理。接下来,我们将为读者深入解析 ZBS 存储中最为重要的技术之一“RDMA”。

目前 ZBS 在两个层面会使用到 RDMA 技术,分别是存储接入网络和存储内部数据同步网络。为了使读者更加容易理解,以及更有针对性地做存储性能对比,特通过两篇独立的文章分别进行介绍。本期,我们将聚焦 RDMA 远程内存直接访问技术,并结合 ZBS 内部存储数据同步进行详细的展开(ZBS 支持 RDMA 能力,也是在存储内部数据同步中最先实现)。

ZBS 存储内部数据同步

分布式存储系统与集中存储最重要的区别之一就是架构实现。分布式架构要保证数据的存储一致性和可靠性,就必须依赖网络进行数据同步。这里举一个例子,一个由 3 节点(A/B/C)组成的 ZBS 存储集群,数据采用两副本保护(数据存储两份,放置在不同的物理节点),假设数据分别存放在节点 A 和节点 B 上,当数据发生修改,ZBS 分布式存储必须完成对节点 A 和 B 的数据修改再返回确认。在这个过程中,A 和 B 节点同步数据修改,所使用的网络,即是存储网络。

通过例子,相信读者已经理解,数据同步效率对于分布式存储的性能表现有着非常大的影响,是分布式存储性能优化的重要方向之一,也是本篇文章重点讨论的内容。

基于 SmartX 分布式存储的 RDMA 与 TCP/IP 技术与性能对比

图 1:分布式存储数据同步网络

在目前常规的工作负载需求下,ZBS 存储网络通常使用 10GbE 以太网交换机和服务器网卡配置,采用标准 TCP/IP 作为网络传输协议。但对于高带宽和低延时的业务工作负载,这样的配置明显会成为内部存储数据同步的性能瓶颈。同时,为了发挥新型的高速存储介质(例如 NVMe 磁盘)更强劲的 I/O 性能,采用 RDMA 技术并结合 25GbE 或更高的网络规格,是满足业务端更高的存储性能诉求的更优选择。

TCP/IP

通过软件定义实现的分布式存储,基于通用标准的硬件构建,是其有别于传统存储的重要的特点之一。多年以来,ZBS 使用 TCP/IP 网络协议栈作为存储内部通信方式,优势是具备与现有以太网最大的兼容性,同时满足绝大多数客户的业务工作负载需求。但 TCP/IP 网络通信逐渐不能适应更高性能计算的业务诉求,其主要限制有以下两点:

  • TCP/IP 协议栈处理带来的时延

TCP 协议栈在接收/发送数据报文时,系统内核需要做多次上下文切换,这个动作无疑将增加传输时延。另外在数据传输过程中,还需要多次数据复制和依赖 CPU 进行协议封装处理,这就导致仅仅是协议栈处理就带来数十微秒的时延。

  • TCP 协议栈处理导致服务器更高的 CPU 消耗

除了时延问题,TCP/IP 网络需要主机 CPU 多次参与到协议栈的内存复制。分布式存储网络规模越大,网络带宽要求越高,CPU 收发数据时的处理负担也就越大,导致 CPU 资源的更高消耗(对于超融合架构,是非常不友好的)。

基于 SmartX 分布式存储的 RDMA 与 TCP/IP 技术与性能对比

图 2:TCP/IP Socket 通信

RDMA

RDMA 是 Remote Direct Memory Access 的缩写。其中 DMA 是指设备直接读写内存技术(无需经过 CPU)。

基于 SmartX 分布式存储的 RDMA 与 TCP/IP 技术与性能对比

图 3:DMA

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

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

基于 SmartX 分布式存储的 RDMA 与 TCP/IP 技术与性能对比

图 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 需要设备厂商(网卡和交换机)的生态支持,主流网络厂家的协议支持能力如下:

基于 SmartX 分布式存储的 RDMA 与 TCP/IP 技术与性能对比

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

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

基于 SmartX 分布式存储的 RDMA 与 TCP/IP 技术与性能对比

图 5:ZBS RDMA RoCEv2

性能验证数据

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

环境信息

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

基于 SmartX 分布式存储的 RDMA 与 TCP/IP 技术与性能对比

性能数据

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

性能对比数据

基于 SmartX 分布式存储的 RDMA 与 TCP/IP 技术与性能对比

测试结论

通过以上基准测试数据,可以看出,相同软硬件环境以及测试方法下,使用 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 更多产品特性与技术实现亮点文章来源地址https://www.toymoban.com/news/detail-400764.html

到了这里,关于基于 SmartX 分布式存储的 RDMA 与 TCP/IP 技术与性能对比的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • 【金猿案例展】智谱AI——基于全闪分布式并行文件存储打造高速大模型训练平台...

    【金猿案例展】智谱AI——基于全闪分布式并行文件存储打造高速大模型训练平台...

    ‍ 焱融科技案例 本项目案例由焱融科技投递并参与“数据猿年度金猿策划活动——2023大数据产业年度创新服务企业榜单/奖项”评选。 大数据产业创新服务媒体 ——聚焦数据 · 改变商业 自 ChatGPT 爆火以来,中国的 AI 产业已经进入名副其实的“百模大战”。《中国人工智能

    2024年02月02日
    浏览(12)
  • 【分布式】分布式存储架构

    【分布式】分布式存储架构

    说到分布式存储,我们先来看一下传统的存储是怎么个样子。 传统的存储也称为集中式存储, 从概念上可以看出来是具有集中性的,也就是整个存储是集中在一个系统中的,但集中式存储并不是一个单独的设备,是集中在一套系统当中的多个设备,比如下图中的 EMC 存储就需

    2024年02月10日
    浏览(16)
  • 【分布式技术】分布式存储ceph之RBD块存储部署

    【分布式技术】分布式存储ceph之RBD块存储部署

    目录 创建 Ceph 块存储系统 RBD 接口 服务端操作 1、创建一个名为 rbd-demo 的专门用于 RBD 的存储池 2、将存储池转换为 RBD 模式 3、初始化存储池 4、创建镜像 5、在管理节点创建并授权一个用户可访问指定的 RBD 存储池 6、修改RBD镜像特性,CentOS7默认情况下只支持layering和stripin

    2024年01月18日
    浏览(21)
  • 分布式键值存储是什么?(分布式键值存储大值)

    分布式键值存储是一种分布式数据存储系统,它将数据存储为键值对的形式,并将这些键值对分散在多个节点上。每个节点都可以独立地处理一部分数据,从而实现高可用性和可扩展性。分布式键值存储通常具有以下特点: 简单:数据以键值对的形式存储,操作简单,易于使

    2024年02月03日
    浏览(12)
  • 云存储、云计算与分布式存储、分布式计算是一回事吗?

    云存储、云计算与分布式存储、分布式计算是一回事吗?

    随着互联网的蓬勃兴起,大数据、人工智能、物联网、云计算与云存储等这些专业词汇在大众视野内出现的频率越来越高,再加上近几年分布式技术异军突起,更使得分布式存储、分布式计算等成为热词。然而,很多人对这些名词都一知半解,所以本文将主要和大家聊一聊,

    2024年01月25日
    浏览(16)
  • 基于文心一言AI大模型,编写一段python3程序以获取华为分布式块存储REST接口的实时数据

    基于文心一言AI大模型,编写一段python3程序以获取华为分布式块存储REST接口的实时数据

    本文尝试基于文心一言AI大模型,编写一段python3程序以获取华为分布式块存储REST接口的实时数据。 一、用文心一言AI大模型将需求转化为样例代码 1、第一次对话:“python3写一段从rest服务器获取数据的样例代码” 同时生成了以下注解  这段代码首先定义了一个函数  get_da

    2024年02月03日
    浏览(21)
  • 【分布式技术】分布式存储ceph之RGW接口

    【分布式技术】分布式存储ceph之RGW接口

    目录 1、对象存储概念  2、创建 RGW 接口 //在管理节点创建一个 RGW 守护进程 #创建成功后默认情况下会自动创建一系列用于 RGW 的存储池  #默认情况下 RGW 监听 7480 号端口  //开启 http+https ,更改监听端口 #更改监听端口 ​          //创建 RadosGW 账户 客户端测试 OSD 故障模拟

    2024年01月19日
    浏览(16)
  • 分布式系统架构设计之分布式数据存储的扩展方式、主从复制以及分布式一致性

    分布式系统架构设计之分布式数据存储的扩展方式、主从复制以及分布式一致性

    在分布式系统中,数据存储的扩展是为了适应业务的增长和提高系统的性能。分为水平扩展和垂直扩展两种方式,这两种方式在架构设计和应用场景上有着不同的优势和局限性。 水平扩展是通过增加节点或服务器的数量来扩大整个系统的容量和性能。在数据存储领域,水平扩

    2024年02月03日
    浏览(53)
  • ceph分布式存储

    ceph分布式存储

    Ceph是当前非常流行的开源分布式存储系统,具有高扩展性、高性能、高可靠性 等优点,同时提供块存储服务(rbd)、对象存储服务(rgw)以及文件系统存储服务(cephfs),Ceph在存储的时候充分利用存储节点的计算能力,在存储每一个数据时 都会通过计算得出该数据的位置,尽量的分

    2023年04月08日
    浏览(13)
  • Ceph 分布式存储

    Ceph 分布式存储

    DAS(直接附加存储,是直接接到计算机的主板总线上去的存储) IDE、SATA、SCSI、SAS、USB 接口的磁盘 所谓接口就是一种存储设备驱动下的磁盘设备,提供块级别的存储 NAS(网络附加存储,是通过网络附加到当前主机文件系统之上的存储) NFS、CIFS、FTP 文件系统级别的存储,本

    2024年02月16日
    浏览(11)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包