王光全,满祥锟,徐博华,吕福华,孟万红(.中国联通研究院,北京 00048;.华为技术有限公司,广东 深圳 589)
2022年1月,国务院印发《“十四五”数字经济发展规划》,提出加快建设信息网络基础设施,有序推进基础设施智能升级,加快实施“东数西算”工程的要求。随着国家东数西算战略的推进,越来越多的算力协同场景以及跨地域大数据搬移场景开始涌现。数据和算力已经不再局限于单一的数据中心,更多的新型计算任务和大量数据需要在多个算力中心间流转并进行算力协同,算力中心间的长距高性能传输能力已成为影响业务性能的关键因素。
算力互联意味着将算力中心内部的DCN 网络进行延伸,典型的DCN网络覆盖范围在10 km以内,且高性能计算DCN 网络当前主流的协议为远程内存直接访 问(Remote Direct Memory Access,RDMA),由 于RDMA 协议要求无损传输,当将DCN 网络扩展到广域百公里至千公里的范围时,会导致超长的链路传输时延,进而导致网络状态反馈滞后。然而,现有的传输层协议的拥塞控制算法存在不足之处(例如,在长距离传输中,Cubic 算法的带宽利用率低,丢包现象较为严重),无法有效地利用带宽。为了应对超长距传输的挑战,满足高性能算力互连的需求,承载网必须具备长距无损确定性传输能力,并且需要与终端侧进行协同,以确保高性能协议的传输效率。因此,如何构建大带宽的确定性网络以实现千公里级RDMA 的无损传输是当前广域算力互联领域的研究热点。
传统的TCP/IP 存在着网络传输和数据处理延迟过大、多次数据拷贝和中断处理、复杂的TCP/IP 协议处理等问题。RDMA[1-2]支持本端节点“直接”访问远端节点内存的操作,本端节点可以像访问本地内存一样,绕过传统以太网中复杂的TCP/IP 网络协议栈读写远端内存。由网卡直接进行内存读写操作,能够释放CPU 算力并降低数据的传输时延,这是一种为了解决网络传输中服务器端数据处理延迟问题而产生的技术。
RDMA 有3 种传输模式:RDMA Send、RDMA Read和RDMA Write。如图1 所示,其协议传输的主要特征是:以数据块为单元,一次把所要传输数据根据PMTU大小进行切片,直到所有数据块传输完毕;采用PSN系列号机制确认数据的完整性,如果有丢包,则进行重传;可以配置多队列、多数据块请求、调整PMTU 大小、设置网卡队列缓存大小等参数,提升RDMA 的传输效率。针对丢包,采用Go Back N 重传机制,检测到PSN 序列号丢失时,则请求从该PSN 序列号之后的报文全部重传。目前RDMA 协议不支持选择性重传,因此,一旦网络有丢包,则无法保证RDMA 协议的传输效率。
图1 RDMA 3种传输模式对比
RDMA 技术主要包括IB、RoCE和iWARP。
IB(InfiniBand):基于InfiniBand 架构的RDMA 技术,需要专用的IB网卡和IB交换机。
RoCE(RDMA over Converged Ethernet):基于以太网的RDMA 技术,需要交换机支持无损以太网传输,此时要求服务器使用RoCE网卡。
iWARP(Internet Wide Area RDMA Protocal):基于TCP/IP 协议的RDMA 技术,由IETF 标准定义,目前使用较少。
目前,IB 主要在DC 内应用,因为其链路层采用Credit 机制,所以无法实现满速率的长距传输。因此,本文主要讨论RoCE 对网络的要求及相应的解决方案。在RoCE 网络中,为了确保网络传输过程中不丢包,需要构建无损以太网。目前,主要采用2 种机制:PFC 机制和ECN 机制[3]。PFC 机制是交换节点逐级向上游设备反压,上游设备缓存报文,若Buffer 达到阈值,则会继续向上游反压;ECN 机制是报文在网络节点中发生拥塞并触发ECN时,使用IP报文头的ECN字段标记数据包,这表明该报文遇到网络拥塞,并将它发送给源端服务器,源服务器收到后,通过降低相应流发送速率,缓解网络设备拥塞,从而避免丢包。
RDMA技术最典型的落地业务场景是高性能计算(HPC/AI)。为了满足超长距高性能算力互连要求,传统广域基于TCP/IP 传输协议的互联网络,面临3 个方面的挑战:首先,高性能计算互联单次突发数据量为MB/GB 级别的大流,而TCP/IP 机制需要把数据切分为小分片(MTU 默认1 500),导致有效载荷低;其次,互联网网络采用逐层收敛结构,业务传输跳数多,网络上的数据突发和拥塞都会造成不可预知的时延、抖动和丢包。为保证业务端到端可靠传输,RDMA 的丢包重传机制额外耗费了网络带宽,降低了业务吞吐率,进一步导致性能下降。第三,原生RDMA 技术对丢包敏感,难以直接用于有损的广域网络传输,因此,需要设计高品质无收敛的网络互联架构与技术,让RDMA数据流可以直接承载在具有确定性品质的无损网络上,中间不再经过多级交换汇聚设备,以减少拥塞,提升吞吐率;考虑到算力互联间带宽以100G~400G 的大颗粒为主,适合在源点和宿点之间构筑波长级的一跳直达连接,以避免网络拥塞和丢包导致的效率降低;而广域拉远带来的传输时延是客观存在的,通过确定性的传输时延,与端侧RDMA 协议协同调整RDMA 传输参数,也是提升RDMA 广域传输效率的有效手段。因此通过架构、技术、协议等多方面的优化和改进,可以有效提高RDMA跨广域传输吞吐率。
RDMA 的吞吐率受到诸如距离、丢包、QP 数量和传输块大小等多种因素的影响。本文基于全光网络的长距环境,对RDMA 的吞吐量进行了研究。验证环境的组网如图2 所示,通过OTN 全光无损网络提供低于10-15误码率的高质量长距传输链路,包括2 条不同长度(200 m和600 km)的光纤链路,这2条链路的带宽均为100 Gbit/s。基于这条OTN 链路使用性能测试工具(IB write)进行吞吐量测试。
图2 RDMA吞吐量影响测试连接
为了测试长距带来的时延对RDMA 吞吐量的影响,采用OMSP 保护方式,构建2 条不同长度的光路,一条为200 m,另一条为600 km,默认将OMSP 保护组工作在短路由上,即服务器1 和服务器2 之间的业务流工作在短距离连接上,链路误码率为10-15,服务器1和服务器2 通过IB write 打流,链路最高吞吐量为100 Gbit/s。具体如图3所示。
图3 不同距离下对长距离RDMA影响测试
然后,通过触发LOS 将工作路由切换到长路径上,再次用IB write 打流测试。结果显示,吞吐量只有原来的1/10,即约10 Gbit/s。这表明,随着传输距离的增加,ACK 回复变慢,导致网卡出口缓存被占满,业务吞吐率下降。在调整IB write 参数的情况下,增大RDMA 块大小或者QP 数量,RDMA 在600 km 长距离下达到满速100 Gbit/s(百分百吞吐量)。因此,在链路无损的情况下,RDMA 协议需要根据传输距离设置合适的QP 数量或块大小,以保证长距离吞吐量不下降(见图4)。
图4 RDMA协议中对应QP数量或块大小调整示意
长距离丢包的主要原因有2 类,一类是以太客户侧的丢包,例如尾纤和连接器出问题时导致的丢包,另一类是光线路侧的丢包。长距离传输虽然会出现误码,但是相干系统自带FEC 纠错功能,所以光线路侧丢包主要是由瞬断导致的。
以太客户侧的丢包主要原因有:尾纤问题和连接器问题。
a)尾纤问题:尾纤是用于传输电信号的光纤,如果尾纤质量不佳或者使用不当,就会在信号传输过程中出现丢失、反射、噪声等问题,从而导致丢包。例如尾纤损坏或者有污点,都可能在信号传输过程中出现丢失现象,从而导致丢包。
b)连接器问题:连接器是用于连接尾纤和设备的接口,如果连接器质量不佳或者使用不当,就会在信号传输过程中出现丢失、反射、噪声等问题,从而导致丢包。例如连接器损坏或者有污点,都可能在信号传输过程中出现丢失现象,从而导致丢包。
光纤瞬断是光线路侧丢包的典型问题,常见的瞬断原因包括如下3种。
a)光纤质量问题。光纤质量问题是导致光纤瞬断的主要原因之一,光纤的质量直接影响其传输能力和可靠性。如果光纤存在质量问题,如损坏、污染、弯曲度过度过大等,就会导致光纤传输过程中出现短期中断。
b)环境因素。环境因素包括温度、湿度、光照等。在某些环境下,如高温、低温、高湿度、低光照等,光纤的传输性能会受到影响,从而导致光纤瞬断。
c)人为因素。人为因素包括光纤的意外弯曲、拉断、碰撞等,这些因素可能会导致光纤出现短期中断。
由于RDMA 对丢包敏感,一旦光纤瞬断导致丢包频繁出现,会引起RDMA 协议层Go Back N 机制重传丢包后的所有报文,导致RDMA 吞吐率急速下降(见图5)。
图5 光纤瞬断对RDMA传输的影响
实验室通过在光路上增加噪声的方式,模拟线路出现大量误码造成光纤瞬断的情况。通过抓包观察,发现此时RDMA 业务会出现时断时续的现象,测试结果显示,当业务丢包率达到万分之六以上,RDMA的吞吐量会直线下降(见表1)。
表1 丢包率与带宽关系表
基于优先级的流量控制(Priority-based Flow Control,PFC)是一种能够有效避免丢包的流量控制技术。PFC 基于优先级的流量控制,将流量按照优先级进行分类,从而实现对不同优先级流量的控制。当下游设备的无损队列发生拥塞时,下游设备会通知上游设备停止发送该队列的流量,从而实现零丢包传输。
在长距离传输场景中,当宿端发生拥塞时,当前典型的DCN 内交换机是小缓存配置,无法支持2 倍RTT 的流量缓存能力。因此,流控信号需要长距离传输的网络设备进行响应,这就要求OTN 传输设备具备PFC流控响应能力,能缓存网络上流量并保证不丢包,同时具备逐级向上反压流量的能力,从而与DCN 交换机协同实现长距离无损。
在实验室中构造如图6 所示的测试场景。首先,通过2台仪表构建1条25 Gbit/s的背景业务流,然后从服务器1 发起流量为80 Gbit/s 的RDMA 业务到600 km外的服务器2。因为原宿节点交换机端口和OTN 均为100G 端口,所以在宿端Spine 交换机将业务流转发到TOR 交换机时,总带宽超过100 Gbit/s,会出现流量拥塞。实验结果如下。
图6 实验室RDMA测试连接示意
a)OTN 不开启PFC流控:由于宿端DCN 网络发生拥塞并导致丢包,RDMA的重传进一步加剧了拥塞,导致更多的丢包,服务器业务的有效带宽从80 Gbit/s 降到9 Gbit/s。
b)OTN 开启PFC 流控:服务器丢包现象消失,由于OTN 收到宿端Spine 交换机发送的拥塞信号,首先响应PFC 流控,并通过Buffer 缓存正在发送的流量。同时,它生成新的PFC 信息,向上游发送流控帧通知,逐级反压到达服务器端侧,端侧降速以达到端网协同,防止无效重传。实验室测试结果显示,开启OTN流控功能后,服务器业务的有效带宽从9 Gbit/s提升到76 Gbit/s。
实验结果显示,物理网络的参数和服务器端侧参数都会对长距离RDMA 的吞吐量产生影响。其中,距离是影响RDMA 吞吐量的最重要因素之一,随着距离的增加,RDMA 的吞吐量会逐渐降低;网络侧丢包/误码也会对RDMA 的吞吐量产生影响,当发生丢包时,RDMA 的Go Back N 机制需要从丢包的位置重新发送后续的全部数据,这导致业务的有效吞吐量显著降低;服务器端侧队列对(QP)数量也会对RDMA 的吞吐量产生影响,QP 数量越多,RDMA 吞吐量就越高;服务器端侧的块大小也是影响RDMA 吞吐量的因素之一,较大的块大小可以提高RDMA的吞吐量。
根据上述特征,为了保证RDMA 数据传输的效率,防止拥塞、无效重传、时延不稳定导致的性能下降,传输链路应具备确定性的长距离无损能力。
a)传输链路应具备稳定的低时延能力,从源端到宿端光层一跳直达,尽量减少电交换设备,以实现极致低时延,从而最大化传输效率。
b)传输链路应保持低误码率,误码率越低越好,以避免因误码导致的丢包、闪断等重传问题,从而确保性能的稳定。
c)传输链路要避免拥塞,应尽量使用确定性的无拥塞管道传输,防止网络设备拥塞导致丢包影响业务,产生无效重传。
d)传输链路应具备与端侧协同的能力,传输设备应能与服务器端侧之间互通状态信息,当端侧能够感知到物理层状态参数信息时,就能灵活调整RDMA 发送参数,从而实现长距离高吞吐量传输。
e)传输链路提供超大带宽能力,缩短搬移周期,促进数字经济的高速发展。
如图7 所示,当前算力中心之间有2 种互联方式:一是通过互联网出口互联,这种方式容易受到互联网拥塞、丢包的影响,从而导致RDMA 广域传输性能严重劣化;二是通过专线方式互联,这种方式可以解决互联网拥塞等问题,但数据中心内部经过大量的交换机及服务器处理转发,也会导致RDMA 广域传输性能受限。以某超算为例,DCN 内需要经过约15跳节点处理才能到DC 专线出口路由器节点,导致转发处理时延长。
图7 算力中心互联方式
为了实现RDMA 广域高性能传输,算力互联网络架构需要优化:构建算间全光高速平面,将DCN 网络的Spine/leaf节点直连OTN 光传输设备,OTN 设备基于物理层参数数据与端侧业务参数协同,实现高吞吐长距离传输。
全光网[4]具备高品质、确定性、高安全、低时延、低抖动等优势,是实现RDMA 无损拉远的理想技术,可视为新型算力协同互联的最佳解决方案。通过全光网络承载提供高品质、高可靠的算网保障,可有效保证长距传输时RDMA 的高吞吐量,以实现高效算力协同。因此,构建全光算力网方案需要从以下几个方面展开。
以算力为中心,规划“1 ms-5 ms-20 ms”覆盖从城域至枢纽的多级时延圈,通过确定性链路带宽、时延和可用率,以及网络端到端硬隔离、安全可靠品质实现分布式算力节点间Mesh 化连接。这种连接方式具备灵活高效调度能力,使算力能效最大化。具体如图8所示。
图8 算力节点间组网架构示意
算力节点间互联采取Mesh化、立体化拓扑进行组网,全面部署OXC,通过联动OTN 实现光电协同高效调度。链路路由去行政化,减少路由迂回,实现最低的网络时延。枢纽内算力互联以400G/800G 系统为主,枢纽间算力互联以单波400 Gbit/s 的系统为主,同时具备向单波800 Gbit/s及更高速率演进的能力,频谱从C 波段扩展到L 波段,单纤容量得到显著提升(相比当前提升4~8 倍以上),单位比特的能耗大幅降低,最大化机房、光缆等基础设施的利用率。
网络需要端到端的波长级调度能力,通过在部分站点预留端口资源,并与超级备波资源一起构建站点资源池化能力,以支持波长在任意方向的无阻塞调度。在网络进行波长级调度或者工作保护路径倒换后,网络的时延等变化需要通知端侧,端侧RDMA 根据变化后的时延等调整RDMA 的参数(如QP 数、块大小、RDMA MTU),以确保RDMA 的最大吞吐率。光电交叉协同示意如图9所示。
图9 光电交叉协同示意
a)光电跨层协同算路:在光+电协同算路中,首先引入光层数字孪生技术,构建实时、高精度反映BER/OSNR/PDL/SOP/非线性/色散等光学物理量变化的数字光底座,在线评估预开通波长链路的可达性。基于数字光底座,引入光电联动智能规划算路、光电交叉同步配置、光系统自动调测、光性能自动均衡等管控自动化技术,实现光传输L0/L1 层协同算路,即根据业务SLA 自适应选择线路速率、码型、谱宽等参数,自动计算出满足时延、业务可用率要求的工作、保护光链路(见图10)。
图10 光电协同算路示意
b)光电交叉同步创建:光交叉、电交叉同步打通,业务一次性创建,无需分步骤等待(见图11)。
图11 光电交叉同步创建示意
c)自动调测一键式开通:OCH 创建后光层自动调测,在线自动化插损预置,无需人工干预,业务自动打通(见图12)。
图12 波长调整示意
在光电链路路径切换后,网络链路的带宽和时延都可能出现变化,为了达到最大的吞吐量,RDMA的并发QP 对数量和块大小都需做相应的调整。工作保护路径切换同样也存在类似的诉求。在网络路径因为链路故障导致保护倒换后,网络时延RTT 会发生变化,从而导致RDMA 传输性能下降。实测表明,工作路径为200 m,RDMA的QP数为1,块大小为20 KB时,RDMA 吞吐量即可达到80 Gbit/s。倒换到保护路径(600 km)后,QP 数需增加到25 个,块大小为1 KB,才能达到80 Gbit/s。所以,在波长调度或者路径保护倒换后,网络将最新的带宽和时延信息通知端侧的RDMA 网卡,端侧收到信息后调整QP 数和块大小,从而实现最优传输性能。
为解决当前广域网数据传输存在的问题(即采用TCP传输协议导致物理链路传输通量无法得到有效提升问题)和业务节点因网络转发大量消耗CPU 算力的问题,建议采用RDMA 传输方式替换TCP 传输方式,以实现高性能算力互联(见图13)。
图13 采用OTN承载高通量RDMA广域无损传输示意
利用OTN 网络零丢包、稳定低时延、大带宽的承载品质,通过RDMA 长距离无损流控技术、端网协同感知,配置最优业务参数等核心技术方案,使RDMA传输协议可应用于广域网下的海量数据搬运,从而使链路通量无限逼近物理链路带宽。
长距离RDMA 作为新一代广域高性能算力互联的一种技术,是业界的研究热点,然而,目前该技术的技术标准和产业生态都不够完善,需要进一步结合新型全光网络架构提供的超大带宽及确定性体验特性,持续优化RDMA 协议。同时,考虑RDMA 协议层与全光网络物理层的上下感知联动,以实现超长距离下的高吞吐量无损传输。