智算网络中Scale-out和Scale-up网络的技术原理

e439bdbc935b06c297831c303570d489.jpeg 

智算网络中Scale-out网络和Scale-up网络的本质区别是什么?

   

一、什么是智算中心的Scale-out网络和Scale-up网络

数据中心网络总体上可分为两大类:通算网络和智算网络。通算网络主要用于支持传统的计算任务和应用,如企业的IT系统、网站托管、电子邮件服务等;而智算网络则专门用于支持人工智能(AI)和机器学习(ML)任务。这类网络需要更高的计算能力和更低的延迟,以处理大量的数据并执行复杂的计算任务。

当前,主流的机器学习(ML)智算网络和通算网络在架构上有很大差异。通算网络通常只有一张网,而智算网络则可能包含两张网。如下图所示:

3d059682cea5bd43e82626a3533ab082.jpeg

智算中心的两张网中,一张是通过ETH/IB实现GPU之间的RDMA功能的网络,即所谓的前端网络,通常称作Scale-out网络。一张是GPU之间高速互连,可以实现POD内跨GPU之间的内存的读写,即所谓的后端网络,即通常说的scale-up网络。

在大模型的智算网络中,训练和推理对后端网络的需求各有不同。以marvell的图为例,训练scale-up网络时所需的带宽容量要求更高。

1e24a195d937cfd2e6c558f4a6b9e4f4.jpeg

二、scale-out和scale-up网络现状

Nvidia的scale-up网络是一种面向GPU互联的网络,可以实现GPU算力Scale Up扩展。该网络采用自研NVLink互联和NVLink网络来实现GPU算力Scale Up扩展,相比于基于InfiniBand网络和基于Ethernet的RoCE网络形成差异化竞争力。

当前,基于Nvidia的NVLink技术的scale-up网络广泛应用于N系统的GPU。以DGX B200 NVL72为例,其由18个compute tray和9个switch tray组成,实现了高效的扩展。这一网络由Nvidia紧密控制,确保了稳定性与性能。

Scale-out网络以DGX B200 NVL72为例,每个compte tray的4个智能网卡和1个DPU卡组成。该网络支持N系IB/ETH或开放的ETH系,如UEC等性能提升方案GSE。国内智算网络普遍采用基于scale-out开发的架构。

根据Nvidia的解释,cluster和superpod这两个概念需要被区分开来。在superpod中,所有的GPU都通过NVLink高速总线互相连接,形成了一个全带宽互连的域,也就是所谓的scale-up网络。

Cluster是由所有GPU服务器组成的一个网络群的总称,一个cluster可以有多个superpod组成,通过scale-out网络来连接。Superpod是一个逻辑设备,它代表了一组Pod,这些Pod共享相同的硬件资源和存储卷。

    对于N系的GPU服务器来说,目前的Scale-up的网络规模一般可以认为是scale-out网络的十倍。从下图中 GB200 超级芯片的接口上可以看出,NVLink、InfiniBand、Ethernet 三种网络的容量配比为,NVLink 网络 14.4Tb/s,InfiniBand 网络 1.6Tb/s,Ethernet 网络 400Gb/s。三种网络的端口带宽之比为 NVLink : InfiniBand : Ethernet = 36 : 4 : 1。

e3075239ae7db42842f20d1fc51369f5.jpeg

"Scale-up的Nvlink网络,其带宽是RDMA IB的近10倍,为CPU间数据存储提供了强大支持。这种网络主要应用于智能网卡的域中,并在实际应用中作为scale-out网络发挥作用。"

三、为什么要区别这两个网络

本质上,Scale-out和Scale-up两张网旨在实现GPU间内存数据的高效传输。然而,为何要采用双网络并制造如此大的骚动呢?

    这个主要是起源于两点,一个是大模型的涌现现象,即对于ML来说,模型越大越好,夸张点说是上不封顶。另外一个就是在目前的大模型训练的时候,大模型的数据量对于单台GPU的服务器来说已经太大,必须通过各种的并行处理的方式,把数量的处理和存储分散到多个GPU中去,这样也就会带来一系列的问题,包括各种并行之间的通信开销,并行分割的开销,编程的复杂程度等等。例如,Transformer模型的注意力机制前馈网络都需要大量的内存和计算资源。更大的GPU内存可以容纳整个模型,避免频繁的分割和通信开销。

    对于大模型训练,最理想的方式就是一个超级大的supersupersuper chip的GPU,这样的话,不可以节省并行切割的开销。但是,现实肯定不现实的,为此,大家就想到了一个办法,把大模型分解为两大类,一个是需要在高频度进行数据交互的,例如张量并行和专家并行。把这些并行处理放置到GPU之间通过超高带宽,超低时延互连的网络中进行处理,压缩他们之间的通讯开销成本。当然,这个网络的成本是否非常昂贵的,这就是Scale-up网络,或 Load-Store/内存语义网络。这是一个追求极致性能的互连网络

另一类方法是将数据分解为相对独立的并行任务,如流水线并行和数据并行。这类技术被称为消息语义网络或scale-out网络。利用现有的以太网技术体系,结合适度的改造,我们可以在保持较低成本的同时,更好地满足性能需求。

在scale-out网络中,RDMA(RoCE)发挥着关键作用。尽管它提供了类似内存的访问模式,但在处理大量小容量内存读写时,如张量并行中的数据操作,效率相对较低。因此,我更倾向于不将其归为内存语义网络或Load-Store语义网络。

    通过上面两个网络的划分,实现了性能和成本的最优化。

四、时延是这个两个网络的本质区别

"现在,我们来探讨这两个网络的本质差异。在大模型训练中,它们都负责GPU间的数据传输,但存在不可忽视的区别。"

1、动态时延和静态时延

网络时延是指数据从发送端到接收端所需的时间。根据您的描述,网络时延可以分为静态时延和动态时延两部分。静态时延包括基本的互联、转发和交换时延,这些是网络硬件和设计的固有特性,通常与网络的物理布局和设备性能有关。动态时延与网络的带宽、吞吐量和利用率等相关,受网络当前负载和流量管理策略的影响,因此会随时间和网络状态变化。例如通过UEC对以太网进行优化,主要就是降低了网络的动态时延。

2、scale-up需要纳秒级的时延

"Scale-up网络,也被称为总线域网络,是一种极致性能的网络结构。在这个领域中,GPU能将其他GPU的存储视为本地存储区,实现直接读写。因此,时延控制变得极其重要。如果GPU主频超过1GHz且时钟周期小于1纳秒,例如在内存访问中,本地内存访问的典型时延通常低于100纳秒。为了匹配这种速度,我们在通过网络进行内存访问时,需要将时延控制在1微秒以下。"

为满足特定业务需求,网络设计需紧密耦合于业务,摒弃传统网络的传输层和网络层。信用机制(Credit)和链路层的重传机制确保可靠性,而非数据包式重传。

    当前,基于PAM4调制和基于ADC和DSP架构的112Gbps和224Gbps SerDes电互联技术对低时延的scale-up网络都可视是一个负担。DSP架构的112Gbps的SerDes的静态时延约为20纳秒,由于算法复杂度的提升,224Gbps SerDes技术的静态时延可能会更高。当前接口采用的标准RS(544, 514) FEC,在100Gbps吞吐时引入的时延大约为100纳秒,因此如果还是使用PAM4的方案的话,信道编码方面也需要引入全新的FEC方案。

3、scale-out网络的时延可达到ms级

在scale-out网络中,传统网络通常采用分层架构,例如OSI模型,具有清晰定义的传输层和网络层,以支持更加灵活的通讯和数据传输方式。这种分层架构也带来了时延不可控的代价。

为了解决这个问题,一些新的网络架构被提出来,例如SDN(软件定义网络)和NFV(网络功能虚拟化)。这些架构可以提供更高的灵活性和可编程性,从而减少时延并提高性能。

传统数据中心网络的业务受限于带宽,直接影响用户体验。如图像、音频质量,视频清晰度,文件下载速度等皆与带宽息息相关。更高的带宽意味着更大的业务承载量和更优的用户体验。为确保用户感受系统的即时响应,端到端网络时延需控制在1至10毫秒内,整体时延不超过100毫秒。这是基于人感知能力设定的上限,超出此范围可能导致用户感觉系统反应迟缓或不响应。

面向AI/HPC的计算网络与传统数据中心网络在业务特征上具有相似性,如单业务流带宽远低于接口或管道带宽;流级负载均衡提高网络利用率并避免乱序;异步和准同步通信方式适应业务流间关联性较弱;聚合后的流量可能在长周期内呈现规律性;对低时延要求不高;端侧传输层确保可靠性。

考虑到成本和技术亲和性,scale-out网络采用传统网络的产业链元素,如交换机和光模块。在此基础上进行性能升级,如UEC和GSE等,以降低网络动态时延。尽管如此,基于传统网络设计的静态时延仍需关注。

为了实现超大规模集群和提升技术能力,scale-out网络通过多级交换机组成的网络连接。这使得整个网络的时延降至毫秒级,提高了性能。

Scale-up网络和scale-out网络的本质区别在于,scale-up网络是直接提升机器的配置规格,是最直接的扩展手段,计算和存储均可通过 Scale-up 的方式来进行扩展,但扩展空间有限,相对成本较高。而scale-out网络则是通过增加更多的服务器来扩展系统,这样可以更好地利用资源,提高系统的可扩展性和灵活性 。

     五、scale-out和scale-up,是否可以合成一张网呢?

Scale-out网络与Scale-up网络分别代表了数据中心网络的两种不同发展路径,它们在设计理念和应用目标上有着显著差异。Scale-out网络沿袭了传统的数据中心架构,而Scale-up网络则着重于通过提升单一设备的性能来增强整个系统的能力。

传统网络技术侧重于连接地理分散的节点,实现远程通讯和信息交换,满足长距离传输、异构设备互联及多样化业务的需求。而scale-up网络则专注于在较小的物理范围内集成更多资源至单个节点,从而提高系统整体性能并紧密耦合于业务。

为了满足人工智能(AI)和通用人工智能(AGI)时代智算网络的需求,仅依靠传统数据中心网络的load-store能力或从传统load-store技术中提升网络性能已不再足够。这是因为传统数据中心网络技术的演进无法实现scale-up网络所需的低时延和高可靠性,同时还可能带来不必要的兼容性负担。另一方面,基于load-store技术的扩展也无法满足网络规模的快速增长需求。这种局限性的根本原因在于两者的发展目标和出发点存在本质差异。

在业务层面,scale-up/NVLink网络以load-store语义为基础,而scale-out/InfiniBand则采用消息语义。有趣的是,224G代际的NVSwitch和InfiniBand交换机规格相近,但这两种网络在未来将保持独立发展,不会融合。

 

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

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

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

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

相关文章

HCIA笔记7--OSPF协议入门

文章目录 0. 路由分类1. OSPF介绍1.1 概念1.2 报文类型 2. 邻接关系的建立2.1 邻居关系的建立2.2 邻接关系的形成2.3 ospf状态机 3. DR与BDR3.1 为什么要有DR和BDR?3.2 DR和BDR的选举原则 4. ospf的配置4.1 内部优先级 5. 问题5.1 三层环路如何解决? Ref…

C05S06-Nginx的内置变量和代理

一、常见内置变量 内置变量说明$uri请求的URL,不包括主机和参数$request_uri请求的URL,包括主机和参数$host请求的主机名$http_user_agent客户端信息,浏览器和操作系统$remote_addr客户端IP地址$remote_port客户端端口$server_addr服务端IP地…

mysql排序问题

mysql 建数据库时,需要指定 字符集 和 排序规则 建表时,也可以指定 也可以指定具体的字段 安照下面的sql顺序执行插入,它们的排序是什么样的? INSERT into test_sort (uid,create_time) VALUE (d,now()) INSERT into test_sort (u…

JAVA 图形界面编程 AWT篇(1)

前言 为了应对JAVA课设,小编走上了java的图形界面编程的道路,通过博客分享自己的学习历程,并进行笔记的记录。 AWT(Abstract Window Toolkit)介绍 AWT(抽象窗口工具包)是 Java 最早的图形用户界…

vulhub复现CVE-2021-44228log4j漏洞

目录 一:漏洞概述 二:漏洞原理 三:漏洞利用 lookup功能: JNDI解析器: ldap服务: RMI: 四:漏洞复现 4.1靶场 4.2dnslog测试 4.3部署jndi-injection-exploit 4.4打开监听端口 4.5触发请…

ip地址获取失败啥意思?ip地址获取失败怎么回事

在日常的网络使用中,我们时常依赖于稳定的IP地址来确保数据的顺畅传输和设备的正常识别。然而,有时我们会遇到“IP地址获取失败”的困扰,这不仅阻碍了我们的网络访问,还可能带来一系列的网络连接问题。那么,IP地址获取…

如何在 Android 项目中实现跨库传值

背景介绍 在一个复杂的 Android 项目中,我们通常会有多个库(lib),而主应用程序(app)依赖所有这些库。目前遇到的问题是,在这些库中,libAd 需要获取 libVip 的 VIP 等级状态&#xf…

非常规使用client-go踩坑记

0x01 背景 编程者总有想偷懒的倾向。至少我的初衷时,尽量复用现有的代码。但有时也会变得弄巧成拙。 这不,最近需要在一个Go服务里添加一个CRD的缓存等待。熟悉k8s的同学都知道,向 kube-apiserver 提交一个更新,到同一个进程中的…

OpenGL ES详解——多个纹理实现混叠显示

目录 一、获取图片纹理数据 二、着色器编写 1. 顶点着色器 2. 片元着色器 三、绑定和绘制纹理 1. 绑定纹理 2. 绘制纹理 四、源码下载 一、获取图片纹理数据 获取图片纹理数据代码如下: //获取图片1纹理数据 mTextureId loadTexture(mContext, R.mipmap.…

java引用相关(四大引用类型,软引用避免oom,弱引用表,虚引用和引用队列,可达性分析算法)

1. 什么是引用? 问题:什么是引用?Java中的引用是如何工作的? 答案: 引用 是对象的句柄,用于访问堆内存中的对象。在Java中,引用变量实际上存储的是对象的地址,而不是对象本身。通…

十一、容器化 vs 虚拟化-Docker

文章目录 前言一、Docker 介绍1. 简介2. 应用场景3. 特点4. Docker和虚拟机之间的区别5. 解决痛点1. 解决依赖兼容2. 解决操作系统环境差异3. 小结 二、Docker 架构三、工作流程五、Docker 核心组件及其工作机制1. Docker 客户端(Docker Client)2. Docke…

linux学习笔记01 基础命令

目录 创建 touch 创建文件 (创建但是不打开) vi / vim 创建文件 (创建一个文件并打开) mkdir 创建文件夹 切换目录 cd 查看 pwd 查看当前目录完整路径 ls 查看目录信息 dir 查看目录信息 ll 表示查看目标目录下的信息 ls -a 查看当前目录下的…

【深度学习】深刻理解多模态模型CLIP

CLIP(Contrastive Language-Image Pretraining) 是由 OpenAI 提出的一个多模态模型,旨在学习视觉和语言的联合表示,能够通过图像和文本之间的对比学习来实现图像和文本之间的紧密联系。CLIP 模型可以通过自然语言描述理解和处理图…

android 聊天界面键盘、表情切换丝滑

1、我们在聊天页面时候,往往会遇到,键盘、表情、其他选择切换时候页面会出现掉下来再弹起问题,这是因为,我们切换时候,键盘异步导致内容View高度变化,页面掉下来后,又被其他内容顶起这种很差视觉…

Nginx 缓存系统 proxy_cache详解

系列文章目录 提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加 例如:第一章 Python 机器学习入门之pandas的使用 提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目…

mysql时间戳格式化yyyy-mm-dd

格式化到 年月日 # 将时间换成列名就行;当前是秒级时间戳,如果是毫秒的 / 1000即可 # SELECT FROM_UNIXTIME(1602668106666.777888999 / 1000,%Y-%m-%d) AS a; # SELECT FROM_UNIXTIME(列名 / 1000,%Y-%m-%d) AS a; SELECT FROM_UNIXTIME(1602668106.666…

PDFMathTranslate,PDF多语言翻译,批量处理,学术论文,双语对照(WIN/MAC)

分享一个非常实用的PDF文档翻译项目——PDFMathTranslate。作为一个经常逛GitHub的开发者,我总喜欢翻看各种项目附带的论文,虽然大多时候是瞎研究,但却乐在其中。该项目能够完美保留公式、图表、目录和注释,对于需要阅读外文文献的…

网络药理学:(待更)Alphafold3和批量分子动力学模拟(Desmond、AutoMD)

批量动力学模拟 注意全都需要在类linux平台上进行 安装Desmond模块: https://github.com/Wang-Lin-boop/Schrodinger-Script 安装AutoMD模块: Wang-Lin-boop/CADD-Scripts: Scripts for virtual screening, cross docking and protein relax using Sc…

爬虫基础之代理的基本原理

在做爬虫的过程中经常会遇到一种情况,就是爬虫最初是正常运行、正常抓取数据的,一切看起来都是那么美好,然而一杯茶的工夫就出现了错误,例如 403 Forbidden,这时打开网页一看,可能会看到“您的IP访问频率太…

第十七届山东省职业院校技能大赛 中职组“网络安全”赛项资源任务书样题③

第十七届山东省职业院校技能大赛 中职组“网络安全”赛项资源任务书样题③ 模块A 基础设施设置与安全加固(200分)A-1 登录安全加固(Windows, Linux)A-2 Nginx安全策略(Linux)A-3日志监控(Windows)A-4中间件…