服务器 频道

新趋势:FPGA协处理器为HPC加速

    【IT168 专稿】随着计算机技术的发展,人们开始把它应用到越来越多的领域,例如金融分析、科学计算、网络服务应用、医疗成像等等。虽然这些不同领域有着各异的应用程序和算法,但对于高性能的计算机而言,它们共同的需求就是,对程序要有强大的执行效率,并且能够实现较快的计算速度。

    为了提高HPC的计算能力,在最近的几年中,人们开始把其他各种高性能架构开始向机群系统转移。然而,目前的机群系统大多还是传统的CPU,为了追求计算能力,仅仅是不停的增加计算节点,最终服务器会堆到机房外面。

    如果在HPC系统中的计算节点上加入FPGA(现场可编程门阵列)作为协处理器,通过对FPGA进行特定程序算法优化,可以大大提高对特定应用程序的执行效率,同时还可以大大降低系统的功耗,并降低系统TCO。

    随着主流服务器芯片厂商中AMD和Intel先后开放了CPU接口总线IP核,使得FPGA同CPU总线直接接口变得更加容易,而不需要再采用IO接口进行设计专门的协处理IO卡。目前已经有大量的厂商开始提供相关的协处理器。

HPC变迁趋势和机群架构的新问题

    对于高性能计算(HPC),其特点是计算能力强,一般为特别设计的超级计算机。之前的超级计算机架构多是SMP、MPP、SMD等,图1所示为TOP500中HPC的架构变迁。

    集群(Cluster)技术是近几年兴起的发展高性能计算机的一项技术,采用Cluster体系结构集群系统,具有可自由伸缩、高度可管理、高可用、高性能价格比等诸多优点,从图1中我们可以看到机群系统逐渐在HPC应用上取代MPP开始占据主流位置。

 图1 TOP500中系统架构发展情况

    虽然机群系统有着上述种种优势,但由于使用了通用的处理器,随着应用对计算能力需求的日益增加,人们不得不被动增加计算结点数目,增加CPU数目来应对计算能力需求的提升。目前的机群系统从原来的几十个计算结点,到现在的成百上千个结点,甚至到不远的将来上万个计算结点,机群系统的不足也随之日趋明显。主要体现在:第一、受机柜高度和传统1U机箱的限制,计算密度比较疏松,而且密度无法突破;第二、安装维护工作量和成本过大;第三、对于大规模机群,功耗日趋成为瓶颈;第四、智能而有效的管理监控成为大规模机群系统新的挑战。所有这些问题都会导致数据中心的整体拥有成本的增加(TCO),这对于长期运营的数据中心而言,是最不想看到的。

    而最大的问题在于,对于所有的应用而言,都采用同样的CPU进行运算处理,而像金融分析、生物计算、科学计算,对CPU资源的需求是不同的,因此采用同样的系统,就不能够实际获得机群系统所标称的性能。

    目前,人们开始寻找一种替代方式,可以看到的是采用基于FPGA的协处理器来加速应用软件的关键算法执行。这种方式类似于以前提出过的在C++代码中的内层循环采用汇编语言来直接编写,以优化关键程序运行。

    相对于目前的X86处理器而言,FPGA一般都运行在比较低的时钟频率下,优势在于有着较高的内存带宽、突出的并行处理能力和出色的根据应用环境的硬件定制化能力。如果同在服务器上增加一颗处理器/内核比较,仅仅在服务器上增加一颗FPGA的协处理器,一般情况下性能可以提高2至3倍,而功耗则可以降低40%,根据应用情况进行算法优化的话,最大可以提高性能达10倍。

0
相关文章