前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >大模型与AI底层技术揭秘 (10) 工业化武装的巨龙 (下)

大模型与AI底层技术揭秘 (10) 工业化武装的巨龙 (下)

作者头像
用户8289326
发布2023-11-20 16:40:56
2920
发布2023-11-20 16:40:56
举报
文章被收录于专栏:帅云霓的技术小屋

在前几期,我们提到英伟达为了将GPU Direct拉远到机箱外,收购了芯片厂商Mellanox。那么,Mellanox拥有什么样的黑科技,才能够加入NVidia引领的高性能计算战团呢?

Mellanox掌握了两大黑科技:InfiniBand,RoCE。

实际上,这二者都是RDMA传输的载体。

在上一期我们讲到,RDMA是没有类似TCP-IP的丢包重传机制的,这就意味着,网络层必须保证数据包不丢失。

我们知道,数据包在网络中传输的时候,链路层会使用130b/128b等编码方式,增加冗余数据位来避免单bit错误导致错包。那么,为什么还会出现数据包丢失呢?

这是因为,网络中有可能出现所谓的incast现象。

如图,switch 0 和 switch 1都通过万兆以太网向switch 2发送数据,switch 2查找转发表后发现,这两条数据流的出接口是同一个,也是万兆以太网。那么,当switch 0和switch 1发送的速率之和,超出了switch 2出方向的万兆以太网线速能力的时候,switch 2就不得不丢弃一部分数据包。这就是所谓的incast导致网络拥塞丢包。

话分两头。

小H在一次被人带去吃麻辣小龙虾以后,打开了通往新世界的大门,第二天又去吃。第三天,小H遇到了一些难以启齿的困扰。这是因为,出方向的QoS需要从入方向着手,如果我们期望出方向避免拥塞等问题,就要管控入方向的流量。

在Infiniband网络中,采用的是类似802.5 (Token Ring)的方式来避免拥塞,上游如果想发送数据包,首先要拥有向下游发送的Credit,发送后会消费Credit,而下游只有在处理完数据包后才会返还Credit给上游。

但是,基于以太网的RoCE中,以太网缺乏这种流控机制。以太网与Token Ring的一大差异,就是没有内建这种Credit机制,在传统的以太网中也无法避免这种数据包丢失。而以太网之上的网络层IP协议,也是个“尽力而为”的传输协议,也没有流控机制。

也就是说,以太网+IP的链路层和网络层,原始设计是公路,而Mellanox需要把它改造为承载RDMA重载列车的重载铁路!

在国铁的每个站段,都高挂着“严守速度,确认信号”的标语。当列车前方连续三个闭塞区间内没有车辆的时候,信号机为绿色,指示列车可以按规定速度运行。但如果前方闭塞区间内有车辆,信号机就会变为黄色,指示列车减速,或变为红色灯光指示列车在该信号机前停车。

Mellanox借鉴了这一机制,为以太网增加了信号机,将其改造成为了“无损以太网”。

首先是增加了PFC反压机制。PFC是Priority-based Flow Controld的缩写,指的是基于优先级的流量控制。PFC可以将以太网链路分为8个优先级不同的虚拟通道,当以太网交换机内部缓存达到水位线时(类比铁路上列车前方闭塞区间有车),设备会向上游方向发出Pause帧(类比信号指示列车降速或停车)。上游设备接收到Pause帧的时候就会暂停发送。

但是,PFC反压机制只能缓解网络拥塞。这是因为,上游网络设备的缓存也是有限的,一般在16-64MB的级别。如果以太网接口速率为100Gbps(相当于12.5MBps),在不到50ms的时间内就可以打爆缓存引起丢包。因此,我们还需要让发送数据的服务器降低发送速率,这一机制就是ECN。ECN是在交换机检测到缓存超过水线时,在发送的数据包中增加ECN标志,而最终接收数据的操作系统协议栈检测到该标志,就直接向发送端反馈(反压),要求发送端降低发送速率,从而彻底解决拥塞问题,避免拥塞恶化。

除此之外,RoCE还需要ETS和DCBX两个特性的配合。ETS用于防止“大象流”踩死“老鼠流”,也可以避免交换机丢弃ECN反压信令。而DCBX为网络中各交换机提供一个互相通知网络接口能力的协议。

在这四个协议,特别是PFC和ECN的加持下,以太网被从公路改造为重载铁路,就可以无损地实现大块数据的搬运了。

在大模型的计算中,还会涉及一个问题:存储。一个典型的场景是,海量图片数据保存在NVMe SSD中。有没有好的办法实现GPU高速访问NVMe SSD中的数据呢?

请看下期。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2023-11-18,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 帅云霓的技术小屋 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
GPU 云服务器
GPU 云服务器(Cloud GPU Service,GPU)是提供 GPU 算力的弹性计算服务,具有超强的并行计算能力,作为 IaaS 层的尖兵利器,服务于生成式AI,自动驾驶,深度学习训练、科学计算、图形图像处理、视频编解码等场景。腾讯云随时提供触手可得的算力,有效缓解您的计算压力,提升业务效率与竞争力。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档