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

    

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

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

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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

SM2258G专用SSD开卡工具(三星闪存),后附工具下载

工具下载: https://download.csdn.net/download/weixin_43097956/89354302

【C++】深入解析C++智能指针:从auto_ptr到unique_ptr与shared_ptr

文章目录 前言:1. 智能指针的使用及原理2. C 98 标准库中的 auto_ptr:3. C 11 中的智能指针循环引用:shared_ptr 定制删除器 4. 内存泄漏总结: 前言: 随着C语言的发展,智能指针作为现代C编程中管理动态分配内存的一种…

VMare下载安装

一.下载 1.百度搜索BROADCOM官网 打开官网: https://www.broadcom.com/​ 2.点击右上角,进行账号注册,注册好后,进行登陆 3.注册好后,进入个人界面:https://support.broadcom.com/#. 按下图所示点击进…

【多线程开发 2】从代码到实战TransmittableThreadLocal

【多线程开发 2】从代码到实战TransmittableThreadLocal 本文将从以下几个点讲解TransmittableThreadLocal(为了方便写以下简称ttl): 前身 是什么? 可以用来做什么? 源码原理 实战 前身 ThreadLocal 要了解ttl就要先了解Java自带的类…

嵌入式全栈开发学习笔记---C语言笔试复习大全24

目录 内存管理 内存分配 堆和栈的区别?(面试重点) 申请内存的函数 malloc realloc free gcc工具链 编译的过程(面试重点) 第一步,预处理: 第二步,编译: 第三…

MySQL-数据库基础

一.MySQL安装 1.1卸载MySQL 把用户切换为root 查看是否有mysql数据库 ps axj | grep mysql 我这个是已经安装好的,为了更清楚的演示我把mysql关闭和mysql安装包卸载 关闭指令 systemctl stop mysqld查看是否在运行指令 systemctl stop mysqld查看安装包指令 …

校园招新之获取进QQ群但未报名人员

校园的社团、实验室招新一般由是校领导会发一个QQ通知,让各个班的同学们进一个招新群。 群里面会有负责人提示大家报名,但是群成员不总是都会报名,我们需要的就是,找到那些,已经进群,但是没有报名的同学&am…

网络原理 一

一、协议 网络通信中,协议是非常重要的概念. 协议进行了分层,此处就是按照这几层顺序来介绍每一层中的核心协议. 应用层,就对应着应用程序,是程序员打交道最多的一层,调用系统提供的 网络api 写出的代码都是基于应用层的. 应用层这里当然也有很多现成的协议,但更多的还是,程…

mysql实战——XtraBackup二进制包安装

1、二进制包下载网站 Software Downloads - Percona 2、安装xtrabackup 解压安装包 tar xvf percona-xtrabackup-8.0.27-19-Linux-x86_64.glibc2.17.tar.gz -C /usr/local 进入目录 cd percona-xtrabackup-8.0.27-19-Linux-x86_64.glibc2.17/ 安装依赖 yum install perl-Dig…

游戏子弹类python设计与实现详解

新书上架~👇全国包邮奥~ python实用小工具开发教程http://pythontoolsteach.com/3 欢迎关注我👆,收藏下次不迷路┗|`O′|┛ 嗷~~ 目录 一、引言 二、子弹类设计思路 1. 属性定义 2. 方法设计 三、子弹类实现详解 1. 定义子弹…

SimLab Composer v11.0.46 解锁版安装教程 (3D设计和逼真场景的多功能软件)

前言 SimLab Composer是由Simulation Lab公司推出的一款用于3D设计和逼真场景的多功能软件。该程序具有集成的图形环境,用于真实设计物理场景和对象,用户可以使用该软件中的工具设计简单到复杂和复杂。该程序的一个重要功能是能够构建和共享三维pdf文件…

揭秘章子怡成功之路:她是如何征服世界的?

章子怡的演艺生涯可谓是一部传奇❗❗❗ 从一个普通工人家庭的女孩,到如今的国际巨星 她的每一步都充满了努力和汗水 她的舞蹈基础为她日后的演艺事业奠定了坚实的基础 而她对戏剧和电影的热爱更是让她在演艺道路上不断前行 从《我的父亲母亲》到《卧虎藏龙》&…

【CTF Web】CTFShow web5 Writeup(SQL注入+PHP+位运算)

web5 1 阿呆被老板狂骂一通&#xff0c;决定改掉自己大意的毛病&#xff0c;痛下杀手&#xff0c;修补漏洞。 解法 注意到&#xff1a; <!-- flag in id 1000 -->拦截很多种字符&#xff0c;连 select 也不给用了。 if(preg_match("/\|\"|or|\||\-|\\\|\/|\…

Linux程序开发(十二):线程与多线程同步互斥实现抢票系统

Tips&#xff1a;"分享是快乐的源泉&#x1f4a7;&#xff0c;在我的博客里&#xff0c;不仅有知识的海洋&#x1f30a;&#xff0c;还有满满的正能量加持&#x1f4aa;&#xff0c;快来和我一起分享这份快乐吧&#x1f60a;&#xff01; 喜欢我的博客的话&#xff0c;记得…

window好用的网速工具

这是一个用于显示当前网速、CPU及内存利用率的桌面悬浮窗软件&#xff0c;并支持任务栏显示&#xff0c;支持更换皮肤。 github链接如下 https://github.com/zhongyang219/TrafficMonitor?tabreadme-ov-file

单窗口一天收益30+ 最新海外炼游地铁跑酷全自动黑科技项目,【软件+使用教程】

随着游戏界的最新狂潮&#xff0c;一款名为“海外酷跑”的游戏引起了全球玩家的关注。它继承了经典的地铁酷跑的精髓&#xff0c;同时注入了一种全新的元素&#xff1a;金币兑换虚拟货币的功能。玩家能够通过积极参与游戏、收集金币来兑换虚拟代币&#xff0c;每达到98000金币就…

详细分析Element中的MessageBox基本知识(附Demo)

目录 前言1. 基本知识2. Demo2.1 确认框2.2 警告框2.3 对话框 3. this.$confirm 前言 详细知识推荐阅读&#xff1a;详细分析Element Plus中的ElMessageBox弹窗用法&#xff08;附Demo及模版&#xff09; MessageBox则常用于Vue2 1. 基本知识 MessageBox 是 Element UI 提供…

每日一题——博弈论(枚举与暴力)

博弈论 题目描述 运行代码 #include<iostream> #include<vector> using namespace std; int main(){int n;cin >> n;vector<int> d(n,0);for(int i 0;i < n;i){cin >> d[i];}vector<int> in(1000,0);for(int k 1;k<3;k){for(int…

SpringBoot 集成 Nebula

工作需求&#xff0c;开始了解图数据库&#xff0c;经过工具选型&#xff0c;最终选择nebula graph&#xff0c;并集成到springboot&#xff0c;java 环境下如何对 Nebula Graph 进行操作&#xff0c;本文整理下过程。 1、首先引入 pom 依赖 <dependency><groupId&g…

【vue】el-select选择器实现宽度自适应

选择器的宽度根据内容长度进行变化 <div class"Space_content"><el-selectv-model"value":placeholder"$t(bot.roommessage)"class"select"size"small"style"margin-right: 10px"change"selectcha…