39,146
次編輯
變更
FLOPS
,rollbackEdits.php mass rollback
{| class="wikitable" align="right"
|-
| style="background: #008080" align= center| '''<big>FLOPS</big> '''
|-
|
[[File:C8ea15ce36d3d539cb6defe43287e950352ab041.jpg|缩略图|居中|[https://i01piccdn.sogoucdn.com/ae413be0808ed686 原图链接][https://pic.sogou.com/pics?ie=utf8&p=40230504&interV=kKIOkrELjbgQmLkElbYTkKIMkrELjbkRmLkElbkTkKIRmLkEk78TkKILkbHjMz%20PLEDmK6IPjf19z%2F19z6RLzO1H1qR7zOMTMkjYKKIPjflBz%20cGwOVFj%20lGmTbxFE4ElKJ6wu981qR7zOM%3D_844253275&query=%E9%AB%98%E7%A3%81%E5%AF%BC%E7%8E%87%E6%9D%90%E6%96%99 来自搜狗的图片]]]
|-
| style="background: #008080" align= center|
|-
| align= light|
|}
'''FLOPS'''(即“每秒浮点运算次数”,“每秒峰值速度”)是“每秒所执行的浮点运算次数”(floating-point operations per second)的缩写。它常被用来估算电脑的执行效能,尤其是在使用到大量浮点运算的科学计算领域中。正因为FLOPS字尾的那个S,代表秒,而不是复数,所以不能省略掉。在这里所谓的“浮点运算”,实际上包括了所有涉及小数的运算。这类运算在某类应用软件中常常出现,而它们也比整数运算更花时间。现今大部分的处理器中,都有一个专门用来处理浮点运算的“浮点运算器”(FPU)。也因此FLOPS所量测的,实际上就是FPU的执行速度。而最常用来测量FLOPS的基准程式(benchmark)之一,就是Linpack。
=='''简介'''==
传统服务器架构的瓶颈主要来自内部PCIe Fabric树形互连。首先,传统的数据中心服务器通常只配备一个网络接口(独立网卡或者Bond网卡),当该服务器配备多个加速部件(比如GPU)并通过网络接口并发传输数据时,就会面临很大的流量汇聚,使其成为系统的瓶颈。而这种同步式的网络访问,在分布式AI训练任务中非常常见。AI训练的数据集一般被划分为多个批次,每个批次的数据处理完成之后,所有参与计算的NPU加速器都要进行梯度的同步。跨服务器的NPU梯度同步操作都要通过网络接口进行通信。这种周期性的同步式网络接口访问,势必导致网络接口上的拥塞。类似的端口拥塞还会发生在PCIe树形拓扑的跟节点处。分布式AI训练业务在每个批次的数据处理完成之后,会同步载入下一批次数据,导致内存的并发访问。其次,PCIe Switch端口上的拥塞可能导致整体通信效率的降低。当NPU1和NPU3同时向NPU2发送数据时,将会在与NPU2直接相连的PCIe Switch端口上形成拥塞。由于NPU1和NPU3到NPU2的通信距离不同,导致二者之间具有显著的带宽[[差异]]。而AI训练任务的梯度AllReduce是一个全局性的同步[[操作]],其完成时间往往受限于最慢的链路,所以这种链路带宽的不公平性也会导致系统性能的下降。
=='''评价'''==
EFLOP服务器架构重点解决上述互连问题,服务器配备了与加速器(NPU)等量的网卡(NIC),并将NPU和NIC进行绑定配对,每一对绑定的NPU和NIC处于同一PCIe Switch之下,约束NPU的网络通信只能经由自己绑定的NIC。这样,NPU的网络通信流量全部被局限在PCIe Switch之内,避免了网络接口上的拥塞。针对PCIe Switch引入的拥塞问题,在PCIe流量较大的情况下,禁用NPU之间进行跨PCIe Switch通信,使其通过网络接口进行数据交换,利用网络协议栈的流量控制机制来降低系统的拥塞程度。值得强调的是,网络化服务器架构是一个开放的架构,可为各种加速器提供高速互连,对于自带直连总线(如英伟达的 NVLink)的加速器同样兼容,利用其直连总线实现更高带宽通信。<ref>[https://baijiahao.baidu.com/s?id=1693638032252966902&wfr=spider&for=pc FLOPS]搜狗</ref>
=='''参考文献'''==
[[Category:470 製造總論]]