自P4开源项目于2018年合入开放网络基金会(ONF)和Linux基金会以来,作为中国领先的电信运营商,中国移动一直是P4项目的积极参与者和支持者。我们认识到,P4的灵活性和开放性使其在推动网络架构创新、加速定制化网络功能实现和提升网络运营效率方面有着巨大潜力,对于构建未来网络基础设施至关重要。
中国移动与P4 Community:Contributions and Participation
中国移动不仅积极跟踪P4的最新进展,还通过参与社区讨论、贡献代码与测试案例等方式,深度参与到P4开源生态的建设中来。中国移动主导立项了Open SRv6开源项目,该项目基于P4芯片构建核心路由系统,在转发面(也称数据面)通过P4支持G-SRv6转发能力和SRv6基本功能,以提升性能和可靠性,实现切片、应用感知等其他高级功能,并进一步验证了从数据平面到控制平面的整体解决方案。
近期,在探索未来人工智能(AI)网络的前沿,中国移动又将P4与全调度以太网(Global Scheduling Ethernet,GSE),一种新一代智算中心网络协议的实践应用相结合。在接下来的部分,我们将详细介绍GSE的基本原理,以及如何借助P4推进GSE的技术创新与实践。
Global Scheduling Ethernet:新一代AI网络协议
中国移动与腾讯、中国联通、博通、英特尔等40余家全球合作伙伴共同提出了全球调度以太网(GSE),旨在提升智算中心网络性能,更好地服务于大规模AI训练和部署。GSE网络包含以下核心技术:
1.基于报文容器的负载均衡机制。GSE交换网络基于定长的报文容器(packet container,PKTC)进行报文转发和动态负载均衡。PKTC是一种区别于流、数据包或CELL转发的转发机制,在该机制下以太网数据包被分组成逻辑虚拟的容器,并以该容器为最小单元在交换网络中传输。归属于相同报文容器的所有数据包将被负载均衡到同一路径进行转发,从而确保了容器内的保序。
2.基于授权的主动拥塞控制机制。基于PKTC的负载均衡在平稳状态下可以有效将流量均匀散布到多条可用路径上,但在流量突发、链路故障等异常场景下,网络还是会产生拥塞。为了有效控制发往网络中的数据量,实现网络原生无损并降低尾时延,GSE引入基于Dynamic Global Scheduling Queue(DGSQ)的主动授权机制,以实现结合网络感知的主动拥塞控制。发送方会按需创建动态DGSQ,并与Queue Pair(QP)关联,在此后基于DGSQ状态申请信令(credit),并在收到信令后发送指定数量的数据;接收方基于DGSQ状态周期性授予信令;在传输信令的过程中,网络中的某些节点也可以协同调整信令的授权,以应对拥塞或链路故障。
P4在全调度以太网中的创新实践
如前面介绍的,GSE革新了以太网转发机制,对网络提出了GSE header处理、报文容器构建等新需求,这些新需求超出了传统芯片的能力,这意味着GSE的发展与应用必须有革新的下一代芯片支持;然而,还有一种更简洁、更灵活的方式:具备可编程能力的交换芯片能够满足GSE核心功能的全面实现。
相较于传统芯片,P4+DSA(Domain Specific Architecture)架构的组合为构建高效、灵活、可定制的网络提供了强有力的支持,其中P4语言允许网络设计者以抽象的方式描述数据平面的处理逻辑,而DSA架构提供了一套硬件和软件框架来支持P4的处理引擎。它们的组合能够支持全域可编程、用户自定义功能、需求快速迭代等特性,有助于我们根据实际需求快速开发出GSE的网络功能和协议,并将其部署到网络中,助力GSE打造高带宽、低时延、零丢包的智算网络。
目前,我们已经通过P4成功实现了GSE的多项重要功能,包括GSE标准头处理、报文容器构建、有状态负载均衡等。
1.GSE标准头处理:我们使用Run-to-completion(RTC)全流程可编程定义GSE报文的解析,实现GSE报文的封装与解封装,并且确保了对GSE标准头演进的持续支持。
2.报文容器构建:我们使用P4的Match-Action Unit(MAU)模块编程来支持和实现GSE的报文容器,允许数据包在查表获取容器ID后直接封装GSE标准头并转发,而无需等待此容器的后续报文到达。
3.有状态负载均衡:为了构建基于报文容器的有状态负载均衡,我们使用P4的MAU模块在数据平面对多队列统一实施有状态的负载均衡,并通过拥塞感知有效避免了潜在的冲突;同时,将报文容器负载均衡的端口选择信息记录在数据平面上,以便同一容器的后续报文快速查询和复用。
4.低时延转发:我们利用基于P4 DSA流水线架构编程来快速连续地处理数据包头,实现了微秒(μs)级的数据包转发时延,保障了整体网络转发的低时延性能;并且对于部分无需转发节点编辑的关键数据包(如信令包),我们采用优先处理机制,允许它们跳过流水线阶段优先转发,以实现超低时延。
我们通过P4和Field Programmable Gate Array(FPGA)芯片构建了GSE的原型样机,并在搭建的32卡组网环境中,使用GSE原型样机初步验证了GSE的性能。实验结果显示,与传统RoCE相比,GSE将all-to-all场景下的工作完成时间(JCT)缩短了2至3倍,实现了显著的性能提升。
总而言之,作为一种用于指定可编程数据平面行为的领域特定语言,P4在GSE关键技术和功能的定制化实现中起着至关重要的作用。在未来,中国移动将继续促进GSE与P4的深度融合,加速推进P4在GSE应用中的创新实践。
【投稿】:SDNLAB原创文章奖励计划