1、1数据中心高性能网络拥塞检测技术白皮书(2023 年)ODCC-2023-03004编号 ODCC-2023-03004数据中心高性能网络拥塞检测技术白皮书(2023 年)中移(苏州)软件技术有限公司中国信息通信研究院云计算与大数据研究所2023-09 发布III数据中心高性能网络拥塞检测技术白皮书(2023 年)ODCC-2023-03004目目 录录版权声明.I编写组.II术语与缩略语.VI前言.1一、高性能网络的机遇与挑战.3(一)应用背景与现状.41 分布式储存场景.42 内存池化场景.63 键值存储场景.74 智能算力场景.9(二)高性能网络拥堵问题与挑战.10二、拥塞管理与控制技术
2、体系.13(一)拥塞控制技术.131 基于 ECN 的拥塞控制.142 基于时延的拥塞控制.143 基于 INT 的拥塞控制.154 其他技术方案.165 拥塞控制总结.18(二)链路控制技术.211 信用.212 PFC.233 QCN.25IV数据中心高性能网络拥塞检测技术白皮书(2023 年)ODCC-2023-030044 链路控制总结.26(三)负载均衡技术.271 流级别.272 包级别.293 Flowlet 级别.294 负载均衡总结.30(四)流量调度技术.311 基于规则的调度技术.322 基于反馈的实时调度.343 流量调度总结.34(五)本章小结.35三、高性能网络拥塞
3、检测技术.36(一)网侧拥塞检测.371 ECN 检测.372 TCD 检测.413 其他检测技术.42(二)端侧拥塞检测.421 RTT 检测.432 优先级队列检测.44(三)端侧协同拥塞检测.451 INT 检测.452 ECN#检测.463 ConEx 检测.484 本章小结.49V数据中心高性能网络拥塞检测技术白皮书(2023 年)ODCC-2023-03004四、总结与展望.50参考文献.52VI数据中心高性能网络拥塞检测技术白皮书(2023 年)ODCC-2023-03004术语与缩略语术语与缩略语TermTermMeaningMeaningRDMARemote Direct M
4、emory AccessRoCERDMA over Converged EthernetiWarpinternet Wide Area RDMA ProtocolGPUGraphics Processing UnitIOPSInput/Output Operations Per SecondSRDScalable Reliable DatagramAWSAmazon Web ServicesDPUData Processing UnitRNICRDMA Network Interface CardECNExplicit Congestion NotificationDCQCNData Cent
5、er Quantized Congestion NotificationHPCCHigh Precision Congestion ControlPFCPriority Flow ControlREDRandom Early DetectionAQMActive Queue ManagementRTTRound Trip TimeINTIn-Net TelemetryECMPEqual-Cost Multi-PathTCDTernary Congestion DetectionCBFCCredit-Based Flow ControlPFCPriority-based Flow Control
6、QCNQuantized Congestion NotificationRPSRandom Packet SprayingCONGADistributed Congestion-Aware Load BalancingFCTFlow Complete TimeREDRandom Early DetectionBCNBackward Congestion NotificationFECNForward Explicit Congestion NotificationPCNPre-Congestion NotificationHPQHigh Priority QueueLPQLow Priorit
7、y Queue1数据中心高性能网络拥塞检测技术白皮书(2023 年)ODCC-2023-03004前前 言言“十四五”数字经济发展规划中指出数字经济是继农业经济、工业经济之后的主要经济形态,是以数据资源为关键要素,以现代信息网络为主要载体,以信息通信技术融合应用、全要素数字化转型为重要推动力,促进公平与效率更加统一的新经济形态。随着数字经济的持续发展,算力需求呈爆发性增长,逐步成为新时代的核心生产力。算力的发展带动了网络的变革,构建了高效、灵活、敏捷的数据中心网络新型基础设施,成为算力网络驱动和演进的关键。远程直接内存访问(Remote Direct Memory Access,RDMA)网络
8、是一种高性能网络传输技术。通过绕过操作系统内核,RDMA 可以直接在网络适配器和内存之间传送数据,从而减少了数据传输过程带来的延迟和 CPU 开销,提高了数据传输的效率和吞吐量。近年来,高性能网络广泛应用于高性能计算、云计算、大数据处理等领域,成为当下网络领域的研究热点之一。高性能网络的重要性在于,为各种应用提供了快速、可靠、安全的数据传输能力,并将数据中心、云计算和大数据处理等领域的计算资源、存储资源和网络资源紧密结合,提高了整个系统的效率和性能。同时,高性能网络还可以支持更多的应用和服务,促进了科学研究、产业发展和社会进步。因此,高性能网络的发展和研究是当前网络领域的重要方向。2数据中心高
9、性能网络拥塞检测技术白皮书(2023 年)ODCC-2023-03004本白皮书通过阐明和分析高性能网络技术发展的过程与现状,以网络拥塞这一关键问题展开详述当前业界拥塞管理控制技术的架构体系,并聚焦拥塞管理控制过程中面临不同需求所产生的拥塞检测机制。本白皮书旨在通过对拥塞检测技术的研究,推动高性能网络技术的深入发展、生态链建设和产业落地。3数据中心高性能网络拥塞检测技术白皮书(2023 年)ODCC-2023-03004一、一、高性能网络的机遇与挑战高性能网络的机遇与挑战在需求端强力驱使下,过去的 10 年中,数据中心网络链路传输带宽经历了从 1 Gbps 到 100Gbps 的快速增长,并且
10、这一增长趋势仍在持续。因此,作为未来数据中心服务的提供者,云计算厂商面临着越来越严苛的数据中心网络建设需求。目前,传统数据中心应用的 TCP/IP 网络已经难以高效地满足新的需求。一方面,快速膨胀的链路速率导致了极高的 CPU 占用率,每增加一个用于 TCP 网络传输的 CPU 资源意味着云计算厂商能够出售的虚拟机减少了一个,这将降低整体的经济效益。另一方面,机器学习、搜索等业务所要求的超低的网络延迟(低于 10 us/跳),传统的 TCP/IP 协议的性能是很难达到的。为解决这一问题,远程直接内存获取(Remote Direct MemoryAccess,RDMA)技术开始逐渐广泛地应用于数
11、据中心网络中(本文提及的 RDMA 无损网络针对更广泛应用的以太网络,如无特殊声明,适用协议为 RoCEv2)。相较于传统的 TCP/IP,RDMA 有着如下的优势:1)降低了 CPU 占用率。数据传输过程不再需要 CPU 的持续介入,而是通过硬件卸载的形式完成数据传输。2)降低了传输时延,避免了数据拷贝过程中频繁的用户态和内核态切换。因此,通过硬件卸载、内核旁路,RDMA 完成了数据传输和计算的解耦,从而实现高效的并行计算处理。4数据中心高性能网络拥塞检测技术白皮书(2023 年)ODCC-2023-03004正因为以上的技术优势,高性能网络已经成为云计算领域应用广泛核心基础设施之一。据公开
12、文献1显示,在微软 Azure 存储集群中,RDMA 流量已经占据了超过一半的比例。在可以预见的未来,高性能网络技术都将作为云计算领域的核心基础设施之一,深刻地影响数据中心技术格局。图 1 微软 Azure 存储集群流量占比1(一)(一)应用背景与现状应用背景与现状随着云计算技术的发展,高性能网络的应用场景日益增多。本节主要从分布式云存储、内存池化、键值存储、智算中心四个方向的应用,对高性能网络的应用场景和应用现状进行概述。1 1分布式储存场景分布式储存场景分布式存储是云计算中的一个核心应用。各家云厂商都会提供高达百万输入/输出操作每秒(IOPS)的高性能存储实例,旨在满足对性能要求极高的应用
13、场景。5数据中心高性能网络拥塞检测技术白皮书(2023 年)ODCC-2023-03004由于百万 IOPS 云硬盘需要同时处理大量的读取和写入请求,这就要求了网络要提供极高的吞吐量和极低的响应时间。因此,主流云厂商普遍选择 RDMA 作为高性能分布式存储的网络解决方案,如公开文献中阿里云、微软云等关于分布式云存储的工作1,2。图 2 云存储基本架构图阿里云 EBS 云存储中应用的阿里自研网络协议栈 Solar3,对云存储 IO 延迟进行了全面优化。论文中给出了 EBS 产品详细的网络延迟性能测评。图 3 中的数据为阿里云超过 10 万个计算节点一周时间的测试结果。在图中,Kernal 是传统
14、的 TCP/IP 协议,Luna 是用户态加速协议栈,Solar 是阿里自研的 RDMA 网络,FN 是计算是存储的前端网络,BN 是存储集群后端网络,SSD 是落盘网络,SA 是阿里自研的 SPDK 软件。该实验很好的对比了内核态、用户态、RDMA 对于存储业务的影响。可以看到,整体 IO 延迟性能上,Solar RDMA6数据中心高性能网络拥塞检测技术白皮书(2023 年)ODCC-2023-03004协议有明显的优势。同时,RDMA 网络协议栈还在很大程度上改善了整个网络的长尾时延问题,性能实现了数量级的提升。图 3 阿里云 EBS 网络性能对比测试2 2内存池化场景内存池化场景图 4
15、内存池化的分布式数据中心现有的数据中心是通过服务器构建的,每个服务器紧密集成了计算任务所需的各种资源(CPU、内存、存储)。虽然这种以服务器为中心的架构已经持续使用了几十年,但最近的研究表明,未来即将出现一种向分解式数据中心(Disaggregated Datacenter,DDC)转变的范式。其中,每种资源类型都作为独立的资源池进行构建,而网络结构则用于连接这些资源池4。7数据中心高性能网络拥塞检测技术白皮书(2023 年)ODCC-2023-03004资源池化的一个关键的促进(或阻碍)因素将是网络。因为将CPU 与内存、磁盘分解开来,原本需要在服务器内部进行的资源间通信,而现在必须通过网络
16、进行。因此,为了支持良好的应用级性能,网络结构必须提供低延迟的通信以应对这种负载更大的情况。因此,RDMA 高性能网络作为一个解决方案在内存池化的场景已经有广泛的研究5,6。RDMA 有效地提升了内存池化数据中心的效率。尽管没有完全解决资源池化场景的网络互连问题,但其仍然是未来分布式数据中心的一个有力的网络技术方案。3 3键值存储场景键值存储场景图 5 基于 RDMA 的键值存储系统7键值存储(Key-Value Store)是一种数据存储方法,它以键值对(Key-Value Pair)的形式存储和访问数据。与传统的关系型数据库相比,键值存储通常更加简单、灵活、高效,并且可以处理更大规模的数据
17、。键值存储不要求数据具有固定的结构和模式,因此8数据中心高性能网络拥塞检测技术白皮书(2023 年)ODCC-2023-03004可以轻松地存储和检索各种类型的数据。键值存储还支持高度可扩展性和分布式部署,可以轻松地在多个节点上进行水平扩展和数据复制以提高性能和可靠性。在常见应用中,Redis 就是一种流行的键值存储系统。它支持多种数据类型,包括字符串、哈希、列表、集合和有序集合等。与关系型数据库不同,Redis 不支持复杂的 SQL 查询语句,而是提供了一组简单的操作命令,如 GET、SET、INCR、DECR、LPUSH、RPUSH、SADD、SMEMBERS 等,以实现键值对的读写和操作
18、。然而,在键值存储中,CPU 是一个显而易见的性能瓶颈。而RDMA 技术通过绕过内核的方式直接访问内存,这能够保证 CPU 资源的高效利用。因此,RDMA 技术在键值存储系统中的应用也逐渐被更多的讨论7,8。同时,阿里云也公开声明了其 eRDMA 技术在 Redis产品中的应用9。从测试结果可以看出,无论是 GET 测试还是 SET测试,eRDMA 相对于 TCP 带来了至少 40%以上的性能测试数据提升。图 6 RDMA 技术加速 Redis 服务9数据中心高性能网络拥塞检测技术白皮书(2023 年)ODCC-2023-030044 4智能算力场景智能算力场景图 7 智算中心高性能网络组网方
19、案近年来,大型语言模型如 GPT 等在自然语言处理任务上的强大能力引起了广泛关注。这些模型通过预训练在海量文本数据上获取语言知识,然后进行微调应用于下游任务。大模型以极大的模型尺寸、大量数据和计算资源进行训练。其一系列成果显示了大模型具备了通过无监督学习获取语言理解能力的潜力。但是训练大模型也带来了巨大的计算和环境成本,需要大规模高速互联的智算中心,其原因如下:a)模型参数量巨大,单机单卡无法加载整个模型。而使用多机多卡可以将训练的参数梯度分布在不同设备上。b)训练时间长。如果只使用单机单卡,训练大模型往往需要非常长的时间。多机多卡情况下,并行计算可以大幅减少训练时间。10数据中心高性能网络拥
20、塞检测技术白皮书(2023 年)ODCC-2023-03004c)训练数据量大。多机多卡并行读取数据后汇总梯度,产生了大量的网络带宽需求。因此,在智算中心场景下,高性能 RDMA 网络实现多个服务器、多个 GPU 的互联,打造多通道、无收敛、多路径的参数网络(如图5 所示),是当前的主流技术方案之一。AWS 在其超算、智算服务中广泛的提供 SRD 高性能网络服务10,进一步的引起了行业内对高性能网络技术的大规模投入。(二)(二)高性能网络拥堵问题与挑战高性能网络拥堵问题与挑战高性能网络已经成为云计算领域应用广泛核心基础设施之一。然而,RDMA 网络中出现拥塞问题将会大幅降低网络的吞吐和延迟性能
21、,这也成为了限制 RDMA 网络应用规模的重要因素。当网络中的数据流量超过了网络链路的处理能力或带宽限制或者当多个节点同时进行 RDMA 通信时,网络链路无法及时处理或传输所有的数据包,就会发生拥塞。拥塞一方面会导致交换机的缓存队列增大,数据包传输的延迟等比例的延长,使网络服务质量下降;另一方面,交换机中数据包堆积,会触发 PFC 机制,以保证 RoCE 网络的无损特性,这导致网络中会出现一系列相应的风暴、死锁等问题11。这也一定程度上限制了 RDMA 网络在以太网环境的部署规模和网络性能。因此,近年来在11数据中心高性能网络拥塞检测技术白皮书(2023 年)ODCC-2023-03004RD
22、MA 高性能网络方向聚焦拥塞问题,产生了大量的前沿研究和工程实践工作。总之,随着未来数据中心网络带宽需求的不断增长,RDMA 高性能网络在云计算、人工智能等领域具有巨大的机遇。同时,拥塞问题作为 RDMA 网络中限制规模、性能的主要瓶颈,形成标准化、规范化的拥塞管控系统,将已有技术进行归纳延伸,是当前数据中心网络中迫切要完成的一项工作。拥塞检测技术中,有如下几点挑战亟需解决:a)精度、频率和开销的矛盾。对于网络拥塞信息的检测,当前存在多种主流方案,其获取的拥塞信息都不相同,但都遵循“没有免费的午餐”这一规则。更高的测量精度、更快的测量频率,都会带来额外的网络带宽开销(例如 INT 对比 ECN
23、)。这需要对不同的场景需求进行深入的研究,以实现最佳的拥塞检测效果。b)标准和兼容性:RDMA 技术存在多种标准和实现,如InfiniBand、RoCE(RDMA over Converged Ethernet)和 iWARP(Internet Wide Area RDMA Protocol)。其中,RoCE 网络的发展近年来尤为迅猛。原有的以太网拥塞检测机制和协议在 RDMA 网络中该如何规范化,这也是未来不同 RoCE 网络设备厂商和用户潜在的问题。12数据中心高性能网络拥塞检测技术白皮书(2023 年)ODCC-2023-03004c)跨层级应用:不同的拥塞检测机制可以在更多的拥塞管控技
24、术层级进行应用。比如,RTT、ECN 的拥塞信息可以作为流量调度、负载均衡的参考权重。这些研究工作虽然已经较多,但哪些拥塞检测机制适合哪种层级的拥塞管控协议仍是需要进一步探讨的问题。本白皮书通过阐明和分析高性能网络拥塞管控的技术发展的过程与现状,整理、探讨不同方案中关键的拥塞检测机制,归纳其技术路线与演进,从而推动高性能网络技术的深入发展,助力完整的生态链建设和产业落地。13数据中心高性能网络拥塞检测技术白皮书(2023 年)ODCC-2023-03004二、二、拥塞管理与控制技术体系拥塞管理与控制技术体系为了缓解高性能网络中的拥塞问题,RoCE 高性能网络协议已经构建了多层的拥塞管理和控制技
25、术体系。这一体系中,细分主要包含拥塞控制、负载均衡、链路控制、流量调度等。形成了从用户层到链路层的多层次拥塞管理和控制体系。其中,拥塞控制协议、链路控制的响应快、周期短,通过调整流的发送速率实现拥塞的避免,且主流方案通过闭环控制技术实现,因此归类为拥塞控制技术;负载均衡、流量调度,往往通过管理的方式,对数据进行调度分流,通过更高效的利用网络拓扑资源实现拥塞的避免,因此归类为拥塞管理技术。本章中重点对现有拥塞管理与控制技术进行了归纳整理。以便系统的给出后续第 4 部分拥塞检测技术的技术发展方向。(一)(一)拥塞控制技术拥塞控制技术拥塞控制,顾名思义,可知其在网络拥塞问题处理中的核心位置。拥塞控制
26、是为了防止网络过载而采取的一种流量调节机制。当网络拥塞时,路由器队列堆积,丢包和延迟增加。拥塞控制算法(如TCP 的滑动窗口)可以通过监控网络状况来动态调整发送方的发送速率。比如,在拥塞开始时降低发送速率,拥塞消除后逐渐增加发送速率。这种闭环反馈机制可以使网络稳定运行在最优状态,最大化网络的吞吐量,是保证网络顺畅运行的重要机制。14数据中心高性能网络拥塞检测技术白皮书(2023 年)ODCC-2023-030041 1基于基于 E ECNCN 的拥塞控制的拥塞控制图 8 DCQCN 原理为了缓解网络拥塞,文献12中微软提出了一种端到端的 RoCE 拥塞控制协议 DCQCN,这也是近几年来 Ro
27、CE 高性能网络拥塞控制技术的开端。DCQCN 相比于 PFC 是一种更精细的控制算法。它以 ECN(Explicit Congestion Notification,ECN)作为交换机拥塞程度的量化标记信息,根据生成的 CNP(Congestion NotificationPacket)报文来触发式的调节网卡传输速率。DCQCN 的设计理念结合了既有的 QCN13和 DCTCP14的算法思想。一方面避免了 QCN 方法局限于 L2 网络的缺点,另一方面降低了 DCTCP 中 ACK 报文的通信开销。DCQCN 的使用大幅度缓解了 PFC 的触发,目前仍是最广泛应用的RDMA 网络拥塞控制技术
28、。2 2基于时延的拥塞控制基于时延的拥塞控制图 9 TIMELY 原理1515数据中心高性能网络拥塞检测技术白皮书(2023 年)ODCC-2023-03004同期,谷歌在文献15中提出了一种基于时延的拥塞控制方案TIMELY。TIMELY 使用数据流的往返传递时间(Round Trip Time,RTT)作为量化链路拥塞的信息,并设计了一套相应的梯度调速算法。相较于传统的软件测量的 RTT,谷歌方案在他们的智能网卡中集成了专有的 RTT 硬件测量电路,这使得 RTT 测量拥塞的方案得以实用化。同时 RTT 相比于 ECN 是一个快速、多位的数据,能够提供更丰富的网络拥塞信息。3 3基于基于
29、I INTNT 的拥塞控制的拥塞控制图 10 HPCC 原理16微软的 DCQCN 和谷歌的 TIMELY 在 RDMA 网络拥塞控制方面虽然各有所长,但仍存在各自难以突破的局限性。2019 年,阿里云提出了一种基于带内遥测(In-Net Telemetry,INT)的拥塞控制协议HPCC16。相比于 DCQCN 和 TIMELY,HPCC 方法牺牲了一定的带宽引入了 INT 能力,同时也获得了超高精度的拥塞控制性能。HPCC 可以实现快速的算法收敛以更优的利用闲置带宽,同时保持交换机始终处于近零队列,从而实现超低的数据传输延迟。16数据中心高性能网络拥塞检测技术白皮书(2023 年)ODCC
30、-2023-030044 4其他技术方案其他技术方案尽管 HPCC 在处理拥塞方面的性能得到了普遍的认可,但它过高的网络带宽占用仍然为后续的技术改进留下了空间。此后,更多的技术方案进入了学术界的讨论。其中,一类是基于已有方案的变种。(1)ECN 方案变种:文献17中提出了 ACC 来自动调节 DCQCN 中ECN 参数,大幅度降低了运维大规模 RDMA 集群过程中调试算法参数的工作难度;文献18旨在改进 DCQCN 在 Incast 场景的性能表现,通过自适应的选取 DCQCN 的参数,实现大规模多打一场景小步长,小规模多打一场景大步长的控制效果;文献19中提出了 IRN,通过改变 RoCE
31、的重传机制和基于 BDP 的算法,从原理上改进 DCQCN 和TIMELY 方案下拥塞场景的 RDMA 网络性能;文献20改进了交换机的 ECN 标记机制,将传统的两态标记优化为三态标记 TCD,提升了ECN 标记携带的信息量,从而改进了 DCQCN 的控制效果。(2)RTT 方案变种:文献21中建立了 DCQCN 和 TIMELY 的流体模型,分别就二者的拥塞控制效果进行了对比研究。基于二者性能上的差别,其提出了使用 PI 控制器的改进 TIMELY 算法,一定程度上提升了基于 RTT 方法的控制性能;文献22为解决 TIMELY 的收敛点不固定这一问题,重新设计了 TIMELY 的调速算法
32、,使用了 AIMD(Additive-Increase Multiplicative-Decrease,AIMD)调速算法,17数据中心高性能网络拥塞检测技术白皮书(2023 年)ODCC-2023-03004从而实现了更好的算法稳定性;文献23通过将 ECN 信号与 RTT 信号结合考虑,提出了 EAR 拥塞控制协议,在多个场景实现了更好的完成时间性能。(3)INT 方案变种:文献24为了解决 HPCC 中 INT 包头带来的明显的网络带宽占用问题,提出了概率性带内遥测(ProbabilisticIn-band Network Telemetry,PINT)方案。PINT 使用了概率性编码的
33、方式,大幅度的降低了 HPCC 中网络带宽占用的问题。文中的结果显示,在包头从 46 B 降低到 1 B 的基础上,HPCC-PINT 实现了与HPCC-INT 接近的流完成时间分布,HPCC-PINT 在长流上略优但在短流上略差。该方案难以大规模部署的局限在于 P4 可编程交换机的资源瓶颈。图 11 RoCC 原理25另一类兴起的是基于接收方的方案。思科首先提出了 RoCC25。在该方案中,将传统的由发送方驱动的端到端拥塞控制协议,改进为接收方驱动。在文献25中认为,多个不同发送方做出的调速决策时常是矛盾的,这导致了最终控制效果的反复波动。而由接收方驱动的拥塞控制协议中,交换机作为拥塞的感知
34、方,可以进行更准确的拥塞反馈。但 RoCC 本身受限于交换机的计算能力和可编程能力,18数据中心高性能网络拥塞检测技术白皮书(2023 年)ODCC-2023-03004并未实现大规模商用。其后,文献26,27实现了网卡作为接收方的拥塞控制协议,在 Incast、公平性的场景有明显优势。总体上看,拥塞问题是 RDMA 网络目前应用的核心难题,而拥塞控制协议作为处理拥塞问题的最短回路在学术研究和工业应用角度都极具研究价值。目前,拥塞控制协议主流应用的方案仍然是DCQCN、TIMELY 和 HPCC,但显然这三种方案都存在不同的缺陷。后续提出的方案有些偏向解决某一特定流量场景的问题,有些需要更新的
35、硬件支持,难以大规模商用并完全解决 RDMA 无损网络拥塞控制的问题。5 5拥塞控制总结拥塞控制总结表 1 拥塞控制协议功能实现对比DCQCNTIMELYHPCCRoCC公平性公平公平公平公平快速收敛慢快快快带宽利用率低高较高高稳定性稳定局部收敛稳定稳定鲁棒性中差中鲁棒近零队列不满足不满足满足满足兼容性强强差差易用性差差易用易用根据上一节中总结的当前拥塞控制协议的核心功能点,本文就当前具有代表性的四种拥塞控制协议:DCQCN、TIMELY、HPCC、RoCC,进行了定性的对比,如表 1 所示。19数据中心高性能网络拥塞检测技术白皮书(2023 年)ODCC-2023-03004DCQCN 协议
36、强项在于兼容性,这也直接决定了 DCQCN 成为了现在最为主流的应用方案。具体来讲,DCQCN 协议对于交换机要求较低,只需满足 ECN 标记功能,当前商用 RoCE 交换机已普遍支持。但是,DCQCN 在收敛速度、带宽利用率方面与稳定性存在一个博弈,即往往需要牺牲稳定性来实现更高的带宽利用率,二者不可兼得。其次,DCQCN 在易用性方面有明显缺陷,端侧和网侧有十余个参数需要调试且参数相互耦合,维护成本很高。同时,DCQCN 使用了AIMD(Additive Increase Multiplicative Decrease,AIMD)调速机制是不基于模型的调速算法。对于不同场景下的扰动,有较强
37、的鲁棒性。但由于输入信息位数受限,进一步增大了维护成本。TIMELY 协议的优势主要是检测精确,RTT 测量的拥塞信息本身就是多位的,这解决了 DCQCN 算法中最大的一个局限点。因此,TIMELY 在收敛速度和带宽利用率上更高。但是,TIMELY 在公平性和稳定性方面也是存在一组矛盾21:收敛到特定稳定点则不能保证公平,保证公平则不能保证达到目标收敛点。其次,TIMELY 的易用性偏差,主要难点在于目标时延的选择困难。同时,TIMELY 采用的是基于模型的控制算法,这保证了精确计算的同时,带来了对于扰动抑制能力差的问题。HPCC 协议在公平性、收敛速度、稳定性方面都达到了相比于DCQCN 和
38、 TIMELY 更好的整体效果。同时,HPCC 实现了近零队列控制功能,这有效的保证了网络的平均流完成时间(Flow complete time,20数据中心高性能网络拥塞检测技术白皮书(2023 年)ODCC-2023-03004FCT)性能,降低了排队时延。HPCC 主要问题在于,INT 消耗了 10%左右的网络带宽,虽然在 PINT 中有所缓解,但资源的开销被转移到了交换机,这方面的开销导致 HPCC 仍有改进空间。此外,HPCC 对交换机设备的要求较高,需要可编程交换机的支撑,这限制了它的推广使用。最后,HPCC 的算法是以 BDP 精确计算为基础的,这本质上还是基于模型的控制方法。对
39、于更复杂的场景,模型和参数的鲁棒性存在潜在的问题,有待进一步研究验证。RoCC 协议是针对其他方案的缺陷设计的,其实现上解决了绝大多数问题,性能指标趋于理想。相比于 HPCC,RoCC 在其基础上采用了 PI 控制器,该控制方法是不依赖于模型的,在实际应用中相比HPCC 具有更好的鲁棒性。但是,RoCC 与 HPCC 存在一个类似的缺点,需要可编程交换机作为运算的主要载体,这对于交换机的性能提出了更高的要求。目前,可编程交换机技术已经开始快速发展,但其芯片架构决定了不适合执行高精度的运算任务。随着未来芯片技术和可编程交换机技术的发展,RoCC 可能是更优的拥塞控制协议。综上所述,目前的拥塞控制
40、协议很难在兼容、易用的基础上,还具备完善的功能、性能。21数据中心高性能网络拥塞检测技术白皮书(2023 年)ODCC-2023-03004(二)(二)链路控制技术链路控制技术链路控制技术主要通过速率限制和流量控制来实现,可以动态调整 RDMA 网络中的数据发送速率,避免拥塞的产生,从而提高网络效率。链路控制对于构建可靠、低延迟的 RDMA 网络至关重要。相比于 L4 传输层的拥塞控制协议,链路控制协议工作在 L2 链路层。相应的,链路控制技术响应的时间相比拥塞控制更加短,速率的调节也更加及时。对应的拥塞检测机制也明显有别于 L4 层面,要求响应的速度更快。链路层控制中,往往并不获取网络内的拥
41、塞程度信息,而是用事件触发产生的报文进行进行控制。因此,链路控制中的拥塞检测与控制结合的更紧密,往往就是一组报文的交互过程,而非细化到速率的计算与调整。本节受限于篇幅,主要介绍 Infiniband 中常用的信用机制和RoCE 网络中常用的 PFC 和 QCN 机制。1 1信用信用图 12 信用机制原理图22数据中心高性能网络拥塞检测技术白皮书(2023 年)ODCC-2023-03004在 InfiniBand 高性能网络协议中,提供了一种基于信用的链路控制(Credit-Based Flow Control)机制,用于优化数据传输。在InfiniBand 中,每个端口都有一个缓冲区,用于存
42、储接收到的数据包。当发送端发送数据包时,它会向接收端发送一定数量的信用(Credit),表示接收端有多少可用的缓冲区来存储数据包。在接收端,当缓冲区被占满时,它会向发送端发送信号,表示不能再接收更多的数据包,从而避免了网络拥塞的发生。基于信用的链路控制可以显著提高网络的吞吐量和性能。它可以避免数据包的丢失和重传,并减少网络拥塞和延迟。此外,由于每个端口都有自己的缓冲区,它也可以实现流量隔离和保障,从而提高网络的可靠性和安全性。通常,信用机制这种传输控制与 TCP 中的滑动窗口有相似之处,两者都是收发两端协调控制发送数据量的链路层流量控制机制。相比滑动窗口使用 ACK 报文确认的方式,信用机制为
43、了更高的性能,设计了特殊信用帧来反馈未使用的信用量。信用机制目前是 Infiniband 定制的链路控制技术。这一技术目前未在开放标准的以太网中广泛应用,这也导致了 RoCE 网络中普遍需要使用 PFC 来保障网络的无损特性,同时也导致了 RoCE 网络没能继承 Infiniband 中细粒度拥塞控制的底层基础。23数据中心高性能网络拥塞检测技术白皮书(2023 年)ODCC-2023-030042 2P PFCFC图 13 PFC 控制原理图优先级流控制(Priority-based Flow Control,PFC)28是IEEE 802.1Qbb 定义的一项用于数据中心的无丢包网络流量控
44、制协议,主要用于确保网络的无损特性。无损网络意味着网络不会因为拥塞而导致数据包丢失。上图展示了在交换机层级之间实现 PFC 的示例。PFC 通过 Pause 帧触发反压的方式实现无丢包。当交换机队列接近满时(达到 ON/OFF 阈值),交换机将向上游交换机发送一个Pause 帧,告知上游不要继续发送数据包。待拥塞缓解后,再通知上游继续发送数据包。同时,PFC 通过虚拟队列将数据包分成不同的优先级。即使某个优先级受到拥塞阻塞,仍然可以通过更高优先级发送数据包,以确保重要分组的及时传递。24数据中心高性能网络拥塞检测技术白皮书(2023 年)ODCC-2023-03004PFC 解决了无丢包的问题
45、,但会带来一系列问题:a)导致出现受害者流,无法正常传输数据,如上图中(b)所示,Egress 2 和 3 的数据包尽管未发生拥塞,也会被停止发送,即 HoL(Head of Line)阻塞。b)PFC 风暴,Pause 帧会反向逐级传递,形成网络内大量的设备停止发送.c)PFC 死锁,当系统中出现 Pause 帧的 CBD(Circular BufferDependency)现象时,PFC 发生死锁导致网络传输长时间中止,如下图。图 14 PFC 死锁11总而言之,PFC 技术是 RoCE 高性能网络发展的重要过渡技术。它保障了 RoCE 网络可以进入生产部署阶段,但它的一系列技术上的缺陷又
46、局限了 RoCE 网络的大规模部署。25数据中心高性能网络拥塞检测技术白皮书(2023 年)ODCC-2023-03004近年来,就如何摆脱 PFC 限制,学术界和工业界有大量的研究,包括 PFC 自恢复机制、更高效的拥塞控制协议、选择重传19等一系列的解决方案。相关技术的后续研究进程将决定 RoCE 高性能网络与传统 Infiniband 高性能网络在技术上的实质差距。3 3QCNQCN图 15 QCN 技术原理QCN13是一种 L2 链路层的网络拥塞控制技术,旨在提高网络的性能和可靠性,避免网络拥塞引起的数据丢失、延迟和抖动等问题。QCN 通过在交换机中实时监测网络拥塞情况向终端设备发送拥
47、塞通知,从而调整数据传输速率,以适应网络的拥塞状况。具体流程上,一旦中间交换机或者路由器发生拥塞,拥塞点会:从交换机读出队列长度;26数据中心高性能网络拥塞检测技术白皮书(2023 年)ODCC-2023-03004基于队列长度信息计算反馈的值;格式化一个特殊反馈值的 QCN 帧,使用 源 MAC 地址将该帧返回 QCN 源端;根据 QCN 算法指定的动态信息更新队列的采样速率,通过拥塞通告可以一定程度上解决拥塞热点的问题。然而在真实环境中很少实现,因为它会高度依赖拥塞点反应时间,通过网络发送 QCN 帧的时间和反应点反应时间;并且它只能运行在二层网络上,很难适应数据中心大量的三层隧道功能。同
48、时,如能解决设备支持的因素,将 QCN 与 DCQCN 结合实现一个类似于 IB 的链路层+传输层拥塞控制方案,将是对 RoCE 网络缺少credit 链路控制技术的一个有力补充,这都有待于进一步的研究和工程实践。4 4链路控制总结链路控制总结在链路控制层面,由于现有的 RoCE 协议中缺少了 Infiniband协议中的信用机制,这一定程度上破坏了原有的双环控制系统的完整性。用 PFC 替代细粒度的信用机制,在整个控制系统的角度看,可以认为是将一个内环控制系统置换成了一个非线性死区,这一定程度上降低了整个系统的阶数。从实际的网络角度意味着传输速率的调节,RoCE 网络相比Infiniband
49、 会更加的迟钝。这个技术上的差距是不能通过调节DCQCN 参数弥补的。因此,RDMA 网络在以太网上的应用更为重要的27数据中心高性能网络拥塞检测技术白皮书(2023 年)ODCC-2023-03004技术突破要在链路控制的层面进行。但同时,链路层的改动需要对协议内容进行更深入的探讨和精巧的设计,同时需要在硬件层面进行大量的研发工作,其研发周期往往更长。(三)(三)负载均衡技术负载均衡技术负载均衡技术通过在网络中多个服务器或链路间分配流量,实现网络流量的均衡分配,防止热点的产生。负载均衡机制的核心目标在于利用好网络中冗余的传输路径,使得流量均匀分布。负载均衡技术对于网络拥塞起到了有效的缓解作用
50、,从拥塞的源头上,降低了拥塞发生的概率。本节按业内通用的分类,按流级别、包级别、flowlet 级别对常见的典型负载均衡机制进行了分类总结。1 1流级别流级别ECMP 全称等价多路径(Equal-cost multi-path),它是一种基于流的负载均衡路由策略。当路由器发现同一目的地址存在多条等价路径时,路由器会依据相应算法将不同流量分布到不同的链路上,以增进网络带宽利用率。ECMP 的路径选择策略有多种算法:哈希,例如利用流的五元组哈希为流选择路径;轮询,各个流在多条路径之间轮询选择;28数据中心高性能网络拥塞检测技术白皮书(2023 年)ODCC-2023-03004基于路径权重,根据权