通信方式、点对点通信、集合通信

文章目录

B站视频

在这里插入图片描述

集合通讯思维导图:通信算法、通信链路、通信操作(原语)、通信域管理

在这里插入图片描述

传统组网互联

在这里插入图片描述


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

在这里插入图片描述


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

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

在这里插入图片描述

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

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述


IO Die & Base Die

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
一个die 一个rank


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

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
形成一个环,执行一个 all reduce、reduce together、all gather 的操作,都是要形成一个环
在这里插入图片描述


Ascend 服务器形态

在这里插入图片描述
这一代还没有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 访问别的节点(可能是这个意思)


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(硬件 需要跨 RDMA 的就是1个节点 )


通信协调:软件篇

在这里插入图片描述


通信协调:软件篇:MPI(视频:《NCCL/HCCL 的基础 MPI 通信介绍》需要再看一下理解,第一遍完全没有看懂,感觉很多视频是都需要温故知新!!!)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
OSI只是一个模型概念,并不提供具体的实现方法。实际上的网络的标准是TCP/IP

在这里插入图片描述
在这里插入图片描述

MPI:集合通信

在这里插入图片描述


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

在这里插入图片描述


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

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
优化通信框架的性能,那不就是用到了之前学习到的 二叉树的结构了

在这里插入图片描述
在这里插入图片描述


通信协调:软件篇:NCCL

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

在这里插入图片描述


点对点通信(TCP/IP、RDMA)、集合式通信(TCP/IP、NCCL)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


在这里插入图片描述


~

通信域

什么是通信域?一个通信域对应一个进程组、RankID

在这里插入图片描述

同一个进程可以参与不同的通信域,互不干扰

在这里插入图片描述
在这里插入图片描述


在这里插入图片描述

TP && PP 通信域

在这里插入图片描述
(1)左侧:NPU0 NPU1都是单个的进程,两个变成一个进程组;右侧:NPU0 4 8 12 也组成了一个进程组,在同一个通信域

DP && MP 通信域

在这里插入图片描述


后端通信库支持

在这里插入图片描述


Stream 基本概念

在这里插入图片描述

Event基本概念

在这里插入图片描述


Srtream & Event 通信计算并行

在这里插入图片描述
(1)计算流、通信流是不同的线程、不同的线程执行不同的 kernel
(2)串行:一个算子执行之后,下发到XCCL1,执行完之后,再执行另外一个算子

————
在这里插入图片描述

在这里插入图片描述
(1)第一个query:下载OP1给NPU之后,需要查询 OP1 是否执行完;没有执行完就给NPU2 发一个等待的指令,等待OP1执行完之后再发指令给NPU2执行OP2
————
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

————

集合通信的输出作为计算流上算子的输入

在这里插入图片描述
通信 与 计算 并行操作,数据可能有依赖性,就通过上面的 同步与异步 保证相关的顺序!
在这里插入图片描述


~

通信原语

在这里插入图片描述
在这里插入图片描述
对模型进行切分,每个服务器又需要相互通信,把一个大的网络模型切分成很多小的网络模型,每个小的网络模型之间是相互依赖的,需要就需要跨节点对数据进行同步
涉及到同步,中间的过程就需要通信,跨节点的通信,跨网络的通信,跨卡的通信;


集中式通信方式:一对多 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的数据在计算完之后,希望进行通讯,都变成一块卡的数据,再进行聚类处理

在这里插入图片描述


~

集合通信算法:all reduce 算法

在这里插入图片描述


all reduce 算法:Ring算法

在这里插入图片描述

在这里插入图片描述
右图:也是组成一个环

在这里插入图片描述
在这里插入图片描述


all reduce 算法: Halving-Doubling 算法

在这里插入图片描述
在这里插入图片描述在这里插入图片描述

在这里插入图片描述


all reduce 算法:其他算法

在这里插入图片描述


拓扑感知 All Reduce 算法:Torus拓扑、Dragonfly拓扑

在这里插入图片描述
谷歌 TPU 就非常推崇 Torus 架构


☆☆☆ 在网计算(通信与计算融合):把All Reduce 操作放到交换机 或者 路由器 中去执行

不是特别懂,NPU 之间不是通过 NVLINK等其他直连的方式 传输数据的吗,那这个经过这个DPU是怎么冒出来的?难道不是直连模式了吗,也不是PCIe、内存共享中的吧

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述


总结:性能提升方向:通信与计算融合

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值