《华为:2023 HPC无损以太和AI Fabric网络技术白皮书(42页).pdf》由会员分享,可在线阅读,更多相关《华为:2023 HPC无损以太和AI Fabric网络技术白皮书(42页).pdf(42页珍藏版)》请在三个皮匠报告上搜索。
1、目录0101背景编制说明0302网络架构2.1 拓扑2.1.1 Clos2.1.2 MultiRail2.1.3 直连拓扑2.2 软件030405060830303404技术测评4.1 HPC场景4.2 AI场景1003关键技术3.1 流控技术3.1.1 流量映射3.1.2 Pause帧与PFC3.1.3 PFC死锁检测3.1.4 PFC死锁预防3.2 拥塞控制技术3.2.1 ECN3.2.2 DCQCN3.2.3 AI ECN3.2.4 ECN overlay3.3 流量调度技术3.3.1 负载分担3.3.2 网络级负载均衡技术3.4 应用加速64
2、2628350506最佳实践5.1 阿联酋Ankabut5.2 武汉超算5.3 北京大学35363739展望本白皮书在撰写过程中得到了多家单位的大力支持,在此特别感谢以下顾问专家、参编单位和参编人员:顾问专家(排名不分先后):Chair&Counselor of IEEE Kazakhstan Subsection Dr.Ikechi Augustine Ukaegbu华为数据通信产品线数据中心网络领域总裁 王武伟 参编单位(排名不分先后):华为技术有限公司、IEEE Kazakhstan Subsection参编人员(排名不分先后):李建高、赵少奇、李军、温华锋、李经、林艺宏、胡秀丽、程璞、
3、赵刚、郝杰、黄伟、许明明、李莹莹、张爱雪、许建、魏智杰、沈瑞编制说明白皮书中首先介绍了当前高性能计算网络拓扑架构包括CLOS、MultiRail、直连拓扑。其中,CLOS是一个多级架构,在每一级,每个交换单元都和下一级的所有交换单元相连接,可以做到严格的无阻塞、可重构、可扩展;MultiRail通过框式设备的信元交换,实现平面内的绝对负载均衡;直连拓扑可实现超大规模组网,具备低成本、端到端通信跳数少的特点。其次介绍了软件架构从网络自身的优化、网络与应用系统的融合优化两个方面来提升HPC&AI应用性能。网络自身优化的目标是使整网吞吐最高、时延最低。流控通过识别环形缓存依赖并破除其产生的必要条件,
4、从而解决PFC死锁的问题,提高网络可靠性;拥塞控制通过AI算法动态调节ECN门限,以获得最大带宽与最小时延;流量调度通过NSLB技术解决网络负载不均的问题,实现90%高吞吐,以达成AI训练效率提升20%的结果。网络与应用系统的融合优化,HPC网络通过在网计算实现运算优化,即通过MPI通信的在网聚合运算特性,网络设备参与计算过程,减少任务完成时间。摘要目录0101背景编制说明0302网络架构2.1 拓扑2.1.1 Clos2.1.2 MultiRail2.1.3 直连拓扑2.2 软件030405060830303404技术测评4.1 HPC场景4.2 AI场景1003关键技术3.1 流控技术3.
5、1.1 流量映射3.1.2 Pause帧与PFC3.1.3 PFC死锁检测3.1.4 PFC死锁预防3.2 拥塞控制技术3.2.1 ECN3.2.2 DCQCN3.2.3 AI ECN3.2.4 ECN overlay3.3 流量调度技术3.3.1 负载分担3.3.2 网络级负载均衡技术3.4 应用加速642628350506最佳实践5.1 阿联酋Ankabut5.2 武汉超算5.3 北京大学35363739展望本白皮书在撰写过程中得到了多家单位的大力支持,在此特别感谢以下顾问专家、参编单位和参编人员:顾问专家(排名不分先后):Chair&Couns
6、elor of IEEE Kazakhstan Subsection Dr.Ikechi Augustine Ukaegbu华为数据通信产品线数据中心网络领域总裁 王武伟 参编单位(排名不分先后):华为技术有限公司、IEEE Kazakhstan Subsection参编人员(排名不分先后):李建高、赵少奇、李军、温华锋、李经、林艺宏、胡秀丽、程璞、赵刚、郝杰、黄伟、许明明、李莹莹、张爱雪、许建、魏智杰、沈瑞编制说明白皮书中首先介绍了当前高性能计算网络拓扑架构包括CLOS、MultiRail、直连拓扑。其中,CLOS是一个多级架构,在每一级,每个交换单元都和下一级的所有交换单元相连接,可以做到
7、严格的无阻塞、可重构、可扩展;MultiRail通过框式设备的信元交换,实现平面内的绝对负载均衡;直连拓扑可实现超大规模组网,具备低成本、端到端通信跳数少的特点。其次介绍了软件架构从网络自身的优化、网络与应用系统的融合优化两个方面来提升HPC&AI应用性能。网络自身优化的目标是使整网吞吐最高、时延最低。流控通过识别环形缓存依赖并破除其产生的必要条件,从而解决PFC死锁的问题,提高网络可靠性;拥塞控制通过AI算法动态调节ECN门限,以获得最大带宽与最小时延;流量调度通过NSLB技术解决网络负载不均的问题,实现90%高吞吐,以达成AI训练效率提升20%的结果。网络与应用系统的融合优化,HPC网络通
8、过在网计算实现运算优化,即通过MPI通信的在网聚合运算特性,网络设备参与计算过程,减少任务完成时间。摘要围棋,被人们称之为智力游戏的“最后堡垒”。谷歌人工智能AlphaGo战胜围棋高手,以及全球火热的智能聊天程序ChatGPT,其背后是无数千万亿级的超级计算机在计算。如今,高性能计算已经迈向百亿亿级计算时代,现在的计算能力相当于之前1000个AlphaGo的计算能力。从征服围棋游戏到渗透人们生活的方方面面,算力需求呈现倍速增长。高性能计算指通过大型计算机如超级计算机,在巨大的计算能力和存储能力的基础上,对复杂而庞大的科学问题进行并行高速处理。如今,大量需要用高性能计算解决的问题摆在我们面前,从
9、网络信息安全、大数据和人工智能、化学生物制药、金融工程、智能制造等领域,到具体的社会治理、疫情防控、学习研究等生活场景,“算天、算地、算人”的高性能计算在更好地融入这一切。为提供一种高速、低延迟、可扩展的服务器互连方案。英特尔和IBM等几家公司共同推出InfiniBand技术,2000年成立了InfiniBand Trade Association(IBTA),并发布了第一个版本的InfiniBand标准。IB网络存在如下限制日益体现出来:1、必须和支持 IB 协议的设备进行互联。2、InfiniBand 体系相对封闭,对客户来说,更新和升级难度大。3、InfiniBand 体系和传统网络对接
10、需要单独的网关。由于高性能计算和AI技术的推进,对于在整体 HPC 计算平台中,以昂贵的 IB 交换端口来承载数目众多的这些应用无形中增加了企业的计算成本、维护成本、管理成本,制约了 HPC 整体系统的扩展。从业界以太网络基于从10GE向400GE 带宽增长的趋势来看,随着计算规模的不断扩展,原有很多基于 IB 建立的网络无论从带宽介质形态,端口密度等都需要扩容,相对于生态封闭的IB网络,业界倾向于采用无损以太网替换原有 IB 交换机以降低成本,无损以太网络技术的飞快进步成为趋势。无损以太网络技术具有智能RDMA、网络级负载均衡等特征,实现转发零丢包、90%超高吞吐。在如下HPC和AI场景中得
11、到了广泛应用:高性能计算:高性能计算网络提供了高带宽、低延迟的互连解决方案,支持各种计算密集型和数据密集型应用的运行。如石油与天然气勘探,无损以太网络技术在其中发挥着关键作用,有助于分析海量地球物理数据,提高勘探成功率。HPC无损以太和AI Fabric网络技术白皮书背景HPC无损以太和AI Fabric网络技术白皮书背景背景10102 人工智能:通过高速、低时延的数据传输,加速了模型训练和推理过程。无损以太网络在智能交通、能源管理、安防监控等多个AI领域应用加速城市向智能化转型,在精准医疗、遗传研究和药物研发等领域也有着广泛的应用,大大缩短新药的研发周期。同时我们注意到,越来越多的国家在HP
12、C和AI领域给予了重要的政策支持,即制定相应国家战略,投资于HPC和AI基础设施建设,培养相关领域的人才,推动无损以太网络等关键技术的发展。如沙特制定了沙特愿景2030战略,旨在发展高性能计算和人工智能技术,提高在全球竞争力;成立沙特国家研究基金会(KACST)旨在支持高性能计算和AI项目的研究和开发。阿联酋政府于2017年首次启动“2031人工智能战略”,任命世界上首个人工智能大臣,旨在推动AI技术在国内的应用和发展,此外,其还制定了阿联酋战略2021,关注高性能计算和AI技术的发展。卡塔尔制定了卡塔尔国家愿景2030,重点支持高性能计算和人工智能技术,卡塔尔计算研究所(QCRI)是该国在H
13、PC和AI领域的主要研究机构,致力于推动相关技术创新。无损以太网络作为一种高吞吐、低延迟的网络解决方案,在HPC和AI领域具有广泛的应用前景,因其在性能、兼容性、成本效益和灵活性等方面的优势,已然成为必然选择;同时全球各国在HPC和AI领域的政策支持,无损以太网络在未来全球数字化发挥关键作用,推动全人类的进步。围棋,被人们称之为智力游戏的“最后堡垒”。谷歌人工智能AlphaGo战胜围棋高手,以及全球火热的智能聊天程序ChatGPT,其背后是无数千万亿级的超级计算机在计算。如今,高性能计算已经迈向百亿亿级计算时代,现在的计算能力相当于之前1000个AlphaGo的计算能力。从征服围棋游戏到渗透人
14、们生活的方方面面,算力需求呈现倍速增长。高性能计算指通过大型计算机如超级计算机,在巨大的计算能力和存储能力的基础上,对复杂而庞大的科学问题进行并行高速处理。如今,大量需要用高性能计算解决的问题摆在我们面前,从网络信息安全、大数据和人工智能、化学生物制药、金融工程、智能制造等领域,到具体的社会治理、疫情防控、学习研究等生活场景,“算天、算地、算人”的高性能计算在更好地融入这一切。为提供一种高速、低延迟、可扩展的服务器互连方案。英特尔和IBM等几家公司共同推出InfiniBand技术,2000年成立了InfiniBand Trade Association(IBTA),并发布了第一个版本的Infi
15、niBand标准。IB网络存在如下限制日益体现出来:1、必须和支持 IB 协议的设备进行互联。2、InfiniBand 体系相对封闭,对客户来说,更新和升级难度大。3、InfiniBand 体系和传统网络对接需要单独的网关。由于高性能计算和AI技术的推进,对于在整体 HPC 计算平台中,以昂贵的 IB 交换端口来承载数目众多的这些应用无形中增加了企业的计算成本、维护成本、管理成本,制约了 HPC 整体系统的扩展。从业界以太网络基于从10GE向400GE 带宽增长的趋势来看,随着计算规模的不断扩展,原有很多基于 IB 建立的网络无论从带宽介质形态,端口密度等都需要扩容,相对于生态封闭的IB网络,
16、业界倾向于采用无损以太网替换原有 IB 交换机以降低成本,无损以太网络技术的飞快进步成为趋势。无损以太网络技术具有智能RDMA、网络级负载均衡等特征,实现转发零丢包、90%超高吞吐。在如下HPC和AI场景中得到了广泛应用:高性能计算:高性能计算网络提供了高带宽、低延迟的互连解决方案,支持各种计算密集型和数据密集型应用的运行。如石油与天然气勘探,无损以太网络技术在其中发挥着关键作用,有助于分析海量地球物理数据,提高勘探成功率。HPC无损以太和AI Fabric网络技术白皮书背景HPC无损以太和AI Fabric网络技术白皮书背景背景10102 人工智能:通过高速、低时延的数据传输,加速了模型训练
17、和推理过程。无损以太网络在智能交通、能源管理、安防监控等多个AI领域应用加速城市向智能化转型,在精准医疗、遗传研究和药物研发等领域也有着广泛的应用,大大缩短新药的研发周期。同时我们注意到,越来越多的国家在HPC和AI领域给予了重要的政策支持,即制定相应国家战略,投资于HPC和AI基础设施建设,培养相关领域的人才,推动无损以太网络等关键技术的发展。如沙特制定了沙特愿景2030战略,旨在发展高性能计算和人工智能技术,提高在全球竞争力;成立沙特国家研究基金会(KACST)旨在支持高性能计算和AI项目的研究和开发。阿联酋政府于2017年首次启动“2031人工智能战略”,任命世界上首个人工智能大臣,旨在
18、推动AI技术在国内的应用和发展,此外,其还制定了阿联酋战略2021,关注高性能计算和AI技术的发展。卡塔尔制定了卡塔尔国家愿景2030,重点支持高性能计算和人工智能技术,卡塔尔计算研究所(QCRI)是该国在HPC和AI领域的主要研究机构,致力于推动相关技术创新。无损以太网络作为一种高吞吐、低延迟的网络解决方案,在HPC和AI领域具有广泛的应用前景,因其在性能、兼容性、成本效益和灵活性等方面的优势,已然成为必然选择;同时全球各国在HPC和AI领域的政策支持,无损以太网络在未来全球数字化发挥关键作用,推动全人类的进步。网络架构由拓扑、软件、硬件组成。拓扑有Clos、MultiRail、直连拓扑。软
19、件分流控层、拥塞控制层、流量调度层、应用加速层。网络架构如下所示:常见的Clos架构就是Spine-Leaf无阻塞架构,即Spine-Leaf全互联。网络架构20304图1 网络架构图2 Clos交换架构图3 Spine-Leaf组网5G、万物互联智能时代产生海量数据,智能训练大模型部署,国家新一代超级计算中心的规划建设爆炸式增长的算力需求与实际算力增长速度之间存在巨大鸿沟。在后摩尔时代,通过构建大规模并行计算集群满足不断增长的算力需求,如10E级计算集群其计算服务器规模达到20万以上。计算集群网络传统采用CLOS架构,以业界常见的64口盒式交换机为例,3级CLOS架构,最大可支持6.5万服务
20、器接口,不满足10E级计算集群规模诉求。如果增加网络层数则会带来网络跳数增加,通信时延不满足业务需求。当前高性能计算网络拓扑架构包括CLOS架构、MultiRail架构、直连拓扑架构。拓扑2.1拓扑直连拓扑ClosINCApplicationaccelerationlayerTrafficschedulinglayerCongestioncontrol layerFlow controllayerMulti-RailLoad balancingStatic ECNPFCPFC deadlockdetectionSwitchPFC deadlockpreventionAI ECNECN over
21、layQueueschedulingNSLB软件硬件由Charles Clos于1952年首次正式使用该术语,它代表了实际多级电话交换系统的理想化表示。所以当时Charles Clos在想出这个架构的时候实际上是为电话交换系统使用的,没想到的是几十年之后的今天,高端交换机路由器遇到高速转发的问题时,又重新用起了这个架构,所以说CLOS架构并不是一个新概念。Clos交换架构是一个多级架构;在每一级,每个交换单元都和下一级的所有交换单元相连接。Clos交换架构可以做到严格的无阻塞(Non-blocking)、可重构(Re-arrangeable)、可扩展(Scalable)。2.1.1 ClosK
22、*K#1K*K#2K*K#nK*K#1K*K#2K*K#nn*n#1n*n#2n*n#n第1级第2级第3级输入输出HPC无损以太和AI Fabric网络技术白皮书网络架构HPC无损以太和AI Fabric网络技术白皮书网络架构网络架构由拓扑、软件、硬件组成。拓扑有Clos、MultiRail、直连拓扑。软件分流控层、拥塞控制层、流量调度层、应用加速层。网络架构如下所示:常见的Clos架构就是Spine-Leaf无阻塞架构,即Spine-Leaf全互联。网络架构20304图1 网络架构图2 Clos交换架构图3 Spine-Leaf组网5G、万物互联智能时代产生海量数据,智能训练大模型部署,国家
23、新一代超级计算中心的规划建设爆炸式增长的算力需求与实际算力增长速度之间存在巨大鸿沟。在后摩尔时代,通过构建大规模并行计算集群满足不断增长的算力需求,如10E级计算集群其计算服务器规模达到20万以上。计算集群网络传统采用CLOS架构,以业界常见的64口盒式交换机为例,3级CLOS架构,最大可支持6.5万服务器接口,不满足10E级计算集群规模诉求。如果增加网络层数则会带来网络跳数增加,通信时延不满足业务需求。当前高性能计算网络拓扑架构包括CLOS架构、MultiRail架构、直连拓扑架构。拓扑2.1拓扑直连拓扑ClosINCApplicationaccelerationlayerTrafficsc
24、hedulinglayerCongestioncontrol layerFlow controllayerMulti-RailLoad balancingStatic ECNPFCPFC deadlockdetectionSwitchPFC deadlockpreventionAI ECNECN overlayQueueschedulingNSLB软件硬件由Charles Clos于1952年首次正式使用该术语,它代表了实际多级电话交换系统的理想化表示。所以当时Charles Clos在想出这个架构的时候实际上是为电话交换系统使用的,没想到的是几十年之后的今天,高端交换机路由器遇到高速转发的问
25、题时,又重新用起了这个架构,所以说CLOS架构并不是一个新概念。Clos交换架构是一个多级架构;在每一级,每个交换单元都和下一级的所有交换单元相连接。Clos交换架构可以做到严格的无阻塞(Non-blocking)、可重构(Re-arrangeable)、可扩展(Scalable)。2.1.1 ClosK*K#1K*K#2K*K#nK*K#1K*K#2K*K#nn*n#1n*n#2n*n#n第1级第2级第3级输入输出HPC无损以太和AI Fabric网络技术白皮书网络架构HPC无损以太和AI Fabric网络技术白皮书网络架构图4 MultiRail图6 直连拓扑网络结构图图5 GPU训练参数
26、大模型实例业界针对该问题开展了多样的架构研究和新拓扑的设计。直连拓扑(DCT:Directly Connected Topology)在超大规模组网场景下,因为网络直径短,具备低成本、端到端通信跳数少的特点。以64口盒式交换机构建10万个节点超大规模集群为例,传统的CLOS架构需要部署4层组网,端到端通信最大需要跨7跳交换机。使用无阻塞直连拓扑组网,端到端交换机转发跳数最少只3跳,交换机台数(整体投资)下降40%。每个网络节点可以同时接入如下链路:global link:又称为inter-group link,用于连接属于不同Group的节点的链路。接入global link的节点端口称为gl
27、obal port。local link:又称为intra-group link,用于连接属于同一Group的节点的链路。接入local link的节点端口称为local port。access link:用于连接网络节点和终端节点的链路。接入access link的节点端口称为access port。直连拓扑组网中,每个网络节点与同Group中其他网络节点相连的带宽和为a,与终端节点相连的带宽和为p,与其他Group相连的带宽和为h。为了实现更好的负载均衡,推荐取值a=2p=2h,如果选择其他取值,需满足a=2h且2p=2h。为保证更好的网络性能,建议充分使用设备接口,对于不同规模组网的链路
28、规划建议如下:2.1.3 直连拓扑 MultiRail是针对AI训练通信模型设计的网络架构。以如下GPT大模型场景,将大模型切分加载到一组服务器(6*8GPU)为例。服务器内8*GPU通过服务器内部总线实现Tensor并行,一组服务器通过平面内网络实现pipeline并行。而跨组的服务器的数据并行,样本数据切分成64份加载到64组服务器处理,64组服务器通过高性能网络实现数据并行。通过MultiRail组网,形成8个平面的网络,平面之间只有少许的互联。服务器8个GPU分别各自接入一个网络平面,将组内的Pipeline并行和组间的Data并行控制在一台框式设备内部,通过框式设备的信元交换,实现绝
29、对的负载均衡,减少大模型平面内部的负载均衡问题。通过少许的框间互联,满足部分跨平面的通信需求。2.1.2 MultiRail0506MeshAccess link终端节点Local link网络节点Global linkGroupHPC无损以太和AI Fabric网络技术白皮书网络架构HPC无损以太和AI Fabric网络技术白皮书网络架构图4 MultiRail图6 直连拓扑网络结构图图5 GPU训练参数大模型实例业界针对该问题开展了多样的架构研究和新拓扑的设计。直连拓扑(DCT:Directly Connected Topology)在超大规模组网场景下,因为网络直径短,具备低成本、端到端
30、通信跳数少的特点。以64口盒式交换机构建10万个节点超大规模集群为例,传统的CLOS架构需要部署4层组网,端到端通信最大需要跨7跳交换机。使用无阻塞直连拓扑组网,端到端交换机转发跳数最少只3跳,交换机台数(整体投资)下降40%。每个网络节点可以同时接入如下链路:global link:又称为inter-group link,用于连接属于不同Group的节点的链路。接入global link的节点端口称为global port。local link:又称为intra-group link,用于连接属于同一Group的节点的链路。接入local link的节点端口称为local port。acce
31、ss link:用于连接网络节点和终端节点的链路。接入access link的节点端口称为access port。直连拓扑组网中,每个网络节点与同Group中其他网络节点相连的带宽和为a,与终端节点相连的带宽和为p,与其他Group相连的带宽和为h。为了实现更好的负载均衡,推荐取值a=2p=2h,如果选择其他取值,需满足a=2h且2p=2h。为保证更好的网络性能,建议充分使用设备接口,对于不同规模组网的链路规划建议如下:2.1.3 直连拓扑 MultiRail是针对AI训练通信模型设计的网络架构。以如下GPT大模型场景,将大模型切分加载到一组服务器(6*8GPU)为例。服务器内8*GPU通过服
32、务器内部总线实现Tensor并行,一组服务器通过平面内网络实现pipeline并行。而跨组的服务器的数据并行,样本数据切分成64份加载到64组服务器处理,64组服务器通过高性能网络实现数据并行。通过MultiRail组网,形成8个平面的网络,平面之间只有少许的互联。服务器8个GPU分别各自接入一个网络平面,将组内的Pipeline并行和组间的Data并行控制在一台框式设备内部,通过框式设备的信元交换,实现绝对的负载均衡,减少大模型平面内部的负载均衡问题。通过少许的框间互联,满足部分跨平面的通信需求。2.1.2 MultiRail0506MeshAccess link终端节点Local link
33、网络节点Global linkGroupHPC无损以太和AI Fabric网络技术白皮书网络架构HPC无损以太和AI Fabric网络技术白皮书网络架构OSU MPI Benchmark测试Alltoall集合通信操作,DCT相对FT组网,任务完成时间最高提升56.53%,总体提升49.71%。0708小型组网场景中型组网场景大型组网场景注:图中未画出终端节点和access link,未画出全部Group和连线。Local link网络节点Global linkGroupGroup1Group2Group4Group5Group1Group2Group9Group10Group1Group2G
34、roup209Group210Group211Group11Group6FTDCTDCT相对FT性能提升百分比DCT相对FT性能提升百分比FTDCT0.00%10.00%20.00%30.00%40.00%50.00%0.0010.0020.0030.0040.0050.0048650968192OSU AllReduce平均完成时间(us)平均完成时间(us)0.00%20.00%40.00%60.00%0.0020000.0040000.0060000.002825650968192OSU Alltoa
35、ll 小型组网:Group内每个网络节点跟其他所有Group通过多条平行链路互连。中型组网:Group内每个网络节点跟其他所有Group通过一条链路互连。大型组网:每对Group间通过一条链路互连。图7 直连拓扑组网场景图9 OSU alltoall图8 OSU AllReduce采用12台GPU服务器,每台服务器2块GPU卡,型号Tesla v100s;2块CX6-Dx网卡,网卡是100G单端口接入。OSU MPI Benchmark测试AllReduce集合通信操作,DCT相对FT组网,任务完成时间最高提升39.47%,总体提升21.63%。软件架构从两个方面来提升应用性能,一方面是网络自
36、身的优化,另一方面是网络与应用系统的融合优化。网络自身优化的目标是使整网吞吐最高、时延最低,其包括几个方面:1.流控(Flow control):用于解决发送端与接收端的速率匹配问题,做到无丢包。2.拥塞控制(Congestion control):用于解决网络拥塞时对流量的速率控制问题,做到满吞吐与低时延。3.流量调度(Traffic scheduling):用于解决业务流量与网络链路的负载均衡性问题,做到不同业务流量的服务质量保障。网络与应用系统的融合优化,其关键点即在于发挥网络设备负责连通性的天然物理位置优势,与计算系统进行一定层次的配合,以提高应用系统的性能。目前HPC网络通过在网计算
37、(in-Network comput-ing)实现运算优化:针对HPC场景MPI通信的在网聚合运算特性,网络设备参与计算过程,减少任务完成时间。软件2.2HPC无损以太和AI Fabric网络技术白皮书网络架构HPC无损以太和AI Fabric网络技术白皮书网络架构OSU MPI Benchmark测试Alltoall集合通信操作,DCT相对FT组网,任务完成时间最高提升56.53%,总体提升49.71%。0708小型组网场景中型组网场景大型组网场景注:图中未画出终端节点和access link,未画出全部Group和连线。Local link网络节点Global linkGroupGroup
38、1Group2Group4Group5Group1Group2Group9Group10Group1Group2Group209Group210Group211Group11Group6FTDCTDCT相对FT性能提升百分比DCT相对FT性能提升百分比FTDCT0.00%10.00%20.00%30.00%40.00%50.00%0.0010.0020.0030.0040.0050.0048650968192OSU AllReduce平均完成时间(us)平均完成时间(us)0.00%20.00%40.00%60.00%0.0020000.004000
39、0.0060000.002825650968192OSU Alltoall 小型组网:Group内每个网络节点跟其他所有Group通过多条平行链路互连。中型组网:Group内每个网络节点跟其他所有Group通过一条链路互连。大型组网:每对Group间通过一条链路互连。图7 直连拓扑组网场景图9 OSU alltoall图8 OSU AllReduce采用12台GPU服务器,每台服务器2块GPU卡,型号Tesla v100s;2块CX6-Dx网卡,网卡是100G单端口接入。OSU MPI Benchmark测试AllReduce集合通信操作,DCT相对
40、FT组网,任务完成时间最高提升39.47%,总体提升21.63%。软件架构从两个方面来提升应用性能,一方面是网络自身的优化,另一方面是网络与应用系统的融合优化。网络自身优化的目标是使整网吞吐最高、时延最低,其包括几个方面:1.流控(Flow control):用于解决发送端与接收端的速率匹配问题,做到无丢包。2.拥塞控制(Congestion control):用于解决网络拥塞时对流量的速率控制问题,做到满吞吐与低时延。3.流量调度(Traffic scheduling):用于解决业务流量与网络链路的负载均衡性问题,做到不同业务流量的服务质量保障。网络与应用系统的融合优化,其关键点即在于发挥网
41、络设备负责连通性的天然物理位置优势,与计算系统进行一定层次的配合,以提高应用系统的性能。目前HPC网络通过在网计算(in-Network comput-ing)实现运算优化:针对HPC场景MPI通信的在网聚合运算特性,网络设备参与计算过程,减少任务完成时间。软件2.2HPC无损以太和AI Fabric网络技术白皮书网络架构HPC无损以太和AI Fabric网络技术白皮书网络架构0910PFC优先级流控:由IEEE 802.1Qbb定义的一个协议,主要解决拥塞导致的丢帧问题。PFC storm control流控技术拥塞控制流量调度应用加速PFC deadlock freePFC风暴控制:主要解
42、决由PFC风暴引起网络断流的问题,也称为PFC死锁检测。PFC死锁预防:通过识别环形缓存依赖并破除其产生的必要条件,从而解决PFC死锁的问题,提高网络可靠性。ECN全称为Explicit Congestion Notification,即显式拥塞通知,是一种端到端的网络拥塞通知机制,它允许网络在发生拥塞时不丢弃报文,在RFC 3168(2001)中定义。AI ECN通过AI算法动态调节ECN门限,以获得最大带宽与最小时延。负载分担负载分担是一种在存在多条路径时选择转发路径的技术,其目的是达到更平衡的网络负载,典型的应用场景是链路捆绑与ECMP。队列调度队列调度用于控制不同队列之间流量的发送策略
43、,以为不同队列的流量提供差异化的质量保障。在网计算,In-Network Computing,在网络设备上通过对MPI通信数据的聚合以提高HPC应用性能。NSLBINC网络级负载均衡:面向AI训练场景量身打造的,根据该场景下的流量特征,将搜集到的整网信息作为创新算路算法的输入,从而得到最优的流量转发路径,实现AI训练场景下整网流量100%的均衡度和AI训练性能的提升。系统分类特性描述关键技术3流控技术是保障网络零丢包的基础技术。在数据通信中,流量控制提供了一种机制,此机制作用于接收方,由接收方来控制数据传输的速率,以防止快速的发送方压倒慢速的接收方。本章节介绍流控相关的技术,包括如何对流量进行
44、优先级映射,PFC优先级流控的原理,如何解决PFC的死锁问题。流控技术 3.1优先级映射用来实现报文携带的外部优先级与设备的内部优先级之间的转换,并利用DiffServ域来管理和记录外部优先级和内部优先级之间的映射关系,从而设备可以根据内部优先级提供有差别的QoS服务质量。用户可以根据网络规划在不同网络中使用不同的外部优先级字段,例如在VLAN网络中使用802.1p,IP网络中使用DSCP。3.1.1 流量映射默认承载协议报文(CS7)队列7SP调度WDRR调度队列6队列5队列4队列3队列2队列1队列0可承载CNP报文(CS6)可承载Ro CEv2流量(EF)预留-可承载Ro CEv2流量(A
45、F4)预留-可承载Ro CEv2流虽(AF3)可承载TCP流是(AF2)可承载TCP流最(AF1)运维流量-如gRPC/ERSPAN(BE)图10 推荐的队列规划 表1 软件架构分类HPC无损以太和AI Fabric网络技术白皮书网络架构HPC无损以太和AI Fabric网络技术白皮书关键技术0910PFC优先级流控:由IEEE 802.1Qbb定义的一个协议,主要解决拥塞导致的丢帧问题。PFC storm control流控技术拥塞控制流量调度应用加速PFC deadlock freePFC风暴控制:主要解决由PFC风暴引起网络断流的问题,也称为PFC死锁检测。PFC死锁预防:通过识别环形缓
46、存依赖并破除其产生的必要条件,从而解决PFC死锁的问题,提高网络可靠性。ECN全称为Explicit Congestion Notification,即显式拥塞通知,是一种端到端的网络拥塞通知机制,它允许网络在发生拥塞时不丢弃报文,在RFC 3168(2001)中定义。AI ECN通过AI算法动态调节ECN门限,以获得最大带宽与最小时延。负载分担负载分担是一种在存在多条路径时选择转发路径的技术,其目的是达到更平衡的网络负载,典型的应用场景是链路捆绑与ECMP。队列调度队列调度用于控制不同队列之间流量的发送策略,以为不同队列的流量提供差异化的质量保障。在网计算,In-Network Comput
47、ing,在网络设备上通过对MPI通信数据的聚合以提高HPC应用性能。NSLBINC网络级负载均衡:面向AI训练场景量身打造的,根据该场景下的流量特征,将搜集到的整网信息作为创新算路算法的输入,从而得到最优的流量转发路径,实现AI训练场景下整网流量100%的均衡度和AI训练性能的提升。系统分类特性描述关键技术3流控技术是保障网络零丢包的基础技术。在数据通信中,流量控制提供了一种机制,此机制作用于接收方,由接收方来控制数据传输的速率,以防止快速的发送方压倒慢速的接收方。本章节介绍流控相关的技术,包括如何对流量进行优先级映射,PFC优先级流控的原理,如何解决PFC的死锁问题。流控技术 3.1优先级映
48、射用来实现报文携带的外部优先级与设备的内部优先级之间的转换,并利用DiffServ域来管理和记录外部优先级和内部优先级之间的映射关系,从而设备可以根据内部优先级提供有差别的QoS服务质量。用户可以根据网络规划在不同网络中使用不同的外部优先级字段,例如在VLAN网络中使用802.1p,IP网络中使用DSCP。3.1.1 流量映射默认承载协议报文(CS7)队列7SP调度WDRR调度队列6队列5队列4队列3队列2队列1队列0可承载CNP报文(CS6)可承载Ro CEv2流量(EF)预留-可承载Ro CEv2流量(AF4)预留-可承载Ro CEv2流虽(AF3)可承载TCP流是(AF2)可承载TCP流
49、最(AF1)运维流量-如gRPC/ERSPAN(BE)图10 推荐的队列规划 表1 软件架构分类HPC无损以太和AI Fabric网络技术白皮书网络架构HPC无损以太和AI Fabric网络技术白皮书关键技术1112图11 PFC的工作机制图12 服务器网卡故障引起PFC风暴形成PFC死锁示意图图13 开启死锁检测基于以太PAUSE机制的流控(IEEE 802.3 Annex 31B)虽然可以预防丢包,但是有一个不容忽视的问题。PAUSE帧会导致一条链路上的所有报文停止发送,即在出现拥塞时会将链路上所有的流量都暂停,在服务质量要求较高的网络中,这显然是不能接受的。为了解决这个问题,IEEE在8
50、02.1qbb中引入了优先级流控功能PFC(Priority-based Flow Control,基于优先级的流量控制)也称为Per Priority Pause或 CBFC(Class Based Flow Control),是对PAUSE机制的一种增强。PFC允许在一条以太网链路上创建8个虚拟通道,并为每条虚拟通道指定一个优先等级,允许单独暂停和重启其中任意一条虚拟通道,同时允许其它虚拟通道的流量无中断通过。这一方法使网络能够为单个虚拟链路创建零丢包类别的服务,使其能够与同一接口上的其它流量类型共存。如上图11所示,DeviceA发送接口分成了8个优先级队列,DeviceB接收接口有8个
51、接收缓存(buffer),两者一一对应(报文优先级和接口队列存在着一一对应的映射关系),形成了网络中8个虚拟化通道,缓存大小不同使得各队列有不同的数据缓存能力。由此可见,PFC中流量暂停只针对某一个或几个优先级队列,不针对整个接口进行中断,每个队列都能单独进行暂停或重启,而不影响其他队列上的流量,真正实现多种流量共享链路。而对非PFC控制的优先级队列,系统则不进行反压处理,即在发生拥塞时将直接丢弃报文。3.1.2 Pause帧与PFCDeviceAQueueDeviceBReceive buffers1st2nd3rd4th5th6th7th8thEthernet link1st2nd3rd4
52、th5th6th7th8thSTOP服务器网卡故障引起其不断发送PFC反压帧,网络内PFC反压帧进一步扩散,导致出现PFC死锁,最终将导致整网受PFC控制的业务的瘫痪。一旦出现PFC死锁,若不及时解除,将威胁整网的无损业务,无损以太网络为每个设备提供了PFC死锁检测功能,通过以下几个过程对PFC死锁进行全程监控,当设备在死锁检测周期内持续收到PFC反压帧时,将不会响应。1.死锁检测Device2的端口收到Device1发送的PFC反压帧后,内部调度器将停止发送对应优先级的队列流量,并开启定时器,根据设定的死锁检测和精度开始检测队列收到的PFC反压帧。3.1.3 PFC死锁检测Spine1Lea
53、f1Server1Server3Server2Server3Server4Leaf2Leaf3Spine2数据中心内PFC风暴进一步扩散网卡故障,不断发送PFC反压信号PFC反压信号PFC反压帧启动定时器监控内部调度器停止发送对应优先级流量HPC无损以太和AI Fabric网络技术白皮书关键技术HPC无损以太和AI Fabric网络技术白皮书关键技术1112图11 PFC的工作机制图12 服务器网卡故障引起PFC风暴形成PFC死锁示意图图13 开启死锁检测基于以太PAUSE机制的流控(IEEE 802.3 Annex 31B)虽然可以预防丢包,但是有一个不容忽视的问题。PAUSE帧会导致一条链
54、路上的所有报文停止发送,即在出现拥塞时会将链路上所有的流量都暂停,在服务质量要求较高的网络中,这显然是不能接受的。为了解决这个问题,IEEE在802.1qbb中引入了优先级流控功能PFC(Priority-based Flow Control,基于优先级的流量控制)也称为Per Priority Pause或 CBFC(Class Based Flow Control),是对PAUSE机制的一种增强。PFC允许在一条以太网链路上创建8个虚拟通道,并为每条虚拟通道指定一个优先等级,允许单独暂停和重启其中任意一条虚拟通道,同时允许其它虚拟通道的流量无中断通过。这一方法使网络能够为单个虚拟链路创建零
55、丢包类别的服务,使其能够与同一接口上的其它流量类型共存。如上图11所示,DeviceA发送接口分成了8个优先级队列,DeviceB接收接口有8个接收缓存(buffer),两者一一对应(报文优先级和接口队列存在着一一对应的映射关系),形成了网络中8个虚拟化通道,缓存大小不同使得各队列有不同的数据缓存能力。由此可见,PFC中流量暂停只针对某一个或几个优先级队列,不针对整个接口进行中断,每个队列都能单独进行暂停或重启,而不影响其他队列上的流量,真正实现多种流量共享链路。而对非PFC控制的优先级队列,系统则不进行反压处理,即在发生拥塞时将直接丢弃报文。3.1.2 Pause帧与PFCDeviceAQu
56、eueDeviceBReceive buffers1st2nd3rd4th5th6th7th8thEthernet link1st2nd3rd4th5th6th7th8thSTOP服务器网卡故障引起其不断发送PFC反压帧,网络内PFC反压帧进一步扩散,导致出现PFC死锁,最终将导致整网受PFC控制的业务的瘫痪。一旦出现PFC死锁,若不及时解除,将威胁整网的无损业务,无损以太网络为每个设备提供了PFC死锁检测功能,通过以下几个过程对PFC死锁进行全程监控,当设备在死锁检测周期内持续收到PFC反压帧时,将不会响应。1.死锁检测Device2的端口收到Device1发送的PFC反压帧后,内部调度器将
57、停止发送对应优先级的队列流量,并开启定时器,根据设定的死锁检测和精度开始检测队列收到的PFC反压帧。3.1.3 PFC死锁检测Spine1Leaf1Server1Server3Server2Server3Server4Leaf2Leaf3Spine2数据中心内PFC风暴进一步扩散网卡故障,不断发送PFC反压信号PFC反压信号PFC反压帧启动定时器监控内部调度器停止发送对应优先级流量HPC无损以太和AI Fabric网络技术白皮书关键技术HPC无损以太和AI Fabric网络技术白皮书关键技术图14 判断出现了死锁图16 频繁出现死锁可关闭PFC功能图17 循环缓冲区依赖形成PFC死锁示意图图1
58、5 进入死锁恢复流程13142.死锁判定若在设定的PFC死锁检测时间内该队列一直处于PFC-XOFF(即被流控)状态,则认为出现了PFC死锁,需要进行PFC死锁恢复处理流程。3.死锁恢复在PFC死锁恢复过程中,会忽略端口接收到的PFC反压帧,内部调度器会恢复发送对应优先级的队列流量,也可以选择丢弃对应优先级的队列流量,在恢复周期后恢复PFC的正常流控机制。若下一次死锁检测周期内仍然判断出现了死锁,那么将进行新一轮周期的死锁恢复流程。4.死锁控制若上述死锁恢复流程没有起到作用,仍然不断出现PFC死锁现象,那么用户可以配置在一段时间内出现多少次死锁后,强制进入死锁控制流程。比如设定一段时间内,PF
59、C死锁触发了一定的次数之后,认为网络中频繁出现死锁现象,存在极大风险,此时进入死锁控制流程,设备将自动关闭PFC功能,需要用户手动恢复。特殊情况下,例如发生链路故障或设备故障时,路由重新收敛期间可能会出现流量绕行,即对于一台交换机,从上行接口收到的流量又从另一个上行口转发出去,从而出现了环形缓存依赖。如下图所示,当4台交换机都达到PFC门限,都同时向对端发送PFC反压帧,这个时候该拓扑中所有交换机都处于停流状态,由于PFC的反压效应,整个网络或部分网络的吞吐量将变为零。即使在无环网络中形成短暂环路时,也可能发生死锁。虽然经过修复短暂环路会很快消失,但它们造成的死锁不是暂时的,即便重启服务器中断
60、流量,死锁也不能自动恢复。PFC死锁预防正是针对数据中心网络典型的CLOS组网的一种事前预防的方案,通过识别易造成PFC死锁的业务流,修改队列优先级,改变PFC反压的路径,让PFC反压帧不会形成环路。3.1.4 PFC死锁预防PFC反压PFC反压PFC反压PFC反压PFC反压帧PFC反压帧PFC反压帧认为出现了PFC死锁启动定时器监控,收到多个PFC反压帧调度器恢复发流,也可配置为直接丢弃流量死锁恢复期后继续收到PFC反压帧,再度判定出现死锁设定时间内,频繁监测到PFC死锁直接关闭交换机的PFC功能忽略收到的PFC反压帧该队列在定时器期间内一直被流控HPC无损以太和AI Fabric网络技术白
61、皮书关键技术HPC无损以太和AI Fabric网络技术白皮书关键技术图14 判断出现了死锁图16 频繁出现死锁可关闭PFC功能图17 循环缓冲区依赖形成PFC死锁示意图图15 进入死锁恢复流程13142.死锁判定若在设定的PFC死锁检测时间内该队列一直处于PFC-XOFF(即被流控)状态,则认为出现了PFC死锁,需要进行PFC死锁恢复处理流程。3.死锁恢复在PFC死锁恢复过程中,会忽略端口接收到的PFC反压帧,内部调度器会恢复发送对应优先级的队列流量,也可以选择丢弃对应优先级的队列流量,在恢复周期后恢复PFC的正常流控机制。若下一次死锁检测周期内仍然判断出现了死锁,那么将进行新一轮周期的死锁恢
62、复流程。4.死锁控制若上述死锁恢复流程没有起到作用,仍然不断出现PFC死锁现象,那么用户可以配置在一段时间内出现多少次死锁后,强制进入死锁控制流程。比如设定一段时间内,PFC死锁触发了一定的次数之后,认为网络中频繁出现死锁现象,存在极大风险,此时进入死锁控制流程,设备将自动关闭PFC功能,需要用户手动恢复。特殊情况下,例如发生链路故障或设备故障时,路由重新收敛期间可能会出现流量绕行,即对于一台交换机,从上行接口收到的流量又从另一个上行口转发出去,从而出现了环形缓存依赖。如下图所示,当4台交换机都达到PFC门限,都同时向对端发送PFC反压帧,这个时候该拓扑中所有交换机都处于停流状态,由于PFC的
63、反压效应,整个网络或部分网络的吞吐量将变为零。即使在无环网络中形成短暂环路时,也可能发生死锁。虽然经过修复短暂环路会很快消失,但它们造成的死锁不是暂时的,即便重启服务器中断流量,死锁也不能自动恢复。PFC死锁预防正是针对数据中心网络典型的CLOS组网的一种事前预防的方案,通过识别易造成PFC死锁的业务流,修改队列优先级,改变PFC反压的路径,让PFC反压帧不会形成环路。3.1.4 PFC死锁预防PFC反压PFC反压PFC反压PFC反压PFC反压帧PFC反压帧PFC反压帧认为出现了PFC死锁启动定时器监控,收到多个PFC反压帧调度器恢复发流,也可配置为直接丢弃流量死锁恢复期后继续收到PFC反压帧
64、,再度判定出现死锁设定时间内,频繁监测到PFC死锁直接关闭交换机的PFC功能忽略收到的PFC反压帧该队列在定时器期间内一直被流控HPC无损以太和AI Fabric网络技术白皮书关键技术HPC无损以太和AI Fabric网络技术白皮书关键技术1516图20 PFC死锁预防原理图18 CLOS架构下的PFC死锁图19 PFC钩子流如图20所示,Device2识别到一条从Device1发过来的走队列a的流量为钩子流。此时Device2会修改该流的优先级并修改其DSCP值,使其从队列b转发。这样若该流在下游设备Device3引起了拥塞,触发了PFC门限,则会对向Device2的队列b进行反压,让Dev
65、ice2停止发送队列b对应优先级的流量,不会影响队列a,避免了形成循环依赖缓冲区的可能,从而预防了PFC死锁的发生。PFC死锁预防功能中定义了PFC上联端口组,用户可以将一个Leaf设备上与Spine相连的接口,例如图19中的interface1与interface2,都加入PFC上联端口组,一旦Leaf2设备检测到同一条业务流从属于该端口组的接口内进出,即说明该业务流是一条高风险的钩子流,易引起PFC死锁的现象。ECN(Explicit Congestion Notification)是指流量接收端感知到网络上发生拥塞后,通过协议报文通知流量发送端,使得流量发送端降低报文的发送速率,从而从早
66、期避免拥塞而导致的丢包,实现网络性能的最大利用。那么,流量接收端是如何感知到网络上发生拥塞的呢?这里,需要先介绍一下IP报文中的ECN字段。3.2.1 ECN正常流量故障点故障流量PFC反压帧Spine1Leaf1Server1Server2Server3Server4Leaf2PFCPFCPFCPFCSpine2 如图18所示,一条业务流从Server1-Leaf1-Spine1-Leaf2-Server4,这种正常的业务转发过程不会引起PFC死锁。然而若Leaf2与Server4间出现链路故障,或者Leaf2因为某些故障原因没有学习到Server4的地址,都将导致流量不从Leaf2的下游端
67、口转发,而是从Leaf2的上游端口转发。这样Leaf2-Spine2-Leaf1-Spine1就形成了一个循环依赖缓冲区,当4台交换机的缓存占用都达到PFC反压帧触发门限,都同时向对端发送PFC反压帧停止发送某个优先级的流量,将形成PFC死锁状态,最终导致该优先级的流量在组网中被停止转发。Spine1Leaf1Leaf2钩子流interface1interface2Spine2拥塞控制是指对进入网络的数据总量进行控制,使网络流量保持在可接受水平的一种控制方法。拥塞控制与流量控制的区别在于,流量控制作用于接收者,而拥塞控制作用于网络。在当前的RoCEv2网络中,DCQCN是应用最广泛的一种拥塞控
68、制方法,华为无损以太网络对此拥塞控制算法进行了专门的功能增强与性能优化,以满足更广泛的应用场景。本章节介绍ECN、DCQCN的基本原理、AI ECN算法、ECN overlay特性等。拥塞控制技术3.2钩子流修改队列优先级PFC门限PFC反压帧队列b队列aHPC无损以太和AI Fabric网络技术白皮书关键技术HPC无损以太和AI Fabric网络技术白皮书关键技术1516图20 PFC死锁预防原理图18 CLOS架构下的PFC死锁图19 PFC钩子流如图20所示,Device2识别到一条从Device1发过来的走队列a的流量为钩子流。此时Device2会修改该流的优先级并修改其DSCP值,使
69、其从队列b转发。这样若该流在下游设备Device3引起了拥塞,触发了PFC门限,则会对向Device2的队列b进行反压,让Device2停止发送队列b对应优先级的流量,不会影响队列a,避免了形成循环依赖缓冲区的可能,从而预防了PFC死锁的发生。PFC死锁预防功能中定义了PFC上联端口组,用户可以将一个Leaf设备上与Spine相连的接口,例如图19中的interface1与interface2,都加入PFC上联端口组,一旦Leaf2设备检测到同一条业务流从属于该端口组的接口内进出,即说明该业务流是一条高风险的钩子流,易引起PFC死锁的现象。ECN(Explicit Congestion Not
70、ification)是指流量接收端感知到网络上发生拥塞后,通过协议报文通知流量发送端,使得流量发送端降低报文的发送速率,从而从早期避免拥塞而导致的丢包,实现网络性能的最大利用。那么,流量接收端是如何感知到网络上发生拥塞的呢?这里,需要先介绍一下IP报文中的ECN字段。3.2.1 ECN正常流量故障点故障流量PFC反压帧Spine1Leaf1Server1Server2Server3Server4Leaf2PFCPFCPFCPFCSpine2 如图18所示,一条业务流从Server1-Leaf1-Spine1-Leaf2-Server4,这种正常的业务转发过程不会引起PFC死锁。然而若Leaf2
71、与Server4间出现链路故障,或者Leaf2因为某些故障原因没有学习到Server4的地址,都将导致流量不从Leaf2的下游端口转发,而是从Leaf2的上游端口转发。这样Leaf2-Spine2-Leaf1-Spine1就形成了一个循环依赖缓冲区,当4台交换机的缓存占用都达到PFC反压帧触发门限,都同时向对端发送PFC反压帧停止发送某个优先级的流量,将形成PFC死锁状态,最终导致该优先级的流量在组网中被停止转发。Spine1Leaf1Leaf2钩子流interface1interface2Spine2拥塞控制是指对进入网络的数据总量进行控制,使网络流量保持在可接受水平的一种控制方法。拥塞控制
72、与流量控制的区别在于,流量控制作用于接收者,而拥塞控制作用于网络。在当前的RoCEv2网络中,DCQCN是应用最广泛的一种拥塞控制方法,华为无损以太网络对此拥塞控制算法进行了专门的功能增强与性能优化,以满足更广泛的应用场景。本章节介绍ECN、DCQCN的基本原理、AI ECN算法、ECN overlay特性等。拥塞控制技术3.2钩子流修改队列优先级PFC门限PFC反压帧队列b队列aHPC无损以太和AI Fabric网络技术白皮书关键技术HPC无损以太和AI Fabric网络技术白皮书关键技术根据RFC791定义,IP报文头ToS(Type of Service)域由8个比特组成,其中3个比特的
73、Precedence字段标识了IP报文的优先级,Precedence在报文中的位置如下图所示。比特02表示Precedence字段,代表报文传输的8个优先级,按照优先级从高到低顺序取值为7、6、5、4、3、2、1和0。优先级是7或6,经常是为路由选择或更新网络控制通信保留的,用户级应用仅能使用05。而比特05为IP报文的DSCP,比特67为ECN字段。协议对ECN字段进行了如下规定:ECN字段为00,表示该报文不支持ECN。ECN字段为01或者10,表示该报文支持ECN。ECN字段为11,表示该报文的转发路径上发生了拥塞。因此,中间交换机通过对将ECN字段置为11,就可以通知流量接收端本交换机
74、是否发生了拥塞。在CE系列交换机中,ECN功能是与WRED策略相结合应用的,应用这两个功能后,交换机会对收到的报文队列进行识别:当实际队列长度小于报文丢包的低门限值时:不对报文进行任何处理,直接进行转发。当实际队列长度处于报文丢包的低门限值与高门限值之间时:若设备接收到ECN字段为00的报文时,对报文按照概率进行丢包处理。若设备接收到ECN字段为01或者10的报文时,对报文按照概率将ECN字段修改为11后进行转发。1718VersionLengthToS1 ByteFlags/offsetTTLProtoFCSIP-SAIP-DADataLenID01234567PrecedenceIP Pr
75、ecedenceDSCPDTRCSender NICReaction Point(RP)SwitchCongestion Point(CP)Receiver NICNotification Point(CP)Notification图21 IP Precedence/DSCP字段图22 DCQCN算法 若设备接收到ECN字段为11的报文时,对报文不做处理,直接进行转发。当实际队列长度大于报文丢包的高门限值时:若其ECN字段为00的报文时,对报文进行丢包处理。若其ECN字段为01或者10的报文时,对报文将ECN字段修改为11后进行转发。若其ECN字段为11的报文时,对报文不做处理,直接进行转发。
76、这样,当流量接收端收到ECN字段为11的报文时,就知道网络上出现了拥塞。这时,它向流量发送端发送协议通告报文,告知流量发送端存在拥塞。流量发送端收到该协议通告报文后,就会降低报文的发送速率,避免网络中拥塞的加剧。当网络中拥塞解除时,流量接收端不会收到ECN字段为11的报文,也就不会往流量发送端发送用于告知其网络中存在拥塞的协议通告报文。此时,流量发送端收不到协议通告报文,则认为网络中没有拥塞,从而会恢复报文的发送速率。DCQCN全称为Data Center Quantized Congestion Notification,是目前在RoCEv2网络中使用最广泛的拥塞控制算法,它融合了QCN算法
77、和DCTCP算法,DCQCN只需要可以支持WRED和ECN的数据中心交换机(市面上大多数交换机都支持),其他的协议功能在端节点主机的NICs上实现。DCQCN可以提供较好的公平性,实现高带宽利用率,保证低的队列缓存占用率和较少的队列缓存抖动情况。DCQCN算法由三个部分组成,如下图所示:交换机(CP,congestion point)CP算法与DCTCP相同,如果交换机发现出端口队列超出阈值,在转发报文时就会按照一定概率给报文携带ECN拥塞标记(ECN字段置为11),以标示网络中存在拥塞。标记的过程由WRED(Weighted Random Early Detection)功能完成。3.2.2
78、 DCQCNHPC无损以太和AI Fabric网络技术白皮书关键技术HPC无损以太和AI Fabric网络技术白皮书关键技术根据RFC791定义,IP报文头ToS(Type of Service)域由8个比特组成,其中3个比特的Precedence字段标识了IP报文的优先级,Precedence在报文中的位置如下图所示。比特02表示Precedence字段,代表报文传输的8个优先级,按照优先级从高到低顺序取值为7、6、5、4、3、2、1和0。优先级是7或6,经常是为路由选择或更新网络控制通信保留的,用户级应用仅能使用05。而比特05为IP报文的DSCP,比特67为ECN字段。协议对ECN字段进
79、行了如下规定:ECN字段为00,表示该报文不支持ECN。ECN字段为01或者10,表示该报文支持ECN。ECN字段为11,表示该报文的转发路径上发生了拥塞。因此,中间交换机通过对将ECN字段置为11,就可以通知流量接收端本交换机是否发生了拥塞。在CE系列交换机中,ECN功能是与WRED策略相结合应用的,应用这两个功能后,交换机会对收到的报文队列进行识别:当实际队列长度小于报文丢包的低门限值时:不对报文进行任何处理,直接进行转发。当实际队列长度处于报文丢包的低门限值与高门限值之间时:若设备接收到ECN字段为00的报文时,对报文按照概率进行丢包处理。若设备接收到ECN字段为01或者10的报文时,对
80、报文按照概率将ECN字段修改为11后进行转发。1718VersionLengthToS1 ByteFlags/offsetTTLProtoFCSIP-SAIP-DADataLenID01234567PrecedenceIP PrecedenceDSCPDTRCSender NICReaction Point(RP)SwitchCongestion Point(CP)Receiver NICNotification Point(CP)Notification图21 IP Precedence/DSCP字段图22 DCQCN算法 若设备接收到ECN字段为11的报文时,对报文不做处理,直接进行转发。
81、当实际队列长度大于报文丢包的高门限值时:若其ECN字段为00的报文时,对报文进行丢包处理。若其ECN字段为01或者10的报文时,对报文将ECN字段修改为11后进行转发。若其ECN字段为11的报文时,对报文不做处理,直接进行转发。这样,当流量接收端收到ECN字段为11的报文时,就知道网络上出现了拥塞。这时,它向流量发送端发送协议通告报文,告知流量发送端存在拥塞。流量发送端收到该协议通告报文后,就会降低报文的发送速率,避免网络中拥塞的加剧。当网络中拥塞解除时,流量接收端不会收到ECN字段为11的报文,也就不会往流量发送端发送用于告知其网络中存在拥塞的协议通告报文。此时,流量发送端收不到协议通告报文
82、,则认为网络中没有拥塞,从而会恢复报文的发送速率。DCQCN全称为Data Center Quantized Congestion Notification,是目前在RoCEv2网络中使用最广泛的拥塞控制算法,它融合了QCN算法和DCTCP算法,DCQCN只需要可以支持WRED和ECN的数据中心交换机(市面上大多数交换机都支持),其他的协议功能在端节点主机的NICs上实现。DCQCN可以提供较好的公平性,实现高带宽利用率,保证低的队列缓存占用率和较少的队列缓存抖动情况。DCQCN算法由三个部分组成,如下图所示:交换机(CP,congestion point)CP算法与DCTCP相同,如果交换机
83、发现出端口队列超出阈值,在转发报文时就会按照一定概率给报文携带ECN拥塞标记(ECN字段置为11),以标示网络中存在拥塞。标记的过程由WRED(Weighted Random Early Detection)功能完成。3.2.2 DCQCNHPC无损以太和AI Fabric网络技术白皮书关键技术HPC无损以太和AI Fabric网络技术白皮书关键技术1920WRED是指按照一定的丢弃策略随机丢弃队列中的报文。它可以区分报文的服务等级,为不同的业务报文设置不同的丢弃策略。WRED在丢弃策略中设置了报文丢包的高/低门限以及最大丢弃概率,(该丢弃概率就是交换机对到达报文标记ECN的概率)。并规定:当
84、实际队列长度低于报文丢包的低门限值时,不丢弃报文,丢弃概率为0%。当实际队列长度高于报文丢包的高门限值时,丢弃所有新入队列的报文,丢弃概率为100%。当实际队列长度处于报文丢包的低门限值与高门限值之间时,随机丢弃新到来的报文。随着队列中报文长度的增加,丢弃概率线性增长,但不超过设置的最大丢弃概率。接收端(NP,notification point)接收端NP收到报文后,发现报文中携带ECN拥塞标记(ECN字段为11),则知道网络中存在拥塞,因此向源端服务器发送CNP拥塞通知报文(Congestion Notification Packets),以通知源端服务器进行流量降速。NP算法说明了CNP
85、s应该什么时间以及如何产生:如果某个流的被标记数据包到达,并且在过去的N微秒的时间内没有相应CNP被发送,此时NP立刻发送一个CNP。NIC每N微秒最多处理一个被标记的数据包并为该流产生一个CNP报文。发送端(RP,reaction point)当发送端RP收到一个CNP时,RP将减小当前速率Rc,并更新速率降低因子,和DCTCP类似,并将目标速率设为当前速率,更新速率过程如下:RT=RcRc=Rc*(1-/2)MarkingProbabilityKmaxEgressQueue SizePmaxKmin01Device转发芯片ECN高门限ECN低门限Queue1Queue2QueueN下发最优
86、ECN门限根据场景计算最优的ECN门限流量模型判断AI算法实时调优ECN门限AI业务组件Telemetry安全策略图23 报文被标记的概率与队列长度关系图24 无损队列的AI ECN功能实现原理无损队列的动态ECN门限功能可以根据网络流量N对1的Incast值、大小流占比来动态调整无损队列的ECN门限,在尽量避免触发网络PFC流控的同时,尽可能的兼顾时延敏感小流和吞吐敏感大流。然而现网中的流量场景复杂多变,动态ECN门限功能并不能一一覆盖所有流量场景,无法帮助无损业务达到最优性能。而结合了AI算法的无损队列的AI ECN门限功能可以根据现网流量模型进行AI训练,对网络流量的变化进行预测,并且可
87、以根据队列长度等流量特征调整ECN门限,进行队列的精确调度,保障整网的最优性能。如下图所示,设备会对现网的流量特征进行采集并上送至AI业务组件,AI业务组件将根据预加载的流量模型文件智能的为无损队列设置最佳的ECN门限,保障无损队列的低时延和高吞吐,从而让不同流量场景下的无损业务性能都能达到最佳。3.2.3 AI ECN=(1-g)*+g如果RP在K微秒内没有收到CNP拥塞通知,那么将再次更新,此时=(1-g)*。注意 K必须大于N 即 K必须大于CNP产生的时间周期。进一步,RP增加它的发送速率,该过程与QCN中的RP相同。HPC无损以太和AI Fabric网络技术白皮书关键技术HPC无损以
88、太和AI Fabric网络技术白皮书关键技术1920WRED是指按照一定的丢弃策略随机丢弃队列中的报文。它可以区分报文的服务等级,为不同的业务报文设置不同的丢弃策略。WRED在丢弃策略中设置了报文丢包的高/低门限以及最大丢弃概率,(该丢弃概率就是交换机对到达报文标记ECN的概率)。并规定:当实际队列长度低于报文丢包的低门限值时,不丢弃报文,丢弃概率为0%。当实际队列长度高于报文丢包的高门限值时,丢弃所有新入队列的报文,丢弃概率为100%。当实际队列长度处于报文丢包的低门限值与高门限值之间时,随机丢弃新到来的报文。随着队列中报文长度的增加,丢弃概率线性增长,但不超过设置的最大丢弃概率。接收端(N
89、P,notification point)接收端NP收到报文后,发现报文中携带ECN拥塞标记(ECN字段为11),则知道网络中存在拥塞,因此向源端服务器发送CNP拥塞通知报文(Congestion Notification Packets),以通知源端服务器进行流量降速。NP算法说明了CNPs应该什么时间以及如何产生:如果某个流的被标记数据包到达,并且在过去的N微秒的时间内没有相应CNP被发送,此时NP立刻发送一个CNP。NIC每N微秒最多处理一个被标记的数据包并为该流产生一个CNP报文。发送端(RP,reaction point)当发送端RP收到一个CNP时,RP将减小当前速率Rc,并更新速
90、率降低因子,和DCTCP类似,并将目标速率设为当前速率,更新速率过程如下:RT=RcRc=Rc*(1-/2)MarkingProbabilityKmaxEgressQueue SizePmaxKmin01Device转发芯片ECN高门限ECN低门限Queue1Queue2QueueN下发最优ECN门限根据场景计算最优的ECN门限流量模型判断AI算法实时调优ECN门限AI业务组件Telemetry安全策略图23 报文被标记的概率与队列长度关系图24 无损队列的AI ECN功能实现原理无损队列的动态ECN门限功能可以根据网络流量N对1的Incast值、大小流占比来动态调整无损队列的ECN门限,在尽
91、量避免触发网络PFC流控的同时,尽可能的兼顾时延敏感小流和吞吐敏感大流。然而现网中的流量场景复杂多变,动态ECN门限功能并不能一一覆盖所有流量场景,无法帮助无损业务达到最优性能。而结合了AI算法的无损队列的AI ECN门限功能可以根据现网流量模型进行AI训练,对网络流量的变化进行预测,并且可以根据队列长度等流量特征调整ECN门限,进行队列的精确调度,保障整网的最优性能。如下图所示,设备会对现网的流量特征进行采集并上送至AI业务组件,AI业务组件将根据预加载的流量模型文件智能的为无损队列设置最佳的ECN门限,保障无损队列的低时延和高吞吐,从而让不同流量场景下的无损业务性能都能达到最佳。3.2.3
92、 AI ECN=(1-g)*+g如果RP在K微秒内没有收到CNP拥塞通知,那么将再次更新,此时=(1-g)*。注意 K必须大于N 即 K必须大于CNP产生的时间周期。进一步,RP增加它的发送速率,该过程与QCN中的RP相同。HPC无损以太和AI Fabric网络技术白皮书关键技术HPC无损以太和AI Fabric网络技术白皮书关键技术1.Device设备内的转发芯片会对当前流量的特征进行采集,比如队列缓存占用率、带宽吞吐、当前的 ECN门限配置等,然后通过Telemetry技术将网络流量实时状态信息推送给AI业务组件。2.AI业务组件收到推送的流量状态信息后,将根据预加载的流量模型文件对当前的
93、流量进行场景识别,判断当前的网络流量状态是否是已知场景。如果是已知场景,AI业务组件将从积累了大量的ECN门限配置记忆样本的流量模型文件中,推理出与当前网络状态匹配的ECN门限配置。3.如果是未知的流量场景,AI业务组件将结合AI算法,在保障高带宽、低时延的前提下,对当前的ECN门限不断进行实时修正,最终计算出最优的ECN门限配置。4.最后,AI业务组件将符合安全策略的最优ECN门限下发到设备中,调整无损队列的ECN门限。5.对于获得的新的流量状态,设备将重复进行上述操作,从而保障无损业务的最佳性能。无损队列的AI ECN门限功能可以根据现网流量模型进行AI训练,对网络流量的变化进行预测,并且
94、可以根据队列长度等流量特征调整ECN门限,进行队列的精确调度,保障无损业务的最优性能。同时,与拥塞管理技术(队列调度技术)配合使用时,无损队列的AI ECN门限功能可以实现网络中TCP流量与RoCEv2流量的混合调度,保障RoCEv2流量的无损传输的同时实现低时延和高吞吐。在VXLAN隧道的转发设备中发生拥塞(Overlay网络场景)如果报文在Overlay网络中进行转发时发生拥塞,即报文在中间转发设备上才将ECN字段置为CE标记,那么ECN字段在VXLAN网络中转发的流程如图26所示:a.报文在Overlay网络中进行转发时发生拥塞,即报文所在队列在Underlay设备DeviceB上出现拥
95、塞,DeviceB将VXLAN外层IP头的ECN字段置为CE。b.在NVE2上对VXLAN报文进行解封装,根据VXLAN外层IP头中的ECN字段映射到原始报文IP头中,最终通过原始报文将ECN拥塞标记传递到Host2。2122DMACSMACUDPVNIDMACSMACIPCEPayloadDMAC映射ECN字段映射ECN字段SMACPayloadDeviceAVXLAN TunnelHost1Host2DeviceC拥塞发生点流量转发路径IPECTDMACSMACPayloadIPCEDMACSMACPayloadIPCEDMACSMACPayloadIPCEVTEP IP CEDMACSM
96、ACUDPVNIDMACSMACCEPayloadVTEP IP CEDeviceBNVE2NVE1图25 Ingress NVE场景下的ECN拥塞标记ECN Overlay功能即将ECN(Explicit Congestion Notification)功能应用到VXLAN网络中,使Overlay网络中的拥塞状态可以及时被流量接收端感知,让流量接收端知会流量发送端进行降速,缓解网络拥塞。根据VXLAN网络中拥塞发生点不同,ECN Overlay功能的工作原理如下所示:在入VXLAN隧道的设备上发生拥塞(Ingress NVE场景)如果报文在进入VXLAN隧道前已经发生拥塞,即Ingress
97、NVE对报文进行VXLAN封装前,其原始报文中的ECN字段已置为CE标记,那么ECN字段在VXLAN网络中转发的流程如图25所示:a.报文从Host1进入DeviceA设备,此时报文所在队列在DeviceA出现拥塞,DeviceA将报文中的ECN字段置为CE。b.在NVE1上对原始报文进行VXLAN封装,报文进入VXLAN隧道进行转发。此时,原始报文IP头中的ECN字段将映射到VXLAN外层IP头中。3.2.4 ECN overlayc.Overlay中,通过Underlay设备DeviceB,根据外层IP头将报文的ECN字段携带至NVE2。d.在NVE2上对VXLAN报文进行解封装,根据VX
98、LAN外层IP头中的ECN字段映射到原始报文IP头中,最终通过原始报文将ECN拥塞标记传递到Host2。HPC无损以太和AI Fabric网络技术白皮书关键技术HPC无损以太和AI Fabric网络技术白皮书关键技术1.Device设备内的转发芯片会对当前流量的特征进行采集,比如队列缓存占用率、带宽吞吐、当前的 ECN门限配置等,然后通过Telemetry技术将网络流量实时状态信息推送给AI业务组件。2.AI业务组件收到推送的流量状态信息后,将根据预加载的流量模型文件对当前的流量进行场景识别,判断当前的网络流量状态是否是已知场景。如果是已知场景,AI业务组件将从积累了大量的ECN门限配置记忆样
99、本的流量模型文件中,推理出与当前网络状态匹配的ECN门限配置。3.如果是未知的流量场景,AI业务组件将结合AI算法,在保障高带宽、低时延的前提下,对当前的ECN门限不断进行实时修正,最终计算出最优的ECN门限配置。4.最后,AI业务组件将符合安全策略的最优ECN门限下发到设备中,调整无损队列的ECN门限。5.对于获得的新的流量状态,设备将重复进行上述操作,从而保障无损业务的最佳性能。无损队列的AI ECN门限功能可以根据现网流量模型进行AI训练,对网络流量的变化进行预测,并且可以根据队列长度等流量特征调整ECN门限,进行队列的精确调度,保障无损业务的最优性能。同时,与拥塞管理技术(队列调度技术
100、)配合使用时,无损队列的AI ECN门限功能可以实现网络中TCP流量与RoCEv2流量的混合调度,保障RoCEv2流量的无损传输的同时实现低时延和高吞吐。在VXLAN隧道的转发设备中发生拥塞(Overlay网络场景)如果报文在Overlay网络中进行转发时发生拥塞,即报文在中间转发设备上才将ECN字段置为CE标记,那么ECN字段在VXLAN网络中转发的流程如图26所示:a.报文在Overlay网络中进行转发时发生拥塞,即报文所在队列在Underlay设备DeviceB上出现拥塞,DeviceB将VXLAN外层IP头的ECN字段置为CE。b.在NVE2上对VXLAN报文进行解封装,根据VXLAN
101、外层IP头中的ECN字段映射到原始报文IP头中,最终通过原始报文将ECN拥塞标记传递到Host2。2122DMACSMACUDPVNIDMACSMACIPCEPayloadDMAC映射ECN字段映射ECN字段SMACPayloadDeviceAVXLAN TunnelHost1Host2DeviceC拥塞发生点流量转发路径IPECTDMACSMACPayloadIPCEDMACSMACPayloadIPCEDMACSMACPayloadIPCEVTEP IP CEDMACSMACUDPVNIDMACSMACCEPayloadVTEP IP CEDeviceBNVE2NVE1图25 Ingres
102、s NVE场景下的ECN拥塞标记ECN Overlay功能即将ECN(Explicit Congestion Notification)功能应用到VXLAN网络中,使Overlay网络中的拥塞状态可以及时被流量接收端感知,让流量接收端知会流量发送端进行降速,缓解网络拥塞。根据VXLAN网络中拥塞发生点不同,ECN Overlay功能的工作原理如下所示:在入VXLAN隧道的设备上发生拥塞(Ingress NVE场景)如果报文在进入VXLAN隧道前已经发生拥塞,即Ingress NVE对报文进行VXLAN封装前,其原始报文中的ECN字段已置为CE标记,那么ECN字段在VXLAN网络中转发的流程如图
103、25所示:a.报文从Host1进入DeviceA设备,此时报文所在队列在DeviceA出现拥塞,DeviceA将报文中的ECN字段置为CE。b.在NVE1上对原始报文进行VXLAN封装,报文进入VXLAN隧道进行转发。此时,原始报文IP头中的ECN字段将映射到VXLAN外层IP头中。3.2.4 ECN overlayc.Overlay中,通过Underlay设备DeviceB,根据外层IP头将报文的ECN字段携带至NVE2。d.在NVE2上对VXLAN报文进行解封装,根据VXLAN外层IP头中的ECN字段映射到原始报文IP头中,最终通过原始报文将ECN拥塞标记传递到Host2。HPC无损以太和
104、AI Fabric网络技术白皮书关键技术HPC无损以太和AI Fabric网络技术白皮书关键技术2324负载分担(Load Balance),指的是网络节点在转发流量时,将负载(流量)分摊到多条链路上进行转发,要在网络中存在多条路径的情况下,比如all-to-all流量模型下,实现无损以太网络,达成无丢包损失、无时延损失、无吞吐损失,需要引入该机制。数据中心中常用的负载分担机制为等价多路径路由ECMP和链路聚合LAG。ECMP负载分担等价多路径路由ECMP(Equal-Cost Multi-Path routing)实现了等价多路径负载均衡和链路备份的目的。3.3.1 负载分担 在出VXLAN
105、隧道的设备上发生拥塞(Egress NVE场景)如果报文出VXLAN隧道的设备上发生拥塞,即Egress NVE对报文进行VXLAN接封装后,报文中的ECN字段才置为CE标记,那么ECN字段在VXLAN网络中转发的流程如图27所示:报文所在队列在DeviceC上出现拥塞,DeviceC将原始报文IP头的ECN字段置为CE,最终通过原始报文将ECN拥塞标记传递到Host2。DMACSMACUDPVNIDMACSMACIPECTPayloadDMACSMACPayloadDeviceAVXLAN TunnelHost1Host2DeviceCIPECTDMACSMACPayloadIPECTDMA
106、CSMACPayloadIPECTDMACSMACPayloadIPCEVTEP IPECT DMACSMACUDPVNIDMACSMACPayloadVTEP IPECT DeviceBIPECTNVE1NVE2DMACSMACUDPVNIDMACSMACIPECTPayloadDMACSMACPayloadDeviceAVXLAN TunnelHost1Host2DeviceCIPECTDMACSMACPayloadIPECTDMACSMACPayloadIPCEDMACSMACPayloadIPCEVTEP IPECT DMACSMACUDPVNIDMACSMACPayloadVTEP
107、IPCEDeviceBIPECTNVE2NVE1图26 Overlay网络场景下的ECN拥塞标记图27 Egress NVE场景下的ECN拥塞标记流控调度技术3.3映射ECN字段映射ECN字段拥塞发生点流量转发路径映射ECN字段映射ECN字段拥塞发生点流量转发路径HPC无损以太和AI Fabric网络技术白皮书关键技术HPC无损以太和AI Fabric网络技术白皮书关键技术2324负载分担(Load Balance),指的是网络节点在转发流量时,将负载(流量)分摊到多条链路上进行转发,要在网络中存在多条路径的情况下,比如all-to-all流量模型下,实现无损以太网络,达成无丢包损失、无时延损
108、失、无吞吐损失,需要引入该机制。数据中心中常用的负载分担机制为等价多路径路由ECMP和链路聚合LAG。ECMP负载分担等价多路径路由ECMP(Equal-Cost Multi-Path routing)实现了等价多路径负载均衡和链路备份的目的。3.3.1 负载分担 在出VXLAN隧道的设备上发生拥塞(Egress NVE场景)如果报文出VXLAN隧道的设备上发生拥塞,即Egress NVE对报文进行VXLAN接封装后,报文中的ECN字段才置为CE标记,那么ECN字段在VXLAN网络中转发的流程如图27所示:报文所在队列在DeviceC上出现拥塞,DeviceC将原始报文IP头的ECN字段置为C
109、E,最终通过原始报文将ECN拥塞标记传递到Host2。DMACSMACUDPVNIDMACSMACIPECTPayloadDMACSMACPayloadDeviceAVXLAN TunnelHost1Host2DeviceCIPECTDMACSMACPayloadIPECTDMACSMACPayloadIPECTDMACSMACPayloadIPCEVTEP IPECT DMACSMACUDPVNIDMACSMACPayloadVTEP IPECT DeviceBIPECTNVE1NVE2DMACSMACUDPVNIDMACSMACIPECTPayloadDMACSMACPayloadDevi
110、ceAVXLAN TunnelHost1Host2DeviceCIPECTDMACSMACPayloadIPECTDMACSMACPayloadIPCEDMACSMACPayloadIPCEVTEP IPECT DMACSMACUDPVNIDMACSMACPayloadVTEP IPCEDeviceBIPECTNVE2NVE1图26 Overlay网络场景下的ECN拥塞标记图27 Egress NVE场景下的ECN拥塞标记流控调度技术3.3映射ECN字段映射ECN字段拥塞发生点流量转发路径映射ECN字段映射ECN字段拥塞发生点流量转发路径HPC无损以太和AI Fabric网络技术白皮书关键技术
111、HPC无损以太和AI Fabric网络技术白皮书关键技术图28 负载分担组网图图29 Eth-Trunk示意图2526LAG负载分担随着网络规模不断扩大,用户对骨干链路的带宽和可靠性提出越来越高的要求。在传统技术中,常用更换高速率的设备的方式来增加带宽,但这种方案需要付出高额的费用,而且不够灵活。采用链路聚合(Link Aggregation)技术可以在不进行硬件升级的条件下,通过将多个物理接口捆绑为一个逻辑接口,达到增加链路带宽的目的。在实现增大带宽目的的同时,链路聚合采用备份链路的机制,可以有效的提高设备之间链路的可靠性。链路聚合组LAG(Link Aggregation Group)是指
112、将若干条以太链路捆绑在一起所形成的逻辑链路。每个聚合组唯一对应着一个逻辑接口,这个逻辑接口称之为聚合接口或Eth-Trunk接口。如图29所示,DeviceA与DeviceB之间通过三条以太网物理链路相连,将这三条链路捆绑在一起,就成为了一条逻辑链路,这条逻辑链路的最大带宽等于原先三条以太网物理链路的带宽总和,从而达到了增加链路带宽的目的;同时,这三条以太网物理链路相互备份,有效地提高了链路的可靠性。Eth-Trunk接口可以作为普通的以太网接口来使用,实现各种路由协议以及其它业务。与普通以太网接口的差别在于:转发的时候LAG需要从Eth-Trunk成员接口中选择一个或多个接口来进行数据转发。
113、因此,在使用Eth-Trunk转发数据时,由于聚合组两端设备之间有多条物理链路,就会产生同一数据流的第一个数据帧在一条物理链路上传输,而第二个数据帧在另外一条物理链路上传输的情况。这样一来同一数据流的第二个数据帧就有可能比第一个数据帧先到达对端设备,从而产生接收数据包乱序的情况。为了避免这种情况的发生,Eth-Trunk采用逐流负载分担的机制,这种机制把数据帧中的地址通过HASH算法生成HASH-KEY值,然后根据这个数值在Eth-Trunk转发表中寻找对应的出接口,不同的MAC或IP地址HASH得出的HASH-KEY值不同,从而出接口也就不同,这样既保证了同一数据流的帧在同一条物理链路转发,
114、又实现了流量在聚合组内各物理链路上的负载分担。AI集群训练过程中,参数通过高速互联网络在不同的服务器间进行同步交互,这些通信流量具有共同的特征:流量成周期性、流数量少、流量长连接、并行任务间有强实时同步性要求,通信效率取决于最慢的节点,并且AI集群训练场景下,传输的数据量较大。上述的流量特征导致网络较易出现负载分担不均、整网吞吐下降的问题,从而影响AI集群训练的性能。3.3.2 网络级负载均衡技术ECMP应用于多条不同链路到达同一目的地址的网络环境中。当多条路由的路由优先级和路由度量都相同时,这几条路由就称为等价路由,多条等价路由可以实现负载分担。当这几条路由为非等价路由时,就可以实现路由备份
115、。如果不使用ECMP转发,发往该目的地址的数据包只能利用其中的一条链路,其它链路处于备份状态或无效状态,并且在动态路由环境下相互的切换需要一定时间。而ECMP可以在该网络环境下同时使用多条链路,不仅增加了传输带宽,并且可以无时延无丢包地备份失效链路的数据传输。当实现ECMP负载分担时,路由器将数据包的五元组(源地址、目的地址、源端口、目的端口、协议)作为哈希因子,通过HASH算法生成HASH-KEY值,然后根据HASH-KEY值在负载分担链路中选取一条成员链路对数据包进行转发。当五元组相同时,路由器总是选择与上一次相同的下一跳地址发送报文。当五元组不同时,路由器会选取相对空闲的路径进行转发。如
116、图28所示,RouterA已经通过接口GE1/0/0转发到目的地址10.1.1.0/24的第1个报文P1,随后又需要分别转发报文到目的地址10.1.1.0/24和10.2.1.0/24。其转发过程如下:当转发到达10.1.1.0/24的第2个报文P2时,发现此报文与到达10.1.1.0/24的第1个报文P1的五元组一致。所以之后到达该目的地的报文都从GE1/0/0转发。当转发到达10.2.1.0/24的第2个报文P2时,发现此报文与到达10.1.1.0/24的第1个报文P1的五元组不一致。所以选取从GE2/0/0转发,并且之后到达该目的地的报文都从GE2/0/0转发。正常情况下,路由器采用主路
117、由转发数据。当主链路出现故障时,主路由变为非激活状态,路由器选择备份路由中优先级最高的路由转发数据。这样,也就实现了主路由到备份路由的切换。当主链路恢复正常时,由于主路由的优先级最高,路由器重新选择主路由来发送数据。这样,就实现了从备份路由回切到主路由。RRRRGE1/0/0GE2/0/010.1.1.0/24P1-P610.2.1.0/24P1-P610.1.1.0/2410.2.1.0/24RouterARouterBRouterDRouterCEth-TrunkDeviceADeviceBHPC无损以太和AI Fabric网络技术白皮书关键技术HPC无损以太和AI Fabric网络技术白
118、皮书关键技术图28 负载分担组网图图29 Eth-Trunk示意图2526LAG负载分担随着网络规模不断扩大,用户对骨干链路的带宽和可靠性提出越来越高的要求。在传统技术中,常用更换高速率的设备的方式来增加带宽,但这种方案需要付出高额的费用,而且不够灵活。采用链路聚合(Link Aggregation)技术可以在不进行硬件升级的条件下,通过将多个物理接口捆绑为一个逻辑接口,达到增加链路带宽的目的。在实现增大带宽目的的同时,链路聚合采用备份链路的机制,可以有效的提高设备之间链路的可靠性。链路聚合组LAG(Link Aggregation Group)是指将若干条以太链路捆绑在一起所形成的逻辑链路。
119、每个聚合组唯一对应着一个逻辑接口,这个逻辑接口称之为聚合接口或Eth-Trunk接口。如图29所示,DeviceA与DeviceB之间通过三条以太网物理链路相连,将这三条链路捆绑在一起,就成为了一条逻辑链路,这条逻辑链路的最大带宽等于原先三条以太网物理链路的带宽总和,从而达到了增加链路带宽的目的;同时,这三条以太网物理链路相互备份,有效地提高了链路的可靠性。Eth-Trunk接口可以作为普通的以太网接口来使用,实现各种路由协议以及其它业务。与普通以太网接口的差别在于:转发的时候LAG需要从Eth-Trunk成员接口中选择一个或多个接口来进行数据转发。因此,在使用Eth-Trunk转发数据时,由
120、于聚合组两端设备之间有多条物理链路,就会产生同一数据流的第一个数据帧在一条物理链路上传输,而第二个数据帧在另外一条物理链路上传输的情况。这样一来同一数据流的第二个数据帧就有可能比第一个数据帧先到达对端设备,从而产生接收数据包乱序的情况。为了避免这种情况的发生,Eth-Trunk采用逐流负载分担的机制,这种机制把数据帧中的地址通过HASH算法生成HASH-KEY值,然后根据这个数值在Eth-Trunk转发表中寻找对应的出接口,不同的MAC或IP地址HASH得出的HASH-KEY值不同,从而出接口也就不同,这样既保证了同一数据流的帧在同一条物理链路转发,又实现了流量在聚合组内各物理链路上的负载分担
121、。AI集群训练过程中,参数通过高速互联网络在不同的服务器间进行同步交互,这些通信流量具有共同的特征:流量成周期性、流数量少、流量长连接、并行任务间有强实时同步性要求,通信效率取决于最慢的节点,并且AI集群训练场景下,传输的数据量较大。上述的流量特征导致网络较易出现负载分担不均、整网吞吐下降的问题,从而影响AI集群训练的性能。3.3.2 网络级负载均衡技术ECMP应用于多条不同链路到达同一目的地址的网络环境中。当多条路由的路由优先级和路由度量都相同时,这几条路由就称为等价路由,多条等价路由可以实现负载分担。当这几条路由为非等价路由时,就可以实现路由备份。如果不使用ECMP转发,发往该目的地址的数
122、据包只能利用其中的一条链路,其它链路处于备份状态或无效状态,并且在动态路由环境下相互的切换需要一定时间。而ECMP可以在该网络环境下同时使用多条链路,不仅增加了传输带宽,并且可以无时延无丢包地备份失效链路的数据传输。当实现ECMP负载分担时,路由器将数据包的五元组(源地址、目的地址、源端口、目的端口、协议)作为哈希因子,通过HASH算法生成HASH-KEY值,然后根据HASH-KEY值在负载分担链路中选取一条成员链路对数据包进行转发。当五元组相同时,路由器总是选择与上一次相同的下一跳地址发送报文。当五元组不同时,路由器会选取相对空闲的路径进行转发。如图28所示,RouterA已经通过接口GE1
123、/0/0转发到目的地址10.1.1.0/24的第1个报文P1,随后又需要分别转发报文到目的地址10.1.1.0/24和10.2.1.0/24。其转发过程如下:当转发到达10.1.1.0/24的第2个报文P2时,发现此报文与到达10.1.1.0/24的第1个报文P1的五元组一致。所以之后到达该目的地的报文都从GE1/0/0转发。当转发到达10.2.1.0/24的第2个报文P2时,发现此报文与到达10.1.1.0/24的第1个报文P1的五元组不一致。所以选取从GE2/0/0转发,并且之后到达该目的地的报文都从GE2/0/0转发。正常情况下,路由器采用主路由转发数据。当主链路出现故障时,主路由变为非
124、激活状态,路由器选择备份路由中优先级最高的路由转发数据。这样,也就实现了主路由到备份路由的切换。当主链路恢复正常时,由于主路由的优先级最高,路由器重新选择主路由来发送数据。这样,就实现了从备份路由回切到主路由。RRRRGE1/0/0GE2/0/010.1.1.0/24P1-P610.2.1.0/24P1-P610.1.1.0/2410.2.1.0/24RouterARouterBRouterDRouterCEth-TrunkDeviceADeviceBHPC无损以太和AI Fabric网络技术白皮书关键技术HPC无损以太和AI Fabric网络技术白皮书关键技术27282924.62193.5
125、71318.91697.562187.121202.63872.2326.8733.72%82.40%51.22%113.41%0.00%20.00%40.00%60.00%80.00%100.00%120.00%050002500300035006432168性能(images/s)性能(images/s)Batch size单任务Ring算法flow_matrixecmp hash 3flow_matrix相对于ecmp hash 3提升百分比1414.29980.46594.76326.151397.2976.85593.22324.162811.491957.31
126、1187.98650.311101.6710.33367238.511332.66700.19388.26265.12434.261410.52755.26503.6115.50%38.77%57.29%29.13%0.00%10.00%20.00%30.00%40.00%50.00%60.00%70.00%05000250030006432168batch size多任务Ring算法 性能(images/s)NSLB 任务1多任务Ring算法 性能(images/s)NSLB 任务2多任务算法 性能(images/s)NSLB 总多任务Ring算法 性能(images/
127、s)ecmp hash 3 任务1多任务Ring算法 性能(images/s)ecmp hash 3 任务2多任务Ring算法 性能(images/s)ecmp hash 3 总算法 性能(images/s)NSLBecmp hash 3提升百分比%of jobs which use Buffer size=x504030201K4K16K64K256K1M4M16M64MBuffer sizeAillreduceReduceBcast图30 Ring算法场景,运行单个计算任务,AI训练集群性能图31 Ring算法场景,运行两个计算任务,AI训练集群
128、性能图32 MPI collectives total accumulated bytes on Mira参考Characterization of MPI Usage on a Production Supercomputer当前网络均衡的主流技术有三种,逐流(Flow-based)ECMP均衡、基于子流flowlet均衡和逐包(Packet-based)ECMP均衡。逐流ECMP均衡,是当前最为常用的负载均衡算法,基于流量的五元组进行HASH负载均衡,在流链接数量较多的场景下适用,它优势在于无乱序,劣势在于流数量较少时,例如AI训练场景下,存在HASH冲突问题,网络均衡效果不佳。基于子流f
129、lowlet均衡技术,它依赖于子流之间时间间隔GAP值的正确配置来实现均衡,但由于网路中全局路径级时延信息不可知,因此GAP值无法准确配置。同时,该技术存在接收端侧乱序的问题。逐包(Packet-based)ECMP均衡,理论上均衡度最好,但实际在接收端侧存在大量乱序问题,现实中几乎无使用案例。现有创新的网络均衡技术NSLB是面向AI训练场景量身打造的,根据该场景下的流量特征,将搜集到的整网信息作为创新算路算法的输入,从而得到最优的流量转发路径,实现AI训练场景下整网流量100%的均衡度和AI训练性能的提升。利用12台GPU服务器(每台服务器包含1块型号为Tesla v100S PCIe 32
130、GB的GPU卡),4台华为交换机组成2级CLOS网络(其中2台交换机作为接入层交换机,每台下挂6台服务器,使用100GE单端口接入,2台交换机作为汇聚交换机,每台与接入层交换机之间使用6个100GE端口互联)的AI训练集群,运行开源Tensorflow深度学习平台上的VGG16深度学习网络模型。以下为采用NSLB技术运行单计算任务和多计算任务时,AI训练性能的提升结果。Ring算法场景,运行两个计算任务下,使用NSLB技术对比典型ECMP负载分担技术,AI训练集性能最高提升57.29%。Ring算法场景,运行单个计算任务下,使用NSLB技术对比典型ECMP负载分担技术,AI训练集性能最高提升1
131、13.41%。通过对超算网络的流量模型进行分析,可以得到超算网络的典型特性:80%以上均为小于16字节pay-load的报文,极端考验设备的静态时延。典型的以太网芯片静态时延约500ns,IB芯片时延约90ns。从静态时延角度看,以太相比IB存在劣势,这种劣势通过网络与计算的协同可以改善甚至消除。应用加速3.4多任务Ring算法多任务Ring算法 性能(images/s)NSLB 任务1多任务Ring算法 性能(images/s)NSLB 任务2多任务Ring算法 性能(images/s)NSLB 总多任务Ring算法 性能(images/s)ecmp hash 3 任务1多任务Ring算法
132、性能(images/s)ecmp hash 3 任务2多任务Ring算法 性能(images/s)ecmp hash 3 总多任务Ring算法 性能(images/s)NSLB相对于ecmp hash 3提升百分比HPC无损以太和AI Fabric网络技术白皮书关键技术HPC无损以太和AI Fabric网络技术白皮书关键技术27282924.62193.571318.91697.562187.121202.63872.2326.8733.72%82.40%51.22%113.41%0.00%20.00%40.00%60.00%80.00%100.00%120.00%05001000150020
133、002500300035006432168性能(images/s)性能(images/s)Batch size单任务Ring算法flow_matrixecmp hash 3flow_matrix相对于ecmp hash 3提升百分比1414.29980.46594.76326.151397.2976.85593.22324.162811.491957.311187.98650.311101.6710.33367238.511332.66700.19388.26265.12434.261410.52755.26503.6115.50%38.77%57.29%29.13%0.00%10.00%20
134、.00%30.00%40.00%50.00%60.00%70.00%05000250030006432168batch size多任务Ring算法 性能(images/s)NSLB 任务1多任务Ring算法 性能(images/s)NSLB 任务2多任务算法 性能(images/s)NSLB 总多任务Ring算法 性能(images/s)ecmp hash 3 任务1多任务Ring算法 性能(images/s)ecmp hash 3 任务2多任务Ring算法 性能(images/s)ecmp hash 3 总算法 性能(images/s)NSLBecmp hash 3提升
135、百分比%of jobs which use Buffer size=x504030201K4K16K64K256K1M4M16M64MBuffer sizeAillreduceReduceBcast图30 Ring算法场景,运行单个计算任务,AI训练集群性能图31 Ring算法场景,运行两个计算任务,AI训练集群性能图32 MPI collectives total accumulated bytes on Mira参考Characterization of MPI Usage on a Production Supercomputer当前网络均衡的
136、主流技术有三种,逐流(Flow-based)ECMP均衡、基于子流flowlet均衡和逐包(Packet-based)ECMP均衡。逐流ECMP均衡,是当前最为常用的负载均衡算法,基于流量的五元组进行HASH负载均衡,在流链接数量较多的场景下适用,它优势在于无乱序,劣势在于流数量较少时,例如AI训练场景下,存在HASH冲突问题,网络均衡效果不佳。基于子流flowlet均衡技术,它依赖于子流之间时间间隔GAP值的正确配置来实现均衡,但由于网路中全局路径级时延信息不可知,因此GAP值无法准确配置。同时,该技术存在接收端侧乱序的问题。逐包(Packet-based)ECMP均衡,理论上均衡度最好,但
137、实际在接收端侧存在大量乱序问题,现实中几乎无使用案例。现有创新的网络均衡技术NSLB是面向AI训练场景量身打造的,根据该场景下的流量特征,将搜集到的整网信息作为创新算路算法的输入,从而得到最优的流量转发路径,实现AI训练场景下整网流量100%的均衡度和AI训练性能的提升。利用12台GPU服务器(每台服务器包含1块型号为Tesla v100S PCIe 32GB的GPU卡),4台华为交换机组成2级CLOS网络(其中2台交换机作为接入层交换机,每台下挂6台服务器,使用100GE单端口接入,2台交换机作为汇聚交换机,每台与接入层交换机之间使用6个100GE端口互联)的AI训练集群,运行开源Tenso
138、rflow深度学习平台上的VGG16深度学习网络模型。以下为采用NSLB技术运行单计算任务和多计算任务时,AI训练性能的提升结果。Ring算法场景,运行两个计算任务下,使用NSLB技术对比典型ECMP负载分担技术,AI训练集性能最高提升57.29%。Ring算法场景,运行单个计算任务下,使用NSLB技术对比典型ECMP负载分担技术,AI训练集性能最高提升113.41%。通过对超算网络的流量模型进行分析,可以得到超算网络的典型特性:80%以上均为小于16字节pay-load的报文,极端考验设备的静态时延。典型的以太网芯片静态时延约500ns,IB芯片时延约90ns。从静态时延角度看,以太相比IB
139、存在劣势,这种劣势通过网络与计算的协同可以改善甚至消除。应用加速3.4多任务Ring算法多任务Ring算法 性能(images/s)NSLB 任务1多任务Ring算法 性能(images/s)NSLB 任务2多任务Ring算法 性能(images/s)NSLB 总多任务Ring算法 性能(images/s)ecmp hash 3 任务1多任务Ring算法 性能(images/s)ecmp hash 3 任务2多任务Ring算法 性能(images/s)ecmp hash 3 总多任务Ring算法 性能(images/s)NSLB相对于ecmp hash 3提升百分比HPC无损以太和AI Fab
140、ric网络技术白皮书关键技术HPC无损以太和AI Fabric网络技术白皮书关键技术传统集合通信过程中的计算在服务器侧完成,网络只负责转发;华为提供一种在网计算功能(INC:In Network Computing),采用交换设备对集合通信加速,卸载一部分集合通信的计算过程,可以有效地提高集合通信的效率,从而降低总的任务完成时间。如下图所示,左侧图33为传统集合通信方式,8个节点进行allreduce计算总共需要3个批次的通信,复杂度为logN;右侧图34为网络加速后的集合通信方式,8个节点进行allreduce计算,由接入leaf进行第一次汇聚,由spine交换机进行第二次汇聚,总的通信批次
141、只与网络的层次数量有关,复杂度变为常量。在HPC领域,RoCE和InfiniBand是两大主流计算互联协议,权威评测机构Tolly,基于两种协议技术,采用了华为无损以太解决方案RoCE组网和Mellanox交换机IB组网方案在以下三个维度进行了对比测评:基础性能测试(拥塞条件下带宽和时延测试)、MPI基准测试与HPC应用测试(涉及气象、流体动力、高能物理、分子动力和汽车工业等10种应用)。拥塞条件下的带宽和时延首先测试了8打1拥塞条件下(8台主机打1台主机)的ib_write带宽和时延。从下方的带宽结果可以看到,不论是同 Leaf 下拥塞还是跨 Leaf 拥塞的情况,华为100GE无损以太网方
142、案和Mellanox 100G Infini-Band 方案的带宽几乎相同。对于所有帧长,两种方案的带宽差异始终在 3%以内。在带宽几乎相同的情况下,华为无损以太网方案的时延比Mellanox InfiniBand方案的时延普遍低很多,比InfiniBand网络在该拥塞场景最多低 95%。基于Openfoam测试例cavity测试任务完成时间,使用网络加速的集合通信方案,相较于采用普通RoCEv2的传统集合通信方法,完成时间缩短了12%;相较采用IB网络的传统集合通信方法偏差在1.3%。2930传统以太(RoCE)总核数MPI OFFLOADINGJCT(s)504030
143、206IB技术测评4HPC场景4.1SPINESPINETORstep1step2step3TORSPINESPINETORstep1TOR图33 Allreduce通信模型 图35 Openfoam测试例cavity完成时间对比图34 在网计算通信模型图36 HPC场景测试拓扑HPC无损以太和AI Fabric网络技术白皮书关键技术HPC无损以太和AI Fabric网络技术白皮书技术测评传统集合通信过程中的计算在服务器侧完成,网络只负责转发;华为提供一种在网计算功能(INC:In Network Computing),采用交换设备对集合通信加速,卸载一部分集合通信的计算
144、过程,可以有效地提高集合通信的效率,从而降低总的任务完成时间。如下图所示,左侧图33为传统集合通信方式,8个节点进行allreduce计算总共需要3个批次的通信,复杂度为logN;右侧图34为网络加速后的集合通信方式,8个节点进行allreduce计算,由接入leaf进行第一次汇聚,由spine交换机进行第二次汇聚,总的通信批次只与网络的层次数量有关,复杂度变为常量。在HPC领域,RoCE和InfiniBand是两大主流计算互联协议,权威评测机构Tolly,基于两种协议技术,采用了华为无损以太解决方案RoCE组网和Mellanox交换机IB组网方案在以下三个维度进行了对比测评:基础性能测试(拥
145、塞条件下带宽和时延测试)、MPI基准测试与HPC应用测试(涉及气象、流体动力、高能物理、分子动力和汽车工业等10种应用)。拥塞条件下的带宽和时延首先测试了8打1拥塞条件下(8台主机打1台主机)的ib_write带宽和时延。从下方的带宽结果可以看到,不论是同 Leaf 下拥塞还是跨 Leaf 拥塞的情况,华为100GE无损以太网方案和Mellanox 100G Infini-Band 方案的带宽几乎相同。对于所有帧长,两种方案的带宽差异始终在 3%以内。在带宽几乎相同的情况下,华为无损以太网方案的时延比Mellanox InfiniBand方案的时延普遍低很多,比InfiniBand网络在该拥塞
146、场景最多低 95%。基于Openfoam测试例cavity测试任务完成时间,使用网络加速的集合通信方案,相较于采用普通RoCEv2的传统集合通信方法,完成时间缩短了12%;相较采用IB网络的传统集合通信方法偏差在1.3%。2930传统以太(RoCE)总核数MPI OFFLOADINGJCT(s)504030206IB技术测评4HPC场景4.1SPINESPINETORstep1step2step3TORSPINESPINETORstep1TOR图33 Allreduce通信模型 图35 Openfoam测试例cavity完成时间对比图34 在网计算通
147、信模型图36 HPC场景测试拓扑HPC无损以太和AI Fabric网络技术白皮书关键技术HPC无损以太和AI Fabric网络技术白皮书技术测评3132采用 Open MPI 的 OSU Micro-Benchmarks-AllToAll 时延(华为较 InfiniBand 性能更优的百分比,大于 0 为华为更优)采用 Open MPI 的 OSU Micro-Benchmarks-AllReduce 时延(华为较 InfiniBand 性能更优的百分比,大于 0 为华为更优)采用 Huawei MPI 并开启华为在网计算功能后的 OSU Micro-Benchmarks-AllReduce
148、时延(华为较 InfiniBand 性能更优的百分比,大于 0 为华为更优)MPI 基准测试MPI基准测试常用于评估高性能计算性能。Tolly使用OSU Micro-Benchmarks来评估华为无损以太网和Mellanox InfiniBand解决方案的性能。由于测试消息大小及结果数据过多,此处只展示两种方案相比较的结果。如下方结果所示,在AllToAll时延测试中,测试了多个消息大小。在绝大部分测试中华为无损以太网方 案的时延较Mellanox InfiniBand方案的时延更低(即华为方案更优)。AllReduce时延结果所示,Mellanox InfiniBand的AllReduce时
149、延针对小字节消息时,较华为方案更低。但是将OpenMPI替换为华为MPI,并开启华为交换机上的网算一体功能后,华为无损以太网方案针对小字节消息的时延有显著改善,结果较Mella-nox InfiniBand 更优。图37 ib_write 带宽和时延测试结果对比图38 AllToAll 时延测试结果对比图39 AllReduce 时延测试结果对比备注:时延上华为较 InfiniBand 性能更优的百分比=(IB 时延-华为时延)/华为时延。图40 开启在网计算AllReduce 时延测试结果HPC无损以太和AI Fabric网络技术白皮书技术测评HPC无损以太和AI Fabric网络技术白皮书
150、技术测评3132采用 Open MPI 的 OSU Micro-Benchmarks-AllToAll 时延(华为较 InfiniBand 性能更优的百分比,大于 0 为华为更优)采用 Open MPI 的 OSU Micro-Benchmarks-AllReduce 时延(华为较 InfiniBand 性能更优的百分比,大于 0 为华为更优)采用 Huawei MPI 并开启华为在网计算功能后的 OSU Micro-Benchmarks-AllReduce 时延(华为较 InfiniBand 性能更优的百分比,大于 0 为华为更优)MPI 基准测试MPI基准测试常用于评估高性能计算性能。To
151、lly使用OSU Micro-Benchmarks来评估华为无损以太网和Mellanox InfiniBand解决方案的性能。由于测试消息大小及结果数据过多,此处只展示两种方案相比较的结果。如下方结果所示,在AllToAll时延测试中,测试了多个消息大小。在绝大部分测试中华为无损以太网方 案的时延较Mellanox InfiniBand方案的时延更低(即华为方案更优)。AllReduce时延结果所示,Mellanox InfiniBand的AllReduce时延针对小字节消息时,较华为方案更低。但是将OpenMPI替换为华为MPI,并开启华为交换机上的网算一体功能后,华为无损以太网方案针对小字
152、节消息的时延有显著改善,结果较Mella-nox InfiniBand 更优。图37 ib_write 带宽和时延测试结果对比图38 AllToAll 时延测试结果对比图39 AllReduce 时延测试结果对比备注:时延上华为较 InfiniBand 性能更优的百分比=(IB 时延-华为时延)/华为时延。图40 开启在网计算AllReduce 时延测试结果HPC无损以太和AI Fabric网络技术白皮书技术测评HPC无损以太和AI Fabric网络技术白皮书技术测评HPC 基准测试使用 HPL、HPCG、以及 NPB 共三个 HPC 的基准测试,均采用跨 Leaf 16 计算节点的方式,对华
153、为无损以太网方案和 Mellanox InfiniBand(IB)方案进行了测试。如下方结果所示:HPL 基准测试结果中,华为的结果较 IB 方案略好 3.5%至7.5%。HPCG 和NPB基准测试结果中,华为方案和 IB 方案结果基本一致。HPC 应用测试采用华为无损以太网方案和 Mellanox InfiniBand(IB)方案测试了10个应用,在每个应用中运行了相同的任务,并比较哪个方案的运行速度更快(时间更短)。对于大部分受测的 HPC 应 用,华为方案和 IB 方案的运行速度类似。对于 CESM 和 PAM-CRASH 应用,华为方案的运行速率较 IB 方案快了16%至17%。333
154、4图41 HPL、HPCG、NPB测试结果对比图42 HPC应用测试结果对比图43 测试组网图图44 GPT性能测试数据本次测评是ZJ实验室针对人类语言训练应用,使用GPT算例模型,使用相同配置的AI服务器,分别在华为无损以太网络RoCE组网和Mellanox IB网络组网下进行的对比测评。使用GPT算例测试1000次迭代,两套组网下使用相同的软件和算例文件,通过比较算例完成时间,来对比两套组网的性能差距。两者运行的详细结果数据如下:从以上对比数据可以看出,在GPT算例测评中,华为无损以太网络的性能略优于IB,训练任务运行总时间比IB优4.87%。AI场景4.2CE8800系列Mellanox
155、 7890100Gb/s29236.5130731.6328000285002900029500300003050031000RoCEIBGPT算例运行时间(s)HPC无损以太和AI Fabric网络技术白皮书技术测评HPC无损以太和AI Fabric网络技术白皮书技术测评HPC 基准测试使用 HPL、HPCG、以及 NPB 共三个 HPC 的基准测试,均采用跨 Leaf 16 计算节点的方式,对华为无损以太网方案和 Mellanox InfiniBand(IB)方案进行了测试。如下方结果所示:HPL 基准测试结果中,华为的结果较 IB 方案略好 3.5%至7.5%。HPCG 和NPB基准测试
156、结果中,华为方案和 IB 方案结果基本一致。HPC 应用测试采用华为无损以太网方案和 Mellanox InfiniBand(IB)方案测试了10个应用,在每个应用中运行了相同的任务,并比较哪个方案的运行速度更快(时间更短)。对于大部分受测的 HPC 应 用,华为方案和 IB 方案的运行速度类似。对于 CESM 和 PAM-CRASH 应用,华为方案的运行速率较 IB 方案快了16%至17%。3334图41 HPL、HPCG、NPB测试结果对比图42 HPC应用测试结果对比图43 测试组网图图44 GPT性能测试数据本次测评是ZJ实验室针对人类语言训练应用,使用GPT算例模型,使用相同配置的A
157、I服务器,分别在华为无损以太网络RoCE组网和Mellanox IB网络组网下进行的对比测评。使用GPT算例测试1000次迭代,两套组网下使用相同的软件和算例文件,通过比较算例完成时间,来对比两套组网的性能差距。两者运行的详细结果数据如下:从以上对比数据可以看出,在GPT算例测评中,华为无损以太网络的性能略优于IB,训练任务运行总时间比IB优4.87%。AI场景4.2CE8800系列Mellanox 7890100Gb/s29236.5130731.6328000285002900029500300003050031000RoCEIBGPT算例运行时间(s)HPC无损以太和AI Fabric网
158、络技术白皮书技术测评HPC无损以太和AI Fabric网络技术白皮书技术测评图45 测试组组网图图49 高性能计算/AI整体网络逻辑架构图3536AI是第四次工业革命的关键推动力,AI以及其溢出经济,将成为国家经济增长的新引擎。在2017年,阿联酋发布了AI 2031的战略愿景:在即将到来的智能社会中,把阿联酋打造成数字世界AI强国。到2031年,阿联酋计划AI经济能够达到960亿美元,占GDP 13.6%,摆脱对石油经济的依赖,将石油GDP占比从目前的40%以上,降低到 20%以下。教育行业是AI应用的先锋,阿联酋高级国家研究和教育网络Ankabut,是阿联酋在教育行业中运营的最大的信息与通
159、信技术(ICT)服务提供商,规划建设EFlops级别HPC超算中心,需支持3500核计算节点&GPU计算节点,为阿联酋35个教育机构和80个高等院校提供AI算力服务,支撑气象预测&建模、生命科学(如基因测序)、流体力学、石油勘探等方面的科学研究。针对Ankabut HPC超算中心分期投资和建设需求,华为采用框-盒架构组网,支持9000+节点超大规模组网,可平滑升级、灵活扩展。同时,兼容现有风冷机房环境,机房无需高成本液冷改造,保护客户的投资。华为无损以太解决方案,采用开放架构和生态,技术、设备、部件均基于以太开放标准,更有助于Ank-abut为阿联酋培养AI人才。Ankabut首席执行官Dr.
160、Fahem Al Nuaimi表示,“Ankabut作为云服务和计算能力提供商,与华为紧密合作,共建以绿色、节能、超宽、无损为特色的先进数据中心。”最佳实践5阿联酋Ankabut5.12022年建设了全国首个鲲鹏高性能计算算力集群 武汉超算中心,助力武汉再次引领数字产业的新生态、新高地。当前建设的武汉超算中心,将会结合武汉965产业布局和共性算力需求,力争打造气象气候、生命科学、工业仿真、数字孪生等多个应用创新平台,来推动本地产业更高质量发展,当前已经启动成立武汉高性能计算产业联盟,首批16家成员加入,涵盖了本地顶尖的科研院所和企业。未来,越来越多的应用将走向HPC+AI融合的趋势,基于武汉人
161、工智能计算中心与武汉超算中心“双中心”,支撑应用融合创新,实现产业数字化和智能化。武汉人工智能计算中心项目,是首个华为网络+计算+云+存储端到端全栈解决方案的标杆项目,同时覆盖高性能计算HPC和AI训练场景需求。项目一期建设100P AI+4P HPC算力,二期规划新建规模200P HPC算力。高性能计算/AI训练场景整体网络逻辑架构如下:武汉超算5.2项目部署前在96节点集群规模进行全面的对比测试,在MPI、Benchmark和HPC典型应用测试中,华为RoCE网络性能与IB网络整体基本持平,完全满足业务的高性能需求。华为云BMC管理区核心交换裸机POD计算POD存储POD专线Interne
162、t管理服务区汇聚层接入层Atlas节点AI集群汇聚层通用计算区OceanStore100D块存储节点对象存储节点接入层汇聚层接入层FusionPOD节点GPU节点功能节点裸机网关HPC集群网络服务区接入区安全服务区WAFDNRDDoSHPC无损以太和AI Fabric网络技术白皮书最佳实践HPC无损以太和AI Fabric网络技术白皮书最佳实践图45 测试组组网图图49 高性能计算/AI整体网络逻辑架构图3536AI是第四次工业革命的关键推动力,AI以及其溢出经济,将成为国家经济增长的新引擎。在2017年,阿联酋发布了AI 2031的战略愿景:在即将到来的智能社会中,把阿联酋打造成数字世界AI
163、强国。到2031年,阿联酋计划AI经济能够达到960亿美元,占GDP 13.6%,摆脱对石油经济的依赖,将石油GDP占比从目前的40%以上,降低到 20%以下。教育行业是AI应用的先锋,阿联酋高级国家研究和教育网络Ankabut,是阿联酋在教育行业中运营的最大的信息与通信技术(ICT)服务提供商,规划建设EFlops级别HPC超算中心,需支持3500核计算节点&GPU计算节点,为阿联酋35个教育机构和80个高等院校提供AI算力服务,支撑气象预测&建模、生命科学(如基因测序)、流体力学、石油勘探等方面的科学研究。针对Ankabut HPC超算中心分期投资和建设需求,华为采用框-盒架构组网,支持9
164、000+节点超大规模组网,可平滑升级、灵活扩展。同时,兼容现有风冷机房环境,机房无需高成本液冷改造,保护客户的投资。华为无损以太解决方案,采用开放架构和生态,技术、设备、部件均基于以太开放标准,更有助于Ank-abut为阿联酋培养AI人才。Ankabut首席执行官Dr.Fahem Al Nuaimi表示,“Ankabut作为云服务和计算能力提供商,与华为紧密合作,共建以绿色、节能、超宽、无损为特色的先进数据中心。”最佳实践5阿联酋Ankabut5.12022年建设了全国首个鲲鹏高性能计算算力集群 武汉超算中心,助力武汉再次引领数字产业的新生态、新高地。当前建设的武汉超算中心,将会结合武汉965
165、产业布局和共性算力需求,力争打造气象气候、生命科学、工业仿真、数字孪生等多个应用创新平台,来推动本地产业更高质量发展,当前已经启动成立武汉高性能计算产业联盟,首批16家成员加入,涵盖了本地顶尖的科研院所和企业。未来,越来越多的应用将走向HPC+AI融合的趋势,基于武汉人工智能计算中心与武汉超算中心“双中心”,支撑应用融合创新,实现产业数字化和智能化。武汉人工智能计算中心项目,是首个华为网络+计算+云+存储端到端全栈解决方案的标杆项目,同时覆盖高性能计算HPC和AI训练场景需求。项目一期建设100P AI+4P HPC算力,二期规划新建规模200P HPC算力。高性能计算/AI训练场景整体网络逻
166、辑架构如下:武汉超算5.2项目部署前在96节点集群规模进行全面的对比测试,在MPI、Benchmark和HPC典型应用测试中,华为RoCE网络性能与IB网络整体基本持平,完全满足业务的高性能需求。华为云BMC管理区核心交换裸机POD计算POD存储POD专线Internet管理服务区汇聚层接入层Atlas节点AI集群汇聚层通用计算区OceanStore100D块存储节点对象存储节点接入层汇聚层接入层FusionPOD节点GPU节点功能节点裸机网关HPC集群网络服务区接入区安全服务区WAFDNRDDoSHPC无损以太和AI Fabric网络技术白皮书最佳实践HPC无损以太和AI Fabric网络技
167、术白皮书最佳实践3738用户对应用性能满意以太网带宽增加更快延时差距缩小实际测试性能超预期不改变用户习惯RoCE vs IB图50 与IB性能测试图51 RoCE VS IB2018年1月3日北京大学高性能计算校级公共平台正式揭牌启用。“未名一号”、“未名教学一号”和“未名生科一号”等多套集群陆续投入运行,在数学、深度学习、大气海洋环境、新能源新材料、天文地球物理、生物医药健康等领域提供高性能科学与工程计算服务。平台涉及5套集群,由732个节点组成,计算峰值达到3.65PFLOPS,该系统在国内率先采用了常温直接水冷技术解决CPU和内存散热问题,系统性能良好,节能效果显著,PUE值达到1.1,
168、居于中国领先水平。本次采用RoCE组网的未名二号,计算集群由240台 CPU计算节点和30台 GPU计算节点组成,CPU计算节点提供1.27PFLOPS双精度浮点算力、15360CPU核。后续系统可扩容至340台 CPU计算节点。以及100GE RoCE高速互联网络,采用华为RoCE无损以太技术方案,与IB对比具有不改用户习惯、以太网带宽增加更快等优势,通过240节点HPL测试,性能超预期。未来超算产业将向 HPC+AI 融合的高性能计算架构演进,对网络提出了新的要求;华为基于 RoCE 的无损以太技术实现高性能网络,满足未来 HPC/AI 融合发展的要求。北京大学5.3时延(越低越好)任务完
169、成时间(越低越好)60000500004000030000200001000005.0%4.0%3.0%2.0%1.0%0%0.16%1.09%0.86%4.54%2.57%0.83%2.39%0.38%1节点数量248025002000050%40%30%20%10%0%-10%-20%0.14%-5.61%32.89%6.04%7.68%-4.60%-8.71%19.15%43.26%34.43%4报文大小IB华为AIFabric超越IB832642440968192图52 不同节点HPL RoCE Linpack效率蓝线为
170、集群中效率最低的单节点Linpack值节点数77.27%2824078.00%77.00%76.00%75.00%74.00%73.00%72.00%71.00%70.00%76.22%75.81%74.30%73.49%73.50%73.09%73.07%72.99%240节点HPL测试,线性度超预期基于超融合以太RoCE双CPU8358 100G RoCE Linpack效率HPC无损以太和AI Fabric网络技术白皮书最佳实践HPC无损以太和AI Fabric网络技术白皮书最佳实践3738用户对应用性能满意以太网带宽增加更快延时差距缩小实际测试性能超预期不改变用户
171、习惯RoCE vs IB图50 与IB性能测试图51 RoCE VS IB2018年1月3日北京大学高性能计算校级公共平台正式揭牌启用。“未名一号”、“未名教学一号”和“未名生科一号”等多套集群陆续投入运行,在数学、深度学习、大气海洋环境、新能源新材料、天文地球物理、生物医药健康等领域提供高性能科学与工程计算服务。平台涉及5套集群,由732个节点组成,计算峰值达到3.65PFLOPS,该系统在国内率先采用了常温直接水冷技术解决CPU和内存散热问题,系统性能良好,节能效果显著,PUE值达到1.1,居于中国领先水平。本次采用RoCE组网的未名二号,计算集群由240台 CPU计算节点和30台 GPU
172、计算节点组成,CPU计算节点提供1.27PFLOPS双精度浮点算力、15360CPU核。后续系统可扩容至340台 CPU计算节点。以及100GE RoCE高速互联网络,采用华为RoCE无损以太技术方案,与IB对比具有不改用户习惯、以太网带宽增加更快等优势,通过240节点HPL测试,性能超预期。未来超算产业将向 HPC+AI 融合的高性能计算架构演进,对网络提出了新的要求;华为基于 RoCE 的无损以太技术实现高性能网络,满足未来 HPC/AI 融合发展的要求。北京大学5.3时延(越低越好)任务完成时间(越低越好)60000500004000030000200001000005.0%4.0%3.
173、0%2.0%1.0%0%0.16%1.09%0.86%4.54%2.57%0.83%2.39%0.38%1节点数量248025002000050%40%30%20%10%0%-10%-20%0.14%-5.61%32.89%6.04%7.68%-4.60%-8.71%19.15%43.26%34.43%4报文大小IB华为AIFabric超越IB832642440968192图52 不同节点HPL RoCE Linpack效率蓝线为集群中效率最低的单节点Linpack值节点数77.27%2824078.00%
174、77.00%76.00%75.00%74.00%73.00%72.00%71.00%70.00%76.22%75.81%74.30%73.49%73.50%73.09%73.07%72.99%240节点HPL测试,线性度超预期基于超融合以太RoCE双CPU8358 100G RoCE Linpack效率HPC无损以太和AI Fabric网络技术白皮书最佳实践HPC无损以太和AI Fabric网络技术白皮书最佳实践3940随着HPC和AI应用的不断发展,网络带宽吞吐的需求越来越大,以太网络正在快速从100GE200GE400GE800GE等更高速率发展,在可预见将来,低时延,高吞吐的无损以太全球
175、生态将会更加成熟,速率的演进也会对无损以太网络的性能要求也会不断提高。未来,我们可以预见到基于更高速率的以太网技术(如400GE/800GE甚至更高速率的以太网)将逐步成熟并投入市场。此外,关键技术创新(例如更高效的编码和调制方法、更先进的交换芯片等)将不断涌现,进一步提升无损以太网络的性能。无损以太网络在HPC和AI领域已经取得了显著的成功。随着技术的进步和市场认可度的提高,无损以太网络将在更多行业和领域得到应用,例如自动驾驶、智能制造、生物科技、金融科技等。这将为无损以太网络在市场上创造更大的需求和更广阔的发展空间。未来的无损以太网络将更加注重软硬件的融合,从而实现更灵活、更可扩展的网络架
176、构。网络虚拟化技术也将在无损以太网络中发挥更重要的作用,使大规模的网络管理更加简便和高效。此外,基于人工智能和机器学习的网络自动化和自我优化技术也将得到进一步发展,提高网络的稳定性和运维效率。环保和可持续发展成为全球关注的重要议题。未来,无损以太网络将在节能和降低碳排放方面做出努力。这包括采用更节能的硬件设备、优化网络拓扑和传输策略以及引入绿色数据中心等。此外,通过提高网络资源利用率和减少废弃设备的产生,无损以太网络将朝着更加环保和可持续的方向发展。为了降低企业在网络设备和技术方面的投资,无损以太网络将更加注重开放性和互操作性。通过开放标准和统一的接口规范,无损以太网络可以实现与各种硬件和软件
177、的兼容,简化网络架构和管理,降低企业的运维成本。同时,推动行业内的合作与交流,促进无损以太网络技术的共享和传播。在AI大模型火热的今天,如何有效训练这些大模型成为各大企业关注的焦点。无损以太技术给大规模GPU集群带来了高质量的网络底座,助力超大模型的高效训练。AI技术将应用于网络管理、故障预测、负载均衡、安全防护等领域,提高无损以太网络的智能化水平。此外,AI技术还可以辅助进行网络规划、设计和优化,使网络资源得到更有效的利用,进一步提高网络性能。整个社会发展的大趋势是HPC&AI For Everything。无损以太网络为实现万物互联,万网互通筑基架梁。为千行百业提供算力服务,打造数字经济时代的坚实高性能计算底座,助力先进数字产业的繁荣发展。展望6HPC无损以太和AI Fabric网络技术白皮书展望