阿里巴巴资深技术专家曹政:高性能网络驱动极致智能计算

中国IDC圈讯,开放数据中心峰会(ODCC2020)在北京召开,峰会围绕数据中心新基建为主题,有数据中心领域及相关行业的众多专家与会在9月16日网络分论坛上,阿里巴巴资深技术专家曹政向与会者做了题为《高性能网络驱动极致智能计算》的演讲。

创新互联公司专业为企业提供梅州网站建设、梅州做网站、梅州网站设计、梅州网站制作等企业网站建设、网页设计与制作、梅州企业网站模板建站服务,10余年梅州做网站经验,不只是建网站,更提供有价值的思路和整体网络服务。

阿里巴巴资深技术专家曹政

曹政:非常荣幸和大家分享我们在智能计算领域对网络的一些思考,我现在负责大计算基础设施相关的工作,今天重点以网络的视角来讲一下计算的事情。

智能计算正在加速向各行各业渗透,因为这次疫情事件让大家了解到了智能大健康领域,包括药物研发、基因切片、个体化健康体系,计算处理模式正在这些行业发生着变化,尤其是AI+BigData+HPC正在融合作用于这些领域,其中AI大量被用于发现特征和预测,Big Data是做搜索和高维数据处理,HPC是做模拟和复杂计算。我们发现这种计算模式在向越来越多和新基建有关的国计民生行业渗透,包括教育、交通和气象等等,只是具体要求上有些区别。平时大家都经常用淘宝,这其中商品搜索、智能客服、个性化推荐等大家应该都有体感,搜到的东西非常符合心意,背后都有大量的智能算力在支撑。阿里现在每天要处理10亿条图像、120万小时的视频、55万小时的语音和5000亿自然语音处理,所以就是大量的算力支撑的能力,也是让大家的购物更加便捷。

因此从智能的角度进行更广义的观察,我们正处于算力为王的大计算时代,不断智能化的大计算时代,会有四个不同的发展阶段,这几个阶段的具体形态会并存:首先就是当前的云,通过虚拟化技术实现资源的软性分配,然后把IaaS资源的使用变得低门槛,之后我们就会进入高性能的智能云时代,原来只是一个算力,现在要求以更智能的、性能更高的算力,融入“聚”的能力,“聚”和“分”变得同等重要,这也是一个云原生技术让PaaS变得普及的时代。再往后就是边端云一体,泛在智能时代,只不过还需要一定时间成熟和迭代。再往后发展就依赖于一些新的计算能力,比如光计算,但需要更长的时间才能达到实用,所以当下我们关注的还是第二个阶段,且称为Big Computing 2.0,重点是两个部分:高性能的计算,叠加基于硬件的强资源弹性。

高性能的计算极为依赖于高性能的通信,真正应用的性能来自于计算和通信两个部分,随着我们的处理器性能越来越高,加上GPU等异构计算芯片出现,使得计算速度变得越来越快,但是缩短一点计算时间是对整个应用性能的提升可能大大折扣,因为通信时间并没有缩短,换句话说就是计算算得越快通信瓶颈问题就越大。图中是一个大规模分布式应用的例子,随着系统规模的扩大,可以看到使用高速网络和使用低速网络得到的应用性能剪刀差越来越大,换句话说,低速网络下的算力是不可扩展的。这个问题正在变得越来越严重,因为计算性能的提升速度远超网络,计算和通信能力的剪刀差也已经快速扩大,通信落后于计算一定会使得通信成为整个应用的巨大瓶颈。

我们看几个具体的例子,首先是稠密计算类的AI,所谓稠密计算就是计算密集,取少量数据来做大量的计算,理论上通信对性能的影响会小,但随着计算规模的扩大也开始变成问题。拍立淘大家应该都用过,每天都要处理大量图片,刚开始我们做的是百万商品的识别,大概有20亿的参数,现在做到千万商品的识别,识别参数达到了50亿,但还远远不够,已经在做亿级商品识别。过去AI模型还不够大的时候,整个模型都可以放到单块GPU显存中,这样只是让不同的GPU计算不同的数据集而已,然而现在我们必须使用模型并行,一个模型被分割到多块GPU中,本来存在于单GPU内的通信流量,变成了GPU间流量,网络的压力突然爆炸起来。实际测试中,使用25G的网络测试的话,整个运行时间通信占比已经超过50%,也就是说一半以上都是在做通信,算力被大量浪费,这是非常恶劣的状态。

其次是稀疏计算类的AI,它是取了大量数据,但只做一点点计算,正好与稠密型是反过来的。这种模式广泛存在于广告搜索推荐。淘宝上面有上亿的商品,每个用户又有各种各样的行为特征,商品的特征、人的行为特征都会形成一个巨大的向量作为输入进行预测,这个向量里大部分的取值都是零,所以要取回足够多有效的数据来填满计算,就面临巨大的挑战。当前的特征值就已经超过百亿,它还在变得越来越大,也就是向量还在变得越来越稀疏,对应的就是巨大的通信压力,稀疏类的比稠密类的通信要求更高,通信不再是配角,占据了一半以上的运行时间。

面对上述的挑战,我们做了阿里云EFlops AI算力集群方案,旨在支撑E级的AI算力,提供端对端从硬件到软件的解决方案。今天我主要介绍的是这个系统在通信方面的全面优化,通过软硬件协同的方式达到极致的通信性能,释放整个集群的算力。大概分为三个方面:硬件集群架构、通信库(软硬件结合的部分),再就是算法模型。

首先大家要做的就是修路,阿里巴巴是全球规模的RDMA网络实验,图中是3月份公开的报道,我们采用100G的RoCE网络实现微秒级的通信性能,很重要的就是规模化,依赖于自研拥塞控制和智能连接切换解除大家刚才提到的无损网络规模化问题,具体的算法细节是在2019年的Sigcomm论文当中发布,大家有兴趣的话可以去阅读。

整个系统也需要全面改造,传统的服务器结构是PCIE互联加速设备,所有加速设备之间通过PCIE树进行数据传输,这引入了服务器内的数据传输拥塞,我们做了一个网络化的改造,网络能力引入服务器内部,简单地说就是让每个加速器都拥有自己的网络接口,然后和外部进行直接通信。好处就是所有加速器间通信旁路了CPU,加速器和网络间通信也是直通,每个组件都有了网络的能力,同时也把网络的QoS能力引入其中。

改造服务器之后我们就要适配新服务器来做网络结构,我们提出的是Bi-Graph拓扑,特别针对多网卡服务器的一种拓扑,这种网络具有高等分带宽的特点,同时通过算法和架构的结合可以做到类似于全互联的性能,因为这是一个非常扁平的拓扑,所有资源都被平等地被接入网络之中,对资源池化非常友好。

硬件结构的发挥依赖于软件,只有有了软件才能把硬件能力发挥出来。我们研发了AlibabaCollective Communication Library,充分发挥硬件架构的能力,当然我们也在通用架构上对它进行了充分的优化。ACCL支持灵活的层次化传输优化,可以为不同层次,比如服务器内,机柜内和机柜间,自由地定义不同的算法,同时它会在实际部署的物理拓扑中抽象出来逻辑的Bi-Graph拓扑,然后在此之上发挥优势来做算法,自研拥塞控制协议LEAP-CC也都集成在ACCL实现当中。右图中的是无损网络的典型性能曲线,就是随着网络负载的提升,会达到一个饱和点,一旦达到饱和点之上,延迟可以达到超线性的拉升,所以如果你想得到所谓的低延迟,一定要让网络处于饱和点之下,这是低延迟的关键,我们通过网络无拥塞算法来实现,不同的颜色就是不同的通信迭代,每次迭代选取的路径绝对是不发生重叠的,就是从根本上不发生拥塞,达到的结果也是非常显著的,512卡的规模测试的话ACCL的性能已经是NCCL通信库的6.77倍,消息越大效果越明显。

我们还会在更上层的算法层面来保证通信开销的降低,比如这个工作,通过迭代几步之后再做通信,来大幅降低通信的次数,这个工作的核心是减少通信的同时还能够保证计算的收敛,这个工作在AAAI 2019上有公开。

我们看一下经过各种通信优化后,对应用性能的影响,比如拍立淘千万分类模型,相比传统50GTCP网络,我们提升了2.5倍的性能,BERT对通信更加敏感,剪刀差也更大,右图更直观地展示了通信优化对于计算资源利用率的效果,如果性能扩展性不好的话,3000多张GPU卡的算力只能发挥出1000多张,其它的算力都被通信消耗掉了,使用我们的通信优化后,相当于多发挥出了1800多张卡的算力。

强资源弹性也是依赖于高性能网络,包括软件池化和硬件池化,软件池化比较成熟,硬件池法还在工作之中。软件方法就是将本地的算子通过高性能网络转发到远程执行,有软件的介入,因此性能和框架侵入性上存在不足,而硬件池化会通过超低延迟网络,亚微秒级别的网络,把原来属于服务器内的资源拉远,实现对上层软件的透明,这对网络性能的挑战非常高。从这张性能评测图上可以看到,软件池化在CNN类应用下的表现还是不错的,性能基本上不会有太大的下降,但是对于其他一些通信敏感的场景存在不足,所以硬件池化是我们研发的方向。

未来对于高算力类应用,首当其冲的需求还是更快、更宽、更大规模的网络,其中包括400G的网络,Lossy RDMA等,其次是更智能的网络,需要网络提供更多的信息,让端侧更智能地选路,甚至一些计算要发生在网络之中。未来,网络和计算的关系将会更加紧密,因为模型和数据混合并行已经形成趋势,推理和训练混合部署正在发生,更大尺度的AI+Big data+HPC发生融合,这些都对绝对性能以及性能隔离提出更高的要求,大计算的发展依赖于更高性能的网络。


文章题目:阿里巴巴资深技术专家曹政:高性能网络驱动极致智能计算
文章起源:http://azwzsj.com/article/choohd.html