乐于分享
好东西不私藏

Scale up是否有办法解除或减少软件和硬件的耦合?|超节点公开课Q&A优选

Scale up是否有办法解除或减少软件和硬件的耦合?|超节点公开课Q&A优选

Q&A优选来啦,从智猩猩公开课超节点与智算集群系列第20期的71个提问中优选了14个Q&A。
这期公开课由探微芯联Scale-up系统架构师欧阳捷以视频形式主讲,主题为超节点Scale-up互联需求及关键技术欧阳捷从Scale-up互联需求、超节点通信关键技术、Scale-up通信协议、Scale-up互联引擎、Scale-up软件栈五个方面进行了深入分享,并回答了用户的提问。

Q1

薛小明:Scale up有哪些技术挑战?

欧阳捷:首先,Scale up软硬件耦合很深,它的软件栈跟硬件、互联引擎之间的关联,以及与switch之间的关联,都是比较深的。

第二是计算和通信的耦合比较深。传统以太网通信TCP/IP,通过把数据放在报文里显式传送。但是在Scale up领域,计算和通信常常合在一起,就是一个地址操作,一个load store,直接在内部隐式的启动了通信。像在网计算,在指令上看到的可能只是load store操作,实际上不但进行通信,还进行了在网计算,所以计算和通信的耦合也很深。
再有就是交换芯片和GPU软件栈本身各自的复杂度比较高,我们刚才也讲了交换芯片的整个软件栈。在GPU这边,他的link和CUDA平台、再往上的通信库,通信库上面还有推荐框架。GPU和Switch之间的软件就有比较多的耦合。还有race的问题,也是挑战很高的一个事情。
所以,总结起来Scale up的技术挑战体现在软硬件耦合深,计算和通信耦合紧,交换芯片和GPU软件栈互相耦合,以及复杂的race问题。也是因为它牵涉到整个race,从底向上牵涉到不同的模块,而且对软硬件全栈都产生了影响。另外,可靠性目前还是AI集群的一个大问题,这些对Scale up来讲都是很大的挑战。

Q2

Zaiping:中国短期内(1-2年),Scale up域最大支持的GPU数量,会在什么量级上?

欧阳捷:我们可以看到常见的有NVL72、华为384,这个量级是目前比较多的,比较高端的是这个量级。但其实更常见的还是8、16、32这种量级。

Q3

黄梦龙:怎么看光铜的关系?

欧阳捷:Scaleup链路里面光和铜都会有,铜缆又分为有源和无源两种,他们就是电的链路。铜的链路距离一般比较短,尤其在高速的情况下,比如说112GBPS情况下,它的长度只有两三米,56G是3米,112G可能只有2米,所以它是近距离通信。有源铜缆距离会远一点,但是也不会超过6、7米,6、7米大概是个极限。

光的特点是距离比较长,理论上可以到30米,但实际在scaleup领域光链路通常也不超过10米,因为距离越长延迟越大,而Scaleup通信对延迟特别敏感。

延迟指标来看,光差不多是每米五个纳秒,电大概每米是四个纳秒,大概是这个水准。大家可以推算,每增加10米它的延迟还是很明显的。电链路的特点是成本低损耗高,高频情况下电能的起伏效应是比较明显的,而且损耗会随着距离快速增加。尤其对112G的速度,它很难做到很好。光的特点是成本高,抗干扰能力强,但是光模块的故障率又是比较高的。

所以光和铜的选择各有利弊。

Q4

刘梦楠:Scale up光和铜方案谁优谁劣,未来趋势如何?目前看上去光方案在Scale up方面进展很快?

欧阳捷:光和铜各有优劣,一般在规模比较小的时候是铜优先,因为铜比较便宜,而且在短距离场景下性能还不错。距离拉大的话,光可能更合适,但是代价也更高。

Q5

Hunter:Scale up带宽和算力、访存带宽之间关系?

欧阳捷:Scale up带宽的选择,我们分两步来看:首先是算力和访存之间,这里我们分两步推导:第一步从算力推访存带宽,第二步从访存带宽推Scale up的通信带宽。

算力和访存带宽是什么关系呢?当运算强度大时,可能GPU对数据的复用率高,这时算力是瓶颈,内存带宽要求不高。当运算强度低,但是数据用量大时,可能内存是瓶颈。所以,不同应用、不同场景,需求是不一样的。

比如大模型训练,我们可以给出一个大家认为比较平衡的方式。大模型训练情况下,我们以FP16的算力,如果需求是1000TFLOPS,那么它内存带宽是3000G,匹配的比例就是TFLOPS跟GB/s大概是1:3的比例。在大模型推理时,int8量化这种大模型推理2000TFLOPS的FP16算力,对应的内存大概是1500GB/s,比例是1:0.75左右。

也就是说根据应用场景不同,是训练还是推理,算力跟内存之间有一个比例关系。

内存带宽跟Scale up通信带宽的比例大概是多少呢?大概是6:1到8:1之间,按这个速度来算就比较合理。这其实也是参照了英伟达比例,应该也是大家认为比较合理的。这样,大家就可以算出来GPU应该怎么选择Scale up 带宽。

Q6

小飞象:大模型推理是否比训练更需要超节点集群?

欧阳捷:应该是都很需要,不能说更需要。

前面特别有一章讲到推理和训练对Scaleup的需求是有一点区别的,包括训练的同步、通讯密度更大,延迟要求更高,通信量更大。推理会好一些,它本身的规模也小一些,互联也趋于比较稳定的连接,延迟不要太高,它有一个下限容忍度。同时,推理的数据量、通信复杂度都要低一些。

总的来说,他们各有特点,但不能说是谁更需要。

Q7

史之星:Scale up是否有办法解除或减少软件和硬件的耦合?

欧阳捷:减少软件和硬件的耦合是一个好的想法,但是我们要看到,其实Scale up整个系统和网络效率的优势,恰恰是在软件和硬件的耦合。要解耦也可以做到,但常常会损失掉性能。所以这两者是取舍的关系,减少耦合性能会下降,正是因为它的软硬件耦合很强,所以性能很高,是这么一个关系。

Q8

中国卓:请问老师,有GPU厂商在自研Scale up么?

欧阳捷:这是没问题的,因为大家在看到Scaleup趋势之前,很多都是在用PCIe的方式在做,但是也很少会全心去做一种,GPU厂商不愿意全心去做一种Scaleup,是因为涉及到生态的支撑问题,可能GPU厂商只做了自己连,并没有switch或者别的东西连不上,别的switch供应不上也没有用。

所以是有GPU厂商在做,但是长远来看,用开放的或者由第三方厂商来提供比较好。

Q9

贾令宇:探微的ACCLink是怎么作为产品交付的?是IP、芯片还是方案?

欧阳捷:我们的ACCLink属于互联引擎IP,主要作为IP来交付,作为IP核嵌入到GPU芯片里。

Q10

陈争胜:怎么看待NVLink的开放?

欧阳捷:这个开放对国内的产业链影响很小,首先是对国内有一些限制,再一个它的开放并不是完全的开放,包括它的协议、内部通信的原理这些详细的东西并没有开放,只是能够把它作为一个整体来使用。对国内的生态也有一些问题,因为国内的GPU厂商有国产替代的需求,也是为了摆脱供应链的限制。如果在其中又采用了NVLink的产品,是无法解决完整的国产替代的,而且供应链的安全问题也没有解决。

所以NVLink的开放对国内的生态影响是很小的。

Q11

怎么看待国内GPU和互联相关的生态?

欧阳捷:我们看到,现在国内GPU公司上市的比较多,GPU算力赶超速度也很快,国产替代有很大的潜力。国内在Scale out领域,像智能网卡、交换芯片这一块发展还行。

但是,在Scale up领域存在明显的短板。首先是标准跟不上,标准有两个好处,一是可以统一协议,实现异构互联;其次是能够在制定标准的过程中,提高大家的认识,提高各家的水平。在产品方面也还有不足,就是GPU的link技术,还有Scale up的switch,这两个发展比较慢。
GPU这里,为什么说Scale up的互联引擎发展的比较慢呢?因为之前Scale up的技术主要是PCIe、以太网这两类,但这两类用在Scale up领域都有一些问题。PCIe的可靠性略差,而且它的速度跟不上时代,尤其当节点规模增大的时候,它的可靠性会有比较严重的问题。因为PCIe是通过物理地址进行访问的,一旦有传输错误,往往会造成系统崩溃。以太网这条路,因为之前都是RoCE RDMA方案,速度慢,很难做到load store atomic这种高效率。
其二是Scale up的switch,跟以太网switch还是有比较大的差别的,很难拿以太网的switch直接来用,有些功能确实跟不上。比如在网计算功能,以太网是没有的,而且转发的效率和延迟也不能满足Scale up的要求。以太网的交换通常是微秒,甚至几十微秒量级,整个处理的方式对Scale up来说都不太适合。
所以在互联方面一直是存在短板的,一个是标准,一个是产品,这两方面也是国内正在追赶的。

Q12

Eason:老师怎么看待Scale up协议与Scale out协议的差异,未来是否有可能统一?

欧阳捷:Scaleup、Scaleout的应用场景是有明显区别的。Scaleout协议面对的场景,网络更加复杂,连接的规模、层级数更多,对于延迟没有那么高的要求。Scaleup协议规模比较小,对延迟极度敏感。

Scaleout协议,有些基本的东西会有不同。比如以太网,包括x以太网协议,它的报文的头部就比较大、比较重。它的层次、隧道可以一层一层的协议套,可以套的很大,有点不太在乎开销,因为对延迟没有那么敏感。而Scaleup不行,它的头很轻,对于很小的数据量传输,还得做到很高的效率,所以头要轻,嵌套不能多,甚至是尽量少的嵌套,并且数据包不会特别长。这是在报文层面的差异。

管理协议方面,也会有很多操作上的差别。因为Scaleout网络规模大、层级多,管理相关的协议就很多。Scaleup就不需要,因为来不及,实际上它需要软件参与的更多来配合,Scaleout更多要靠网络节点之间自通讯来解决互相的协商问题。从这个层面来讲,Scaleup、Scaleout也是有很明显的区别的。

所以,这两种协议很难统一。如果要放在一起,应该也是两个分协议比较好,或者是两个大的选项比较好,不太可能统一,是这个逻辑。

Q13

林浩Lam Ho:谷歌TPU为什么可以做到9216个节点互联?

欧阳捷:我只是大概有一些了解,因为谷歌是私有节点,私有的Scaleup部署其实可以有很多自己的设计,可以少一些限制。

谷歌的网络特点是它是Torus3D结构,这个结构比较特别,不一定适合其他家。因为这种结构的延迟是偏大的,当然谷歌在光技术方面带宽会做的非常大,有自己的一些特点。这种做法有很强的定制属性,不一定适合其他家。

Q14

Yinlong Lu:探微的IP和XPU是通过AXI协议接口对接的,对吧?那对XPU端的AXI接口有什么要求?

欧阳捷:Scaleup协议本身就是这么规定的,一般就是AXI接口来接业务接口。

我们刚才讲了三个接口,首先是主机接口,主机接口通常是AXI通道的;其次是管理接口,来管理接口APP;最后是Serdes这种链路接口。

这里其实也谈不上特殊要求,但确实有一些定制,因为不同协议的接口定义是有区别的。比如说在网计算,在GPU侧需要通过总线来发现在网计算的计算类型和数据类型,这就需要总线上能够支持,所以这里是有一些要求的,因为要做到一些功能,就需要有特定的支持和要求。

-END-

文章转载自:智猩猩芯算
本站文章均为手工撰写未经允许谢绝转载:夜雨聆风 » Scale up是否有办法解除或减少软件和硬件的耦合?|超节点公开课Q&A优选

评论 抢沙发

4 + 6 =
  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
×
订阅图标按钮