人工智能场景下的网络负载均衡技术

    

06f3069acf2857ea62291e263a398a57.jpeg

AI技术驱动智能应用井喷,智能算力增速远超通用算力。IDC预测,未来五年,我国智能算力规模年复合增长率将超50%,开启数据中心算力新纪元。随着需求激增,数据中心或智算网络亟需扩容、增速、减时延,确保网络稳定可靠,以应对不断升级的智能时代挑战。

数据中心与智算网络,如Spine-Leaf架构,拓扑规整,选路简易。然而,服务器间常存在多条并行路径,如Fat tree网络中的数十条。如何在这些路径中实现负载均衡路由,成为数据中心网络路由设计的核心挑战。

传统负载均衡用的比较多的是等价成本多路径(ECMP),ECMP下一跳的路径是通过对数据包字段进行哈希计算并对可用路径数取模来选择的,来自一个流的数据包总是映射到同一路径,因此,这些数据包将按发送顺序交付,也就是通常的基于流的负载均衡(Flow-based)。

然而,研究表明,在流量高度倾斜时,ECMP无法平均分配负载到不同的路径,如大象流场景。特别是对于当前HPC和AI场景,普遍使用RDMA并且是大带宽场景,这个时候传统ECMP很容易导致链路Hash不均,进而导致某一个链路拥塞。在AI/ML的应用中,GPU或其他类型的AI/ML计算单元之间他们有着非常简单的通讯关系(流的数量非常少),并且由于他们有着极高的计算能力,导致一对通讯单元间的数据吞吐极高(单个流很大,所需的网络带宽极大),这就导致在这样的应用中存在极端的负载分担不均衡,而且这种不均衡一旦引发网络丢包,就会对整体AI/ML的任务完成时间带来显著的负面影响。

网络拥塞分为端侧和矩阵拥塞。端侧拥塞常见于多对一场景,通过拥塞控制算法减缓发送端流量。而矩阵拥塞源于网络Hash不均,其解决方案包括优化Hash算法、负载均衡等策略,以缓解网络瓶颈,确保数据传输的高效与稳定。

  • 胖树架构优化:提升汇聚链路带宽,采用Fat tree设计,确保输入输出1:1的高效收敛比,实现网络性能飞跃。
  • VoQ(Virtual Output Queueing)技术:是一种网络拥塞管理技术,用于防止HoL阻塞的技术,在传统的输入缓冲区排队方案中,数据包先进入输入缓冲区,然后根据目的端口的可用性从中选择出队。然而,当多个数据包的目的端口相同时,输入缓冲区排队会导致阻塞和拥塞。VoQ技术通过为每个输出端口创建虚拟的输出队列,将输入数据包直接放入对应的虚拟输出队列中。这样,在数据包进入路由器或交换机时就可以直接选择适当的虚拟输出队列,而无需等待目的端口的可用性。因此,VoQ技术可以避免输入缓冲区排队可能引起的阻塞和拥塞问题,提高网络的吞吐量和性能;
  • 负载均衡是提升系统性能的关键,不同路由策略对吞吐率影响显著。流量负载均衡策略根据粒度划分,包括基于流、基于包、基于流片和基于信元四种。本文将深入剖析这些策略,助您优化网络性能,提升端到端传输效率。

基于流(Flow based)

流负载均衡路由精准分配流量至不同路径。传统ECMP路由虽用哈希选路,但大小流一视同仁,导致带宽利用率不均,且哈希冲突影响负载均衡效果。实际应用中,这些问题亟待解决,以实现更高效的流量分配。

  • 流量分布均匀时,ECMP效果优异。但面对大象流与老鼠流共存,其性能受限。这种负载不均衡在AI/ML应用中尤为突出,一旦导致网络丢包,将严重影响AI/ML任务完成时间,亟需优化处理。
  • ECMP通过哈希或轮询实现负载均衡,却难以感知链路拥塞。在拥堵链路上运用ECMP可能加剧拥塞,亟需优化策略以缓解网络压力,确保数据传输的高效与稳定。
  • ECMP难以应对非对称网络性能损失。数据中心网络故障易引发非对称结构,影响物理链路均衡分布,导致流量失衡,亟待解决。

ECMP作为负载均衡策略,虽简单且避免乱序,但受限于其缺陷,未必适用于所有场景。为提升网络性能与流量均衡,建议采用更复杂的策略或结合先进技术,实现更高效的负载均衡。

ECMP工程因其低复杂度与可接受性能,在数据中心网络中仍广泛运用。为提升性能,业界提出多种优化方案,如通过集中控制器优化大流路径选择(如Hedera、BurstBalancer),展现了ECMP的改进潜力。

基于包(Packet based)

随机包喷洒(RPS)是高效的包级负载均衡策略。当交换机面对多条至同目的地的等价路径时,RPS以单个数据包为单位进行智能分散,确保数据流畅通无阻。不同于ECMP,RPS以数据包为单位操作,将同一流内的数据包导向不同路径,提升网络效率和性能。

RPS凭借简易实施与细粒度负载均衡,实现高效路由选择,提升网络吞吐率至90%以上链路利用率。然而,其潜在缺陷在于流包乱序,需妥善解决。英伟达以BlueField-3 DPU结合DDP技术,巧妙处理无序数据,构建完整端到端解决方案,确保数据稳定传输,为您的网络架构提供卓越性能与可靠性。

基于流片(Flowlet)

Flowlet本质是利用TCP的流突发特性,根据设置一定间隔将流分割为一个个Burst子流,然后每次切换都是在这个间隔中间,从而避免乱序。但是这个方式也有局限性:首先,Flowlet无法应对短连接场景,试想如果一个Flow一共就一个Burst,那Flowlet必然无法产生效果;其次,Flowlet是针对TCP的特性设计的,而RDMA流量并不符合相关特征,因此,在上层应用为RoCE流量时,Flowlet基本没有效果,这也是在AI/ML等场景中不使用Flowlet的原因。

Flowlet的实现原理揭示:尽管TCP Flow中Packet看似平滑发送,实际抓包和具体实现均显示TCP Packet以Burst方式发送,如图所展。这一发现对理解网络传输具有重要意义。

Flowlet的实现原理在于将Flow细分为多个Flowlet,以此实现负载均衡。Flowlet是介于Packet与Flow之间的单位。对于Flowlet的定量切分,我们引入参数α。当α大于两条链路延迟D1和D2的差值时,Flow即可通过α被精准切分为多个Flowlet,确保数据传输的高效与均衡。

基于信元(Cell based)

在信元交换的网络负载均衡机制中,接收端将报文拆分为信元,根据调度信令选择空闲链路转发,最终在目的端重组为报文。此机制突破传统流转发的局限,允许动态调整,基于微观负载实时均衡利用多路径,实现更高效的网络资源分配。

信元交换的粒度比基于包的负载均衡还要细,理论上,带宽利用率可以更高。信元交换本身并不是一项崭新的技术,在目前广泛应用的框式设备中,线卡芯片与网板芯片之间的流量交换普遍都采用了信元交换的技术,以实现机框内无阻塞交换。

不过信元交换以前主要应用在框式设备系统内部,往往都是各个交换机设备厂商自定义的信元格式和调度机制,不具备跨厂商互通的能力,此项技术可以进一步扩展,应用到整个网络上。2019年AT&T向OCP提交了基于商用芯片的盒式路由器规范,提出了DDC(Disaggregated Distributed Chassis)的概念,DDC使用的核心技术也是信元交换的方案。

AI/ML网络支撑的业务其特征是流数量少,单条流的带宽大,同时流量不均匀,经常出现多打一或者多打多的情况(All-to-All和All-Reduce)。

所以极易出现流量负载不均、链路利用率低、频繁的流量拥塞导致的丢包等问题,无法充分释放算力。信元交换将报文切片成Cells(对比Packet based的负载均衡方案,粒度更小),并根据可达信息采用轮询机制发送,流量负载会较为均衡的分配到每一条链路,实现带宽的充分利用,这样可以解决中大小流的问题,仍然存在相当多的缺陷:

  • DDC的大缓存能力虽能缓存报文,但显著增加了硬件转发的静态时延。信元交换过程亦导致转发时延上升。测试显示,DDC的转发时延较ETH网高出1.4倍,显然难以满足AI计算网络的实时性需求。
  • 硬件依赖特定芯片实现,封闭、专用;
  • 大缓存设计增加网络成本;

经深入分析,各负载均衡方案各具特色。部署时,粒度由小至大依次为Cell based、Packet based、Flowlet、Flow based,带宽利用率则反之。然而,Cell based因局限性在智算领域鲜有应用。选择方案时,需权衡粒度与带宽利用率,确保高效且实用。

高性能计算、分布式存储、人工智能等应用借RoCEv2协议降低CPU处理时延,提升性能。但RoCEv2源于RDMA,缺乏完善的丢包保护,对网络丢包敏感。虽借PFC、ECN等技术力求无损网络,仍难应对大象流/老鼠流不均影响。实现网络负载均衡,是提升性能的关键所在。

在这方面,各厂家也在做各种努力尝试。

英伟达RoCE解决方案卓越,为RDMA和TCP流定制不同策略:TCP利用Flowlet,RDMA(RoCE)则选择逐包负载均衡。Spectrum技术通过与网络交换机和端侧DPU的紧密联动,实现ECMP链路物理带宽与端口拥塞的实时动态监控,确保每个报文负载的精准分担,确保高效传输。

Spectrum-4交换机负责选择每个数据包基于最低拥塞端口,均匀分配数据传输。当同一流的不同数据包通过网络的不同路径传输时,它们可能以无序的方式到达目的地。BlueField-3 DPU通过DDP处理无序数据,避免了数据报文缓存和重组的困扰,通过上述方案,在超大规模系统和高负载场景下相对传统RoCE方案性能提升明显。

再比如,华为的智能无损网络,通过ACC(Automatic ECN)动态调整每个交换机的标记阈值,以分布式方式工作,并结合离线和在线训练以适应动态流量模式,ACC在线速率下实现了老鼠流和大象流的低流完成时间,优先调度小流的报文,从而保障小流的转发时延,提升整体吞吐性能。

 c322a6efadb5c79c8f92609ec8694fce.jpeg

-对此,您有什么看法见解?-

-欢迎在评论区留言探讨和分享。-

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/16448.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

rockylinux 利用nexus 搭建私服yum仓库

简单说下为啥弄这个私服,因为自己要学习一些东西,比如新版的k8s等,其中会涉及到一些yum的安装,为了防止因网络问题导致yum安装失败,和重复下载,所以弄个私服,当然也有为了意外保障的想法&#x…

【实战JVM】-基础篇-01-JVM通识-字节码详解

【实战JVM】-基础篇-01-JVM通识-字节码详解-类的声明周期-加载器 1 初识JVM1.1 什么是JVM1.2 JVM的功能1.2.1 即时编译 1.3 常见JVM 2 字节码文件详解2.1 Java虚拟机的组成2.2 字节码文件的组成2.2.1 正确打开字节码文件2.2.2 字节码组成2.2.3 基础信息2.2.3.1 魔数2.2.3.1 主副…

【C++】右值引用 移动语义

目录 前言一、右值引用与移动语义1.1 左值引用和右值引用1.2 右值引用使用场景和意义1.3 右值引用引用左值及其一些更深入的使用场景分析1.3.1 完美转发 二、新的类功能三、可变参数模板 前言 本篇文章我们继续来聊聊C11新增的一些语法——右值引用,我们在之前就已…

民国漫画杂志《时代漫画》第22期.PDF

时代漫画22.PDF: https://url03.ctfile.com/f/1779803-1248634856-2c7010?p9586 (访问密码: 9586) 《时代漫画》的杂志在1934年诞生了,截止1937年6月战争来临被迫停刊共发行了39期。 ps: 资源来源网络!

AIGC 006-textual-inversion使用文本反转实现个性化文本到图像生成!

AIGC 006-textual-inversion使用文本反转实现个性化文本到图像生成! 文章目录 0 论文工作1 论文方法2 效果 0 论文工作 这篇论文 (An Image is Worth One Word: Personalizing Text-to-Image Generation using Textual Inversion) 提出了一种新颖的技术&#xff0c…

Modal.method() 不显示头部的问题

ant-design中的Modal组件有两种用法&#xff1a; 第一种是用标签&#xff1a;<a-modal></a-modal> 第二种是用Api&#xff1a;Modal.info、Modal.warning、Modal.confirm...... 一开始项目中这两种用法是混用的&#xff0c;后面UI改造&#xff0c;需要统一样式&…

Shell字符串变量

目标 能够使用字符串的3种方式 掌握Shell字符串拼接 掌握shell字符串截取的常用格式 能够定义Shell索引数组和关联数组 能够使用内置命令alias,echo,read,exit,declare操作 掌握Shell的运算符操作 Shell字符串变量 介绍 字符串&#xff08;String&#xff09;就是一系…

使用LabVIEW时遇到VISA属性错误 -1073807331的解决方案

在LabVIEW或VeriStand中使用VISA属性时&#xff0c;可能会遇到错误 -1073807331。这一错误的具体描述如下&#xff1a; 解决方案 导致VISA属性出现此错误的原因主要有以下四种&#xff1a; 属性不被使用的串行总线支持 示例 A.1&#xff1a;Is Port Connected VISA属性仅支持由…

React(四)memo、useCallback、useMemo Hook

目录 (一)memo API 1.先想一个情景 2.用法 (1)props传入普通数据类型的情况 (2)props传入对象的情况 (3)props传入函数的情况 (4)使用自定义比较函数 3.什么时候使用memo&#xff1f; (二)useMemo Hook 1.用法 2.useMemo实现组件记忆化 3.useMemo实现函数记忆化 …

如何停止 iPad 和 iPhone 之间共享短信,独立接收和发送消息

概括 在当今高度互联的数字世界中&#xff0c;Apple 设备之间的无缝连接性提供了极大的便利&#xff0c;尤其是在消息同步方面。iPhone 和 iPad 用户通常可以享受到设备间短信的自动同步功能&#xff0c;这意味着无论是在哪个设备上&#xff0c;用户都可以接收和回复消息。然而…

深入理解python列表与字典:数据结构的选择与性能差异

新书上架~&#x1f447;全国包邮奥~ python实用小工具开发教程http://pythontoolsteach.com/3 欢迎关注我&#x1f446;&#xff0c;收藏下次不迷路┗|&#xff40;O′|┛ 嗷~~ 目录 一、列表与字典&#xff1a;基础数据结构的对比 二、列表&#xff1a;逐个遍历的查找方式 …

【JAVA】接口

前面我们说了说抽象类相关内容&#xff0c;这篇我们主要聊聊接口相关内容&#xff0c;这部分很重要&#xff0c;大家引起关注。 1. 接口 1.1 接口的概念 接口就是公共的行为规范标准&#xff0c;大家在实现时&#xff0c;只要符合规范标准&#xff0c;就可以通用。在Java中&am…

C语言 数组——向函数传递数组

目录 把数组传给函数&#xff08;Passing Arrays to Functions&#xff09; 向函数传递一维数组 向函数传递二维数组 数组在学生成绩管理中的应用 例&#xff1a;计算每个学生的平均分 把数组传给函数&#xff08;Passing Arrays to Functions&#xff09; 向函数传递一维…

gnocchi学习小结

背景 总结gnocchi 4.4版本gnocchi-metricd工作流程 入口 gnocchi.cli.metricd metricd stop after processing metric默认为0&#xff0c;调servicemanager run MetricdServiceManager __init__ 服务逻辑封装到MetricdServiceManager初始化中 主要由MetricProcessor, Met…

基于Vue的前端自定义询问弹框与输入弹框组件的设计与实践

基于Vue的前端自定义询问弹框与输入弹框组件的设计与实践 摘要 随着技术的不断进步&#xff0c;前端开发面临越来越多的挑战&#xff0c;其中之一就是如何有效管理复杂的业务逻辑和用户体验。传统的整块应用开发方式在面对频繁的功能变更和用户体验优化时&#xff0c;往往显得…

python数据分析-CO2排放分析

导入所需要的package import numpy as np import pandas as pd import matplotlib.pyplot as plt import seaborn as sns import datetime %matplotlib inline plt.rcParams[font.sans-serif] [KaiTi] #中文 plt.rcParams[axes.unicode_minus] False #负号 数据清洗…

SSH 远程登录系统和远程拷贝

文章目录 目录 文章目录 前言 一.SSH的基本用法 SSH基本用法&#xff1a; SSH无密码登录 二.SSH安全设置 三.SSH限制用户 前言 很多时候服务器并没有服务器&#xff0c;我们也不能每次都通过控制台去管理服务器&#xff0c;这时候就需要远程登录&#xff0c;相比于Telnet&a…

京东应届生公司内网说了一句‘什么时候被pdd收购‘,结果惨遭辞退

京东应届生公司内网说了一句’什么时候被pdd收购’&#xff0c;结果惨遭公司开除 这个事最近在圈子讨论比较多 前二天&#xff0c;有一个上海交大毕业的应届生&#xff0c;在京东实习了9个月&#xff0c;好不容易转正12天后&#xff0c;只因在内网说了一句话&#xff0c;就被…

upload-labs 21关解析

目录 一、代码审计 二、实践 三、总结 一、代码审计 $is_upload false; $msg null; if(!empty($_FILES[upload_file])){//检查MIME$allow_type array(image/jpeg,image/png,image/gif);if(!in_array($_FILES[upload_file][type],$allow_type)){$msg "禁止上传该类型…

Quartus Cyclone I II III IVE 器件型号

玩耍了一个 EP2 型号的开发板&#xff0c;发现 安装的quartus13 没有Cyclone II 型号&#xff0c;经过探索发现了是版本不对。 https://www.intel.com/content/www/us/en/software-kit/711920/intel-quartus-ii-subscription-edition-design-software-version-13-0sp1-for-win…