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

news2024/9/19 21:23:24

    

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.coloradmin.cn/o/1697056.html

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

相关文章

数据结构(三)栈 队列 数组

2024年5月26日一稿(王道P78) 栈 基本概念 基本操作 顺序存储结构 基本操作 共享栈

数据库管理-第194期 网络加速RDMA初探(20240526)

数据库管理194期 2024-05-26 数据库管理-第194期 网络加速RDMA初探(20240526)1 概念2 发展3 使用总结 数据库管理-第194期 网络加速RDMA初探(20240526) 作者:胖头鱼的鱼缸(尹海文) Oracle ACE A…

PLSQL连接Linux Oracle21c

PLSQL连接Linux Oracle21c 一、安装PLsql 下载官网 https://www.allroundautomations.com/registered-plsqldev/ 二、Oracle Instant Client下载 使用plsql连接oracle的时候是需要本地先安装oracle客户端,英文名就是Oracle Instant Client。 官方下载地址&…

RedHat9 | DNS剖析-配置辅助DNS服务器

一、实验环境 1、辅助域名DNS服务器 DNS通过划分为若干个区域进行管理,每一个区域由1台或多台DNS服务器负责解析,如果仅仅采用1台DNS服务器,在DNS服务器出现故障后,用户将无法完成解析。 辅助DNS服务器的优点 容灾备份&#x…

PaddleSeg训练推理及模型转换全流程

文章目录 1、数据准备1.1 数据标注1.2 数据导出1.3 标签较验1.4 数据集整理1.5 标签可视化 2、 模型训练3、模型验证4、模型推理5、模型导出6、导出文件的推理7、将模型转换成onnx8、使用onnx进行推理 本文记录一下使用paddleseg进行语议分割模型对人体进行分割的使用流程。事实…

自然资源-各级国土空间总体规划的审查要点及流程总结

自然资源-各级国土空间总体规划的审查要点及流程总结 国土空间规划是对一定区域国土空间开发保护在空间和时间上作出的安排,包括总体规划、详细规划和相关专项规划。 国土空间规划管理是国土空间规划中重要的一环。中共中央、国务院发布《关于建立国土空间规划体系…

数据与结构--AVL树

目录 AVL树的概念 AVL树的性质 AVL树结点的定义 AVL树的插入 AVL树的旋转 左单旋 右单旋 左右双旋 右左单旋 AVL树的验证 AVL树的查找 AVL树的修改 AVL树的删除 AVL树的概念 二叉搜索树虽然可以提高我们查找数据的效率,但如果插入二叉搜索树的数据是…

福昕PDF使用技巧

因为突然间学校的企业版WPS突然很多功能就不能使用了,所以转向福昕PDF。 一、合并文件 添加需要合并的文件,可以使用ctrla等方式全选 找到最上方的“合并文件” 二、文本注释

linux中最常用的文件管理命令

linux中最常用的文件管理命令 linux中最常用的文件管理命令最常用的且没有之一的 ls命令格式不加任何参数使用-l显示更多细节使用-t按照时间排序使用-r按照时间逆序使用-S根据文件大小排序 查看庐山真面貌的cat实例 :简单显示内容实例 :显示行号 -n实例 …

Python实现xml解析并输出到Excel上

1.编写xml文件 2.使用Python的ElementTree模块来解析XML import xml.etree.ElementTree as ET from openpyxl import Workbook # 解析XML函数 def parse_xml(xml_file):tree ET.parse(xml_file)root tree.getroot() --打开根节点data []for user in root.findall(Users/Us…

LeetCode 124 —— 二叉树中的最大路径和

阅读目录 1. 题目2. 解题思路3. 代码实现 1. 题目 2. 解题思路 二叉树的问题首先我们要想想是否能用递归来解决,本题也不例外,而递归的关键是找到子问题。 我们首先来看看一棵最简单的树,也就是示例 1。这样的一棵树总共有六条路径&#xf…

【三维修复、分割与编辑】InFusion、Bootstrap 3D、GaussianGrouping、GaussianEditor等(论文总结)

提示: 文章目录 前言一、InFusion:扩散模型助力,效率提高20倍!(2024)1. 摘要2. 算法3. 效果 二、2D Gaussian Splatting三、Bootstrap 3D:从扩散模型引导三维重建1.摘要2.相关工作3.方法1.Boostrapping by Diffusion 通过扩散模型…

文心一言 VS 讯飞星火 VS chatgpt (267)-- 算法导论20.2 2题

二、写出 PROTO-vEB-DELETE 的伪代码。通过扫描簇内的相关位,来更新相应的 summary 位。并且你实现的伪代码的最坏情况运行时间是多少?如果要写代码,请用go语言。 文心一言: 首先,让我们回顾一下vEB(Van …

项目管理-质量管理

目录 一、质量管理概述 1.1 GB/T16260.1-2006 定义 1.2 GB/T19000-ISO 9000(2000)系列标准定义 二、软件质量模型 2.1 软件全生命周期质量模型 2.1.1 内部和外部质量的质量模型 2.1.2 使用质量的质量模型 2.1.3 McCall 质量模型 2.1.4 质量特性度量 2.1.5 相关概念 三…

对话掌阅科技CTO孙凯:如何用生成式AI重新定义阅读体验

导读:生成式AI能对阅读做本质的改造吗? 读一本好书,犹如和一位智者对话。 对于很多热爱读书的人,这是一种令人憧憬的阅读体验。以往,这种对话只能在读者的头脑和思维中进行。 有没有可能,读者可以随时随地和…

使OpenCV可以读取中文路径图片的方法

一.问题复现 1.代码 #! /usr/bin/env python # -*- coding: utf-8 -*-# File: show_img.pyimport cv2# 读取图片 img cv2.imread("车牌素材/冀A.png")# 显示图片 cv2.imshow("img", img) cv2.waitKey(0)2.报错截图 3.报错内容 [ WARN:00.05…

[JAVASE] 类和对象综合应用 -- 图书管理系统

目录 零. 概览 一. 抽象出图书管理系统所涉及的对象 1.1 Book 1.2 User 1.3 Operation 二. 实现 User 包中的对象 2.1 User父类 2.2 NormalUser 对象 2.3 AdminUser 对象 2.4 小总结(1) 三. 实现Book包中的对象 3.1 Book 对象 3.2 BookList 对象 四. 实现 Operation…

大数据工具之HIVE-参数调优,调度乱码(二)

一、调度乱码 在利用HUE工具,搭建WORKFLOW流程的过程中,如果直接执行hivesql数据正常,不会出现乱码现象,如果利用WORKFLOW搭建的流程,进行数据的拉取,会出现数据中文乱码现象,这些乱码主要是由于select 中的硬编码中文导致出现的现象 具体现象如下: select case when …

【WEB前端2024】开源智体世界:乔布斯3D纪念馆-第26节-内嵌blender展厅

【WEB前端2024】开源智体世界:乔布斯3D纪念馆-第26节-内嵌blender展厅 使用dtns.network德塔世界(开源的智体世界引擎),策划和设计《乔布斯超大型的开源3D纪念馆》的系列教程。dtns.network是一款主要由JavaScript编写的智体世界…

人工智能万卡 GPU 集群的硬件和网络架构

万卡 GPU 集群互联:硬件配置和网络设计 一、背景 自从 OpenAI 推出 ChatGPT 以来,LLM 迅速成为焦点关注的对象,并取得快速发展。众多企业纷纷投入 LLM 预训练,希望跟上这一波浪潮。然而,要训练一个 100B 规模的 LLM&a…