IBM打造的新服务器架构之中的中流砥柱Xilinx FPGA

作者:蒙面侠客

背景:
FPGA(Filed Programmable Gate Arrays)在数据中心服务器中开辟道路,他们被用作加速器来促进单个服务器节点的计算能力,从而增加了整体服务器的计算效率。与此同时,数据中心的服务器基础架构被重新设计,在同样的体积和同样的功耗的情况下能够使承载更多的计算量。这种重新设计将不同于传统的服务器,服务器由多个服务器节点组成,每一个服务器节点用独立的处理器,FPGA,内存,存储模块等组成。

为了跟随服务器发展的潮流,IBM公司发展了一种平台,将FPGA和服务器的CPU分离,直接将FPGA连接到数据中心的网络之中。这种解决方案将会使FPGA作为一种单独的计算单元,将多个FPGA单元形成的集群用于新兴的超大规模数据中心中使用的服务器。IBM的研究室里,科研人员将64个Xilinx公司的Kintex UltraScale XCKU060 型号的FPGA集成到一起形成一个服务器插片单元,能够达到最大带宽640Gb/s。将16个基本的插片单元集成在一个服务器的柜子上,便形成了一个有着1024个FPGA和16TB的2400Mb/s的DDR4内存的服务器。这个平台充分考虑了成本效率,使用水冷的方式实现了最优的能量效率。

图.1 FPGA、DDR4内存颗粒、PSoC所组成的数据处理单元

图.1 FPGA、DDR4内存颗粒、PSoC所组成的数据处理单元

将传统的服务器架构变换成为多个服务器节点的集合,每个服务器节点都由标准的计算单元、内存、存储单元等组成。如图.1所示,展示了标准的基于FPGA的计算单元的板卡,板卡所用的FPGA是来自Xilinx的Kintex UltraScale XCKU060,板卡上还有一大堆的DDR4 SDRAM以及一个包含有ARM Cortex-M3处理器的PsoC,可过USB对单个服务器节点进行日常的管理。在FPGA中实例化了一个10GBASE-KR 10Gbps的以太网NIC。将32个这样的板卡放到PCB背板上,背板上有一个Intel的FM6000多层转换芯片,如图.2所示,可以将10GbE的信号转化为8个40GbE的光信号。改变FPGA到CPU的连接方式,通过40GbE的网络控制器接口将FPGA作为单独的资源直接连接到数据中心的网络中。将FPGA从传统的通过总线链接到CPU的方法中解放出来,使FPGA在数据中心的大规模部署成为可能。将传统的机架式服务器和刀片式服务器变成了许多微服务器节点的集合体,通过共享例如电源供给、PCB背板、网络链接等服务器资源来提高服务器的集成度,从而大大提高服务器的单位价格的性能参数(performance-per-dollar)。详细内容见IBM的论文,“An FPGA Platform for Hyperscalers,”发表在2017年8月的IEEE Hot Interconnects Conference上。

图.2 由16个基本FPGA数据处理单元组成的半个服务器插槽单元

图.2 由16个基本FPGA数据处理单元组成的半个服务器插槽单元

通过将除处理器、本地内存、启动存储的所有其他外设全部抛弃来增加服务器的密度,实现SoC(System-on-a-chip) Server。FPGA在高密度服务器中所扮演的角色不可小觑。他们在新架构服务器中可以扮演网络加密、网页归类、内存缓存、深度学习、高频交易、身份验证以及私密数据保护等角色。

总结:
比较通过网络接口连接的新的FPGA的平台和PCIe连接的FPGA平台可知,分立的FPGA平台的延迟大大的减小了,吞吐量增加了。这些结果将使搭建的新的服务器平台在云计算、深度学习中的应用、HPC的应用、数据管理的应用中有着很大的发展空间。同时,Xilinx的Kintex® UltraScale™器件有着很好的性能价格比,支持100G的数据中心的网络,还支持医学成像、8K4K视频、多向无线设备等,支持2400Mb/s的DDR4内存,相比于上一代产品功耗降低了40%,这些优点可以协助科研工作者开发出更多高性能的产品。

声明:本文为原创文章,转载需注明作者、出处及原文链接