加入星计划,您可以享受以下权益:

  • 创作内容快速变现
  • 行业影响力扩散
  • 作品版权保护
  • 300W+ 专业用户
  • 1.5W+ 优质创作者
  • 5000+ 长期合作伙伴
立即加入
  • 正文
    • 传统TCP/IP网络传输困境
    • XDP的整体框架
    • RDMA在家宽网络中的应用探索
  • 推荐器件
  • 相关推荐
  • 电子产业图谱
申请入驻 产业图谱

算力网络城域RDMA在家宽网络中的应用探索

2023/11/06
3111
阅读需 18 分钟
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

作者:戚丁元,单位:中国移动智慧家庭运营中心

通信领域出场率最高的性能指标就是“带宽”和“时延”。简单的说,所谓带宽是指单位时间内能够传输的数据量,而时延指的是数据从本端发出到被对端接收所耗费的时间。因为协议本身设计的缺陷,传统以太网城域网算力化全面升级的今天,要同时保证高带宽和低时延则显得力不从心,而相比于传统以太网,RDMA技术同时做到了更高带宽和更低时延,所以其在带宽敏感的场景——比如海量数据的交互,时延敏感——比如多个计算节点间的数据同步的场景下得以发挥其作用。

RDMA(Remote Direct Memory Access,远程直接地址访问技术)是一种新的内存访问技术,可以让服务器直接高速读写其他服务器的内存数据,而不需要经过操作系统/CPU耗时的处理。RDMA已经广泛应用于高性能(HPC)科学计算中。随着数据中心高带宽、低时延的发展需求,RDMA也开始逐渐应用于某些要求数据中心具备高性能的场景中。举个例子,2021年某大型网上商城的双十一交易额再创新高,达到5000多亿,比2020年又增长了近10%。如此巨大的交易额背后是海量的数据处理,该网上商城就采用了RDMA技术来支撑高性能网络,保障了双十一的顺畅购物。

传统TCP/IP网络传输困境

1.1 传统以太网端到端传输系统开销过大

在描述通信过程时的软硬件关系时,我们通常将模型划分为用户层Userspace、内核Kernel以及硬件Hardware。

Userspace和Kernel实际上使用的是同一块物理内存,但是出于安全考虑,Linux将内存划分为用户空间和内核空间。用户层没有权限访问和修改内核空间的内存内容,只能通过系统调用陷入内核态,Linux的内存管理机制比较复杂。

一次典型的基于传统以太网的通信过程的可以如下图所示进行分层:

这个模型的数据流向大致是像上图这个样子,数据首先需要从用户空间复制一份到内核空间,这一次复制由CPU完成,将数据块从用户空间复制到内核空间的Socket Buffer中。内核中软件TCP/IP协议栈给数据添加各层头部和校验信息。最后网卡会通过DMA从内存中复制数据,并通过物理链路发送给对端的网卡。

而对端是完全相反的过程:硬件将数据包DMA拷贝到内存中,然后CPU会对数据包进行逐层解析和校验,最后将数据复制到用户空间。上述过程中的关键点是需要CPU全程参与整个数据的处理过程,即从用户空间拷贝数据到内核空间、以及对数据进行组装和解析等,数据量大的情况下,这将对CPU将造成很大的负担。

传统网络中,“节点A给节点B发消息”实际上做的是“把节点A内存中的一段数据,通过网络链路搬移到节点B的内存中”,而这一过程无论是发端还是收段,都需要CPU的指挥和控制,包括网卡的控制,中断的处理,报文的封装和解析等等。

上图中左边的节点在内存用户空间中的数据,需要经过CPU拷贝到内核空间的缓冲区中,然后才可以被网卡访问,这期间数据会经过软件实现的TCP/IP协议栈,加上各层头部和校验码,比如TCP头,IP头等。网卡通过DMA拷贝内核中的数据到网卡内部的缓冲区中,进行处理后通过物理链路发送给对端。

对端收到数据后,会进行相反的过程:从网卡内部存储空间,将数据通过DMA拷贝到内存内核空间的缓冲区中,然后CPU会通过TCP/IP协议栈对其进行解析,将数据取出来拷贝到用户空间中。可以看到,即使有了DMA技术,上述过程还是对CPU有较强的依赖。

1.2 TCP协议本身在长肥管道场景下存在天然不足

TCP长肥管道的两大特征

①传输时延(发送时延)很小:收发包速度很快,非常短的时间就能把大量的数据发送到网络上。

②传播时延很大:数据包从发送到网络上开始,要经过很长的时间(相比于发送时延)才能传送到接收端。

LFN对TCP性能的影响

①LFN的带宽延时积很大

(发送很快,传播到另外一端需要很长时间),导致会有大量的数据包滞留在传播途中TCP流控算法会在窗口变成0时停止发送。但原始的TCP头部的窗口大小字段是16位的,因此窗口大小最大为65535字节,这就将发送方发送但未被确认的数据的总长度限制到了65536字节。参考计算65535*8/1024/1024=0.5Mbps,那么假设发送速度足够快的前提下,在传播时延为100毫秒的网络里,只要5Mbps的带宽就可以做到在第一个bit还没有到达接收端时,发送端就已经发送完了最后一个bit, 然后窗口变成0,停止发送数据,还要等待至少100毫秒发送端才能收到接收端发回来的接收窗口通告,然后才能打开窗口继续发送,意味着最多只能使用到5Mbps的带宽,因此不能充分利用网络。------由此提出了窗口扩大选项以声明更大的窗口。

②LFN的高延时会导致管道枯竭

据TCP的拥塞控制,丢失分组会导致连接进行拥塞控制,即便是由于冗余ACK而进入了快速恢复,也会使得拥塞窗口降低一半,而如果是由于超时进入了慢启动,则拥塞窗口会变为1,无论是哪一种情形,发送方允许被发送的数据量都大量减小了,这会使得管道枯竭,网络通信速度急剧下降。

③LFN不利于TCP协议的RTT测量

按TCP协议,每个TCP连接只有一个RTT计时器, 同一时间,只有一个报文做RTT测量,启动RTT计时的数据在没有被ACK前, TCP无法进行下一次RTT的测量。而在长肥管道中,传播时延很大,这意味着RTT的测试周期很大。

④LFN导致收端tcp乱序

长肥管的发送速度非常快(发送时延),TCP对每个字节数据使用一个32bit无符号的序号来进行标识。TCP定义了最大的报文段生存时间(MSL)来限制报文段在网络中的生存时间。但是在LFN网络上,由于序号空间是有限的,在已经传输了4294967296个字节以后序号会被重用。如果网络快到在不到一个MSL的时候序号就发生了回绕,网络中就会有两个具有相同序号的不同的报文段,接收方将无法区分它们的顺序。在一个千兆比特网络(1000Mb/s)中只需要34秒就可以完成4294967296个字节的发送。

XDP的整体框架

2.1 基本原理

RDMA(Remote Direct Memory Access)意为远程直接地址访问,通过RDMA,本端节点可以“直接”访问远端节点的内存。所谓“直接”,指的是可以像访问本地内存一样,绕过传统以太网复杂的TCP/IP网络协议栈读写远端内存,而这个过程对端是不感知的,而且这个读写过程的大部分工作是由硬件而不是软件完成的。而使用了RDMA技术之后,这一过程可以简单的表示成下面的示意图:

同样是把本端内存中的一段数据,复制到对端内存中,在使用了RDMA技术时,两端的CPU几乎不用参与数据传输过程(只参与控制面)。本端的网卡直接从内存的用户空间DMA拷贝数据到内部存储空间,然后硬件进行各层报文的组装后,通过物理链路发送到对端网卡。对端的RDMA网卡收到数据后,剥离各层报文头和校验码,通过DMA将数据直接拷贝到用户空间内存中。RDMA将服务器应用数据直接由内存传输到智能网卡(固化RDMA协议),由智能网卡硬件完成RDMA传输报文封装,解放了操作系统和CPU。

2.2 核心优势

1)Zero Copy(零拷贝):无需将数据拷贝到操作系统内核态并处理数据包头部的过程,传输延迟会显著减小。

2)Kernel Bypass(内核旁路) :不需要操作系统内核参与,数据通路中没有繁琐的处理报头逻辑,不仅会使延迟降低,而且也大大节省了CPU的资源。

3)Protocol Offload(协议卸载):RDMA通信可以在远端节点CPU不参与通信的情况下,对内存进行读写,这实际上是把报文封装和解析放到硬件中做了。对比传统的以太网通信,双方CPU都必须参与各层报文的解析,如果数据量大且交互频繁,对CPU来讲将是一笔不小的开销,而这些被占用的CPU计算资源本可以做一些更有价值的工作。

相比于传统以太网,RDMA技术同时做到了更高带宽和更低时延,所以其在带宽敏感的场景——比如海量数据的交互,时延敏感——比如多个计算节点间的数据同步的场景下得以发挥其作用。

2.3 RDMA网络基本分类

目前,大致有三类RDMA网络,分别是InfiniBand、RoCE(RDMA over Converged Ethernet,RDMA过融合以太网)和iWARP(RDMA over TCP,互联网广域RDMA协议)。RDMA最早专属于Infiniband网络架构,从硬件级别保证可靠传输,而RoCE和iWARP都是基于以太网的RDMA技术。

1)InfiniBand

InfiniBand是一种专为RDMA设计的网络, 由IBTA(InfiniBand Trade Association)在2000年提出,其规定了一整套完整的链路层到传输层(非传统OSI七层模型的传输层,而是位于其之上)规范,主要采用Cut-Through转发模式(直通转发模式)以减少转发时延,基于Credit的流控机制(基于信用的流控机制)以保证无丢包。但IB也存在不可避免的成本缺陷。由于其无法兼容现有以太网,除了需要支持IB的网卡之外,企业如果想部署的话还要重新购买配套的交换设备。

2)RoCE

RoCE有两个版本:RoCEv1基于以太网链路层实现,v1版本网络层仍然使用了IB规范,而v2使用了UDP+IP作为网络层,使得数据包也可以被路由,只能在L2层传输;RoCEv2基于UDP承载RDMA,可部署于三层网络。

RoCE可以被认为是IB的“低成本解决方案”,部署RoCE网络需要支持RDMA专用智能网卡,不需要专用交换机路由器(支持ECN/PFC等技术,降低丢包率),其建网成本在三种rdma网络模型中最低。

3)iWARP

传输层为iWARP协议,iWARP是以太网TCP / IP协议中TCP层实现,支持L2 / L3层传输,大型组网TCP连接会消耗大量CPU,所以应用很少。

iWARP只要求网卡支持RDMA,不需要专用交换机和路由器,建网成本介于InfiniBand和RoCE之间。

2.4 实现对比

Infiniband技术先进,但是价格高昂,应用局限在HPC高性能计算领域,随着RoCE和iWARPC的出现,RDMA的使用成本进一步,从而推动了RDMA技术普及。

在高性能存储、计算数据中心中采用这三类RDMA网络,都可以大幅度降低数据传输时延,并为应用程序提供更高的CPU资源可用性。

其中InfiniBand网络为数据中心带来极致的性能,传输时延低至百纳秒,比以太网设备延时要低一个量级;

RoCE和iWARP网络为数据中心带来超高性价比,基于以太网承载RDMA,充分利用了RDMA的高性能和低CPU使用率等优势,同时网络建设成本也不高;

基于UDP协议的RoCE比基于TCP协议的iWARP性能更好,结合无损以太网的流控技术,解决了丢包敏感的问题,RoCE网络已广泛应用于各行业高性能数据中心中。

RDMA在家宽网络中的应用探索

在“网络强国、数字中国、智慧社会”等国家战略的全面推进下,数字化、网络化、智能化的数字家庭已经成为智慧城市理念在家庭层面的体现,“十四五”规划和2035远景目标中,数字家庭被定位为构筑“美好数字生活新图景”的重要组成部分,在新一代信息技术的支持下,数字家庭正向智慧家庭不断演进,完成从“数字”到“智慧”的转变。当前,中国智慧家庭市场规模逐年扩大,中国已成为全球最大的智能家居市场消费国,占据全球约50%~60%的市场份额(数据来源:CSHIA,艾梅数据,国家统计局)。据赛迪顾问研究预计,2030年中国智慧家庭市场规模将会达到15700亿元,2021—2030年平均复合增长率(CAGR)高达14.6%。

伴随着家宽市场规模的快速发展是:

① 家宽无差异化、尽力而为的服务方式与业务差异化、确定性网络质量需求间的矛盾

当前宽带接入对不同业务网络连接不做差异化区别,以尽力而为方式提供服务,在拥塞时所有业务优先级相同,采用的处理策略相同。但业务对网络质量要求不同,对时延丢包等敏感度不同,部分时延敏感业务如游戏、云电脑等需要确定性网络保障,为确保用户体验,在网络拥塞丢包时,用户体验急剧下降,因此在拥塞时对此类业务需要不同的处理策略。

② 带宽提升与长肥管道场景体验劣化间的矛盾

根据工信部统计数据,全国100Mbps以上宽带用户占比超过94%,但用户在访问远距离内容时仍存在卡顿、下载速度慢的问题。其原因不是接入带宽不足,而是底层TCP协议拥塞控制算法在长肥管道(LFN)场景下的天然不足。TCP为几十年前的协议,已无法适应目前的网络状态与应用需求,亟需新的协议与算法来确保长肥管道场景下的业务体验。

综上,从行业趋势上来看,在家宽网络算力化升级的浪潮之下,RDMA技术相比于TCP而言,能够实现计算和网络的深度融合。将数据直接从一台计算机的内存传输到另一台计算机,无需双方操作系统的介入,不需要经过处理器耗时的处理,最终达到高带宽、低时延和低资源占用率的效果。

参考文献

[1]https://zhuanlan.zhihu.com/p/138874738, 2021.12.24.

[2]https://blog.csdn.net/meihualing/article/details/129506207, 2023.5.5.

推荐器件

更多器件
器件型号 数量 器件厂商 器件描述 数据手册 ECAD模型 风险等级 参考价格 更多信息
KSZ9031RNXCA 1 Microchip Technology Inc DATACOM, ETHERNET TRANSCEIVER

ECAD模型

下载ECAD模型
$5.5 查看
SN65HVD251DR 1 Texas Instruments High Speed CAN Transceiver with Short Loop Delay 8-SOIC -40 to 125

ECAD模型

下载ECAD模型
$4.3 查看
TJA1055T/3/C,518 1 NXP Semiconductors TJA1055 - Enhanced fault-tolerant CAN transceiver SOIC 14-Pin

ECAD模型

下载ECAD模型
$1.64 查看
中国移动

中国移动

中国移动有限公司(「本公司」,包括子公司合称为「本集团」)于1997年9月3日在香港成立,本集团在中国内地所有三十一个省、自治区、直辖市以及香港特别行政区提供通信和信息服务,业务主要涵盖个人、家庭、政企和新兴市场的语音、数据、宽带、专线、IDC、云计算、物联网等,是中国内地最大的通信和信息服务供应商,亦是全球网络和客户规模最大、盈利能力领先、市值排名位居前列的世界级通信和信息运营商。

中国移动有限公司(「本公司」,包括子公司合称为「本集团」)于1997年9月3日在香港成立,本集团在中国内地所有三十一个省、自治区、直辖市以及香港特别行政区提供通信和信息服务,业务主要涵盖个人、家庭、政企和新兴市场的语音、数据、宽带、专线、IDC、云计算、物联网等,是中国内地最大的通信和信息服务供应商,亦是全球网络和客户规模最大、盈利能力领先、市值排名位居前列的世界级通信和信息运营商。收起

查看更多

相关推荐

电子产业图谱

移动Labs是中国移动的社交化新媒体平台,是面向外部行业及产业链合作伙伴的信息发布、业务发展和产业推进门户。