文章目录
- 传统组网互联
 - 大模型组网互联:超高带宽、超低延迟、超高可靠性
 - ☆☆☆ AI计算集群互联方式:Die间、片间、集群间
 - Die间:SoC架构转向 Chilplet 异构(多Die)、UCIe标准
 - IO Die & Base Die
 - 节点内 NPU 间互联:PCIe、共享内存、私有协议直连
 - ☆☆☆ 片内互联挑战与技术壁垒
 - ☆☆☆ 节点间互联:需要跨 RDMA 的就是1个节点
 - RDMA 主要实现方式,由第三方的公司可以买到!
 - InfiniBand
 - RoCE
 - Altas 900 A2 PoD集群基础单元 - 计算节点
 - TP && PP 通信域
 - RDMA
 - ~
 - 从硬件PCIE、NVLINK、RDMA原理到通信NCCL、MPI原理!
 - 通信实现方式:机器内通信、机器间通信
 - 通信实现方式:通讯协调
 - 通信实现方式:机器内通信:PCIe
 - 通信实现方式:机器内通信:NVLink
 - 通信实现方式:机器间通信:RDMA(直连模式)
 - 通信协调:软件篇
 - 通信协调:软件篇:MPI
 - MPI:集合通信
 - MPI:进程启动与收发数据顺序:broadcast
 - MPI:进程启动与收发数据顺序:gather
 - 通信协调:软件篇:NCCL
 - 点对点通信、集合式通信
 - 分布式训练系统
 - 集中式通信方式:一对多 broadcast
 - 集中式通信方式:一对多 scatter
 - 集中式通信方式:多对一 reduce
 - 集中式通信方式:多对一 gather
 - 集中式通信方式:多对多 all reduce(用的特别多)
 - 集中式通信方式:多对多 all reduce 的两种实现方式
 - 集中式通信方式:多对多 all reduce = reduce + broadcast (聚合到一张卡)
 - 集中式通信方式:多对多 all reduce = reduce-scatter + all-gather
 - 集中式通信方式:多对多 all gather
 - 集中式通信方式:多对多 reduce scatter
 - 集中式通信方式:多对多 all to all
 
传统组网互联

大模型组网互联:超高带宽、超低延迟、超高可靠性

☆☆☆ AI计算集群互联方式:Die间、片间、集群间

Die间:SoC架构转向 Chilplet 异构(多Die)、UCIe标准

 

 
IO Die & Base Die


 
 一个die 一个rank
节点内 NPU 间互联:PCIe、共享内存、私有协议直连



 形成一个环,执行一个 all reduce、reduce together、all gather 的操作,都是要形成一个环
 

 这一代还没有NVLink的出现
 
☆☆☆ 片内互联挑战与技术壁垒

其他AI厂商可以做AI芯片,AI芯片比较新
 但是通讯这玩意儿,不是想做就能做的,国内估计只有华为能做
 网络协议的适配,也需要大量的工程经验和技术积累的
Die间是已经有对应的技术标准的了
 片间 AMD&谷歌提出的 UALink 协议

掌握 片间高速互联网络和私有协议 的公司,在AI训练服务器 形成绝对垄断的地位!
 华为这几年还是能走的非常的好
☆☆☆ 节点间互联:需要跨 RDMA 的就是1个节点

 
RDMA 主要实现方式,由第三方的公司可以买到!

 
__________________________
InfiniBand

RoCE
 
 
Altas 900 A2 PoD集群基础单元 - 计算节点

 
 
 
 
 (1)NVIDIA NVL72 是一个机柜,那么这个机柜应该就属于是一个节点
 (2)可能还不是,要是 L2 NVSwitch 的话 还连接着别 NVL72 机柜,都是在NVSwitch下面,还没有跨RDMA 访问别的节点(可能是这个意思)
TP && PP 通信域

RDMA

 
 (1)左边的图是TCP/IP,右边的是RDMA
 (2)左边的几个蓝色方框,在传递的时候 需要经过好几次的用户的内存拷贝,对大数据执行起来会非常的缓慢,数据量越大的时候,这个延迟是很难去接受的!
 (3)而RDMA新的协议,就是用户直接跳过kernel层,直接传到远端的服务器,数据绕过CPU,直接通过RDMA设备,对远端的虚拟内存直接进行访问读和写;
(4)既然是机器间通信,那么不同机器间是通过以太网连接的
 (5)Q:RDMA是通过网线连接的吗?
 
~
从硬件PCIE、NVLINK、RDMA原理到通信NCCL、MPI原理!
通信实现方式:机器内通信、机器间通信
计算机通网络通讯中最重要的两个衡量指标是:带宽、延迟

内存共享:比如 多个应用共享手机里面的同一块内存
 PCIe:最明显的方式就是 gpu 与 cpu 之间的通信,大部分都通过之间的PCIe插槽进行的
 NVLink(直连模式):GPU 与 GPU 之间进行一个互通

 Q:不同机柜之间的GPU的访问,不是通过NVSwitch进行全互联的吗。那这个机器间的通信,都传输什么信息呢?通讯、互传数据、等待和同步相关的问题,这些信息是走什么传输的呢?
 ---- 如果是NVLink通信的话,它应该还是属于 机器内通信,而不是机器间通讯(TCP/IP、RDMA)
蓝色的线:通过网线进行连接
 AI集群里面,可能更多的用到 RDMA 的网络模型通信
通信实现方式:通讯协调

通信实现方式:机器内通信:PCIe

通信实现方式:机器内通信:NVLink

通信实现方式:机器间通信:RDMA(直连模式)
通信协调:软件篇

通信协调:软件篇:MPI

 
 
 OSI只是一个模型概念,并不提供具体的实现方法。实际上的网络的标准是TCP/IP

 
MPI:集合通信


MPI:进程启动与收发数据顺序:broadcast

MPI:进程启动与收发数据顺序:gather

 
 
 优化通信框架的性能,那不就是用到了之前学习到的 二叉树的结构了

 
通信协调:软件篇:NCCL

 (1)对网络拓扑进行一个感知,topo是长什么样子的,回环是怎么组织的
 (2)对网络拓扑进行一个搜索,找到一个最好的通信的策略
 (3)使能CUDA的kernel 对数据进行通信

点对点通信、集合式通信

 
 

分布式训练系统

 
 对模型进行切分,每个服务器又需要相互通信,把一个大的网络模型切分成很多小的网络模型,每个小的网络模型之间是相互依赖的,需要就需要跨节点对数据进行同步
 涉及到同步,中间的过程就需要通信,跨节点的通信,跨网络的通信,跨卡的通信;
集中式通信方式:一对多 broadcast
(1)把 NPU0 的数据同步到其他 3 份里面
 
 
集中式通信方式:一对多 scatter

 
集中式通信方式:多对一 reduce

 
集中式通信方式:多对一 gather

 
集中式通信方式:多对多 all reduce(用的特别多)

 
集中式通信方式:多对多 all reduce 的两种实现方式

集中式通信方式:多对多 all reduce = reduce + broadcast (聚合到一张卡)

 
集中式通信方式:多对多 all reduce = reduce-scatter + all-gather


 
木桶原理,强同步的!(大模型对AI集群训练的诉求:大带宽、强同步)
集中式通信方式:多对多 all gather

 

集中式通信方式:多对多 reduce scatter

 
集中式通信方式:多对多 all to all

 假设每个NPU上面都有一个A的数据,A的数据在计算完之后,希望进行通讯,都变成一块卡的数据,再进行聚类处理

END