阿里巴巴服务器在哪里 阿里巴巴服务市场入口

EFLOPS服务器架构传统服务器架构的瓶颈主要来自内部PCIe结构树互连。首先,传统的数据中心服务器通常只配备一个网络接口(独立网卡或绑定网卡)。当服务器配备多个加速组件(如G

本文最后更新时间:  2023-02-25 23:16:47

EFLOPS服务器架构

传统服务器架构的瓶颈主要来自内部PCIe结构树互连。首先,传统的数据中心服务器通常只配备一个网络接口(独立网卡或绑定网卡)。当服务器配备多个加速组件(如GPU),通过网络接口并发传输数据时,会面临很大的流量汇聚,成为系统的瓶颈。这种同步网络访问在分布式AI训练任务中非常常见。一般AI的训练数据集是分几批的。每批数据处理完成后,所有参与计算的NPU加速器必须进行梯度同步。所有跨服务器的NPU梯度同步操作必须通过网络接口进行通信。这种周期性的同步网络接口访问将不可避免地导致网络接口上的拥塞。类似的端口拥塞也会发生在PCIe树拓扑的以下节点。每一批数据处理完成后,分布式AI训练业务会同步加载下一批数据,产生对内存的并发访问。

其次,PCIe交换机端口上的拥塞可能导致整体通信效率的降低。当NPU1和NPU3同时向NPU2发送数据时,会在与NPU2直接相连的PCIe交换机端口上形成拥塞。因为NPU1和NPU3到NPU2的通信距离不同,所以两者之间的带宽有明显的差别。AI训练任务的梯度AllReduce是一个全局同步操作,其完成时间往往受到最慢链路的限制,因此链路带宽的不公平也会导致系统性能的下降。

最后,由于各种原因,PCIe交换芯片往往只实现一条虚拟通道,导致QoS能力不足。这使得服务器中的各种流量没有隔离能力,造成了对带宽的无序竞争。

EFLOP服务器架构重点解决上述互连问题,服务器配备了与加速器(NPU)等量的网卡(NIC),并将NPU和NIC进行绑定配对,每一对绑定的NPU和NIC处于同一PCIe Switch之下,约束NPU的网络通信只能经由自己绑定的NIC。这样,NPU的网络通信流量全部被局限在PCIe Switch之内,避免了网络接口上的拥塞。针对PCIe Switch引入的拥塞问题,在PCIe流量较大的情况下,禁用NPU之间进行跨PCIe Switch通信,使其通过网络接口进行数据交换,利用网络协议栈的流量控制机制来降低系统的拥塞程度。值得强调的是,网络化服务器架构是一个开放的架构,可为各种加速器提供高速互连,对于自带直连总线(如英伟达的 NVLink)的加速器同样兼容,利用其直连总线实现更高带宽通信。

EFLOP服务器架构致力于解决上述互连问题。服务器配备了与加速器(NPU)相同数量的网络接口卡(NIC ), NPU和NIC是绑定配对的。每对绑定的NPU和NIC都在同一个PCIe交换机下,这限制了NPU只能通过其自己绑定的NIC进行网络通信。这样,NPU的网络通信流量全部被限制在PCIe交换机内,从而避免了网络接口上的拥塞。为解决PCIe交换机带来的拥塞问题,当PCIe流量较大时,禁止npu之间跨PCIe交换机通信,使它们可以通过网络接口交换数据,并利用网络协议栈的流量控制机制降低系统的拥塞程度。值得强调的是,网络化服务器架构是一个开放的架构,可以为各类加速器提供高速互联。也兼容自带直接总线的加速器(如英伟达的NVLink),利用其直接总线实现更高带宽的通信。

EFLOPS系统互连架构

系统互连架构

大多数数据中心采用Clos拓扑,Clos拓扑提供高截面带宽和可扩展的基本通信能力。但是,由于路径选择的哈希算法总是有碰撞的可能,网络中的拥塞是无法避免的。与传统的只优化拥塞控制算法的思想相比,EFLOPS从更高层次的架构上管理网络流量,彻底解决网络拥塞问题。

配合EFLOPS多网卡服务器结构,阿里巴巴工程师开发了BiGraph扁平拓扑,分为上下两组。每组交换机与另一组交换机完全互联,同一组交换机之间的数据交换需要另一组交换机进行转发,这样每个交换机在Clos网络中就扮演了主干和叶子的角色,最大跳数只有3跳。偶图拓扑有以下两个重要特征。

1.它在两层交换机之间提供了丰富的物理链路资源。在N台计算服务器的系统中,两层交换机之间至少有N/2条物理链路可用。这意味着我们有机会将halve-double all reduce算法的所有连接一一映射到可用的物理链路上,从而避免它们之间的链路争用,彻底解决网络拥塞问题。

2.接入不同层次的任意两个计算服务器之间的最短路径具有唯一性。工程师可以充分利用这一特性,在通信库甚至更高层次进行服务器间通信模式的管理。比如,在建立连接的时候,选择合适源和目的服务器,来控制网络上的路径选择。

2.任何两台访问不同级别的计算服务器之间的最短路径都是唯一的。工程师可以充分利用这一特性来管理通信库中甚至更高级别的服务器之间的通信模式。例如,建立连接时,选择适当的源服务器和目标服务器来控制网络上的路径选择。

重排序减半加倍算法示意图

通信软件是发挥BigGraph拓扑优势的关键。阿里巴巴自己开发了ACCL(阿里巴巴集体交流库)。首先在物理网络中建立大图虚拟拓扑,然后基于这个虚拟结构实现无拥塞的集体通信算法。无拥塞集通信算法是阿里巴巴在标准二分算法的基础上提出的一套新的重排序二分算法,实现了通信连接与二分图拓扑之间的完美映射,从根本上避免了路由冲突。

与目前最流行的Ring AllReduce算法相比,EFLOPS算法更有利于大规模的性能扩展。RingReduce非常适合传统的单网卡服务器架构。每一步需要传输的数据量较小,采用单向环网传输,但需要O(N)步,延迟随着系统规模的扩大而线性增加。二分一倍算法通过增量和二进制的方法快速实现数据传输,只需要O(logN)步,但每一步要传输的数据量都大于环AllReduce,正好适合EFLOPS的互连网络能力。

Re-ranking Halving-Doubling算法的核心是根据每个进程的物理位置,重新排列该进程对应的排名,结合节点之间的同步策略,使得任何时刻任何点到点的数据传输都能独占一条物理链路,从而有效地避免了网络拥塞,理论上能够达到线速的传输。以8台服务器,每台服务器包含4个加速器的系统为例,对该算法进行说明,其中方形表示交换机,圆圈表示加速器,圆圈里的数字表示重新排列后新的排名。连线代表交换机之间的物理连接,不同颜色代表不同步骤下使用的路径。按照重新排列后,可以看到算法的任何一个步骤,同一个主机的四个加速器走的都是不同的直连链路,这样保证了数据经过的路径最短,且加速器间的数据传输路径没有冲突。

重排序减半-加倍算法的核心是根据各个进程的物理位置重新排列其排序,并结合节点间的同步策略,使得任何时间任何点到点的数据传输都可以独占一条物理链路,从而有效避免网络拥塞,理论上实现线速传输。以一个有8台服务器,每台服务器有4个加速器的系统为例,说明了算法,其中正方形代表交换机,圆圈代表加速器,圆圈内的数字代表重排后的新排名。有线表示交换机之间的物理连接,不同的颜色表示不同步骤中使用的路径。根据重排可以看出,在算法的任何一步,同一个主机的四个加速器走不同的直接链路,保证了数据路径最短,加速器的数据传输路径之间没有冲突。

通信性能比较图表

EFLOPS AI集群性能

只要多机多卡环境不需要大规模,EFLOPS集群架构就能发挥明显的性能优势。在64块GPU卡(NVDIA V100 32G显存)的小型集群中,AllReduce set通信的性能测试表明,采用不同的AllReduce算法,EFLOPS集群的硬件设计可以将通信效率提高2.3~11.3倍。EFLOPS算法架构协同算法可以进一步提高通信效率1.4~7.3倍。随着系统规模和网络拥塞概率的增加,EFLOPS AI集群的通信性能优势更加明显。

在这个64 GPU卡测试场景中,Beatrice Million分类大模型的端到端性能提升了2.2倍。自然语言处理领域广泛应用的BERT预训练模型评测在EFLOPS集群中,BERT的通信开销大幅降低,仅使用EFLOPS硬件就可以将通信性能提升2倍。在ACCL通信库的支持下,整体性能提高了2倍,通信性能提高了4倍。

温馨提示:内容均由网友自行发布提供,仅用于学习交流,如有版权问题,请联系我们。