9月8日,Intel FPGA技术大会(IFTD)在杭州举办,我和鹏起共同参加了这次技术大会。会上Intel对FPGA未来发展的技术路线和应用场景进行了介绍,并且给我们带来了应用在未来FPGA上的一些新技术。本文着重介绍未来的FPGA和基于FPGA的硬件平台会具有哪些新的功能和特点,以及这些功能和特点对我们互联网企业和云计算的价值。
什么是FPGA
首先向大家介绍一些什么是FPGA。FPGA(Field-Programmable Gate Array)是现场可编程门阵列的英文缩写。简单来说,FPGA就像是一块空白的数字电路,开发者可以通过编写硬件代码的方式来设计一个数字电路,代码编写完成后,类似软件代码中的编译过程,FPGA的综合器会对代码进行综合、布局布线,之后会生成一个二进制文件,将这个二进制文件烧写到FPGA后,原本空白的FPGA就变成了开发者设计的电路,这就是“现场”和“可编程”的含义。同时,FPGA可以反复擦写,通过烧写不同的二进制文件来实现不同的功能。
因此,FPGA是介于专用集成电路(ASIC)和处理器之间的一种硬件。长期以来,FPGA广泛应用于信号处理、ASIC验证等领域。由于FPGA具有高度可定制的特点,因此在FPGA上做计算具有“天然”的并行性,同时,FPGA还具有低功耗的特点。近年来,随着深度学习等计算密集型业务的发展,FPGA并行计算的特性和低功耗的特点受到了互联网企业的关注,越来越多的人在研究如何在数据中心中发挥FPGA的优势。
Xilinx和Altera是世界上最大的两家FPGA厂商,两家厂商共同占据了FPGA市场将近90%的市场份额。在2015年,Intel以167亿美元,11%的溢价完成了对Altera的并购,并购后的Altera成为Intel可编程技术事业部。此次并购足以见得Intel非常看重FPGA在其生态体系中的作用,可以从中看到Intel携手FPGA进军数据中心的决心。下图为一Altera的FPGA芯片。
在这样的背景下,Intel在本次FPGA技术大会上给大家了新一代FPGA产品的特性和FPGA未来发展的蓝图。
FPGA的优势与不足
在介绍新一代FPGA之前,我们先回顾一下传统FPGA在数据中心和互联网的业务场景下都有哪些优势与不足。
优势
低功耗与性能价格比
低功耗是FPGA最引人注目的优势。FPGA计算的绝对性能并不如GPU,但是企业级GPU的功率通常高达数百瓦,而FPGA的功率可以低至20w以下。低功耗带来的直接收益是省电,而在数据中心中,低功耗的意义不仅仅是省电。一台服务器在机房中消耗的成本里,机柜成本占有相当大的比例。通常来说,一整个机柜的成本是固定的,并且具有一个功率上限,因此,机柜中放的机器越多,单个机器平摊下来的机柜成本就越低。由于GPU的功耗很高,一个机柜仅仅能够承受寥寥数台GPU机器的功耗,导致GPU机器的单机成本很高。而FPGA机器功耗低,机柜密度可以做大,从而减低FPGA机器的单机成本,因此,虽然FPGA计算的绝对性能不如GPU,但FPGA在性能价格比方面具有潜在的优势。对于云计算来说,FPGA能够很好地满足这对价格和成本更加敏感的用户需求。
计算并行性与流水线
FPGA设计可以做到全定制,设计者可以精确控制FPGA内部所有的逻辑单元、寄存器和数字运算单元在任何一个时钟周期的行为。因此,FPGA上所有的运算单元都可以同时工作,在计算时具有天然的并行性。除此之外,开发者还可以精确地控制流水线,最大程度地对计算单元加以利用。FPGA在计算方面具有的并行性,使其适用于以深度学习为代表的各种并行计算的业务场景。
可重置与弹性
FPGA内部的逻辑可擦写,可以通过烧写不同的二进制文件来使FPGA实现不同的功能。相比于ASIC加速方案,FPGA可重置的特性显然使其更加灵活。更加重要的是,可重置的特性使得FPGA支持的服务具有弹性,比如当某个业务的高峰期到来时,FPGA可以刷新成支持该业务的加速核,当高峰期过去后,FPGA再刷新成其他功能,支持其他业务。弹性是云计算至关重要的特性,相信FPGA的弹性对于服务云端的业务具有很大的潜力。
不足
浮点计算
多数的计算场景中数据类型都是浮点型,比如深度学习、地球物理、流体力学甚至基因计算、高频交易等。而传统的FPGA中并没固化在FPGA内部的浮点运算单元。传统FPGA中的运算单元都是定点的,如果需要浮点运算,必须利用定点的计算单元和逻辑资源去构建“软”的浮点运算器,用这种方法在FPGA做浮点运算不仅仅无法获得良好的计算性能,还会占用大量的资源。
存储与带宽
FPGA片内有存储资源,在FPGA内部,数据可以非常灵活地在计算单元和存储单元之间转移。但是FPGA片上的存储资源极为有限,典型的大小为50Mbit左右。有限的容量远远无法满足数据庞大的计算密集型业务。通常只能通过外挂DDR来弥补存储资源的不足,但外挂DDR后,访存的带宽往往会成为计算的瓶颈。
时钟频率
FPGA的另一个弱势是时钟频率过低。无论是CPU还是GPU,主频的频率动辄在2到3GHz甚至更高,而FPGA工作的典型频率在200-400MHz之间,由此可见,较低的时钟频率成为制约FPGA性能的因素之一。
新一代FPGA特性
在此次大会中,Intel为我们带来了新一代FPGA的介绍,可以看出,为了使FPGA更具有竞争力,Intel对FPGA的不足之处进行了针对性的改进。10系列的FPGA是Altera最新一代的FPGA,其中Arria系列是Altera的中端系列,更注重性价比,Stratix系列是Altera高端定位的FPGA,具有更好的性能。Arria10系列的产品已经量产并且上市,Stratix10系列计划在明年上市。
浮点DSP硬核
为了解决FPGA浮点运算的问题,Altera在其Arria10系列的产品中推出了业界第一款带浮点硬核的FPGA。相比于用逻辑资源和整形运算单元组合成的浮点运算软核,固化在FPGA内的硬核经过优化与定制,具有更强的性能。以Arria10GX1150这款FPGA为例,其内部具有1500个以上的浮点硬核,同系列FPGA最高浮点性能可以达到1.5TFLOPS。在Stratix10系列的FPGA中,DSP数量最多可达5000个以上。
HyperFlex架构大幅度提高时钟频率
在传统的FPGA中,时钟频率受限于关键路径,有限的资源导致的布线拥塞会使得信号在关键路径上的时延增加,从而降低了时钟频率。通过时序重排的方法理论上可以一定程度上解决时序问题,但是使用这种方法需要依赖额外的寄存器,但寄存器的数量是有限的且位置固定,这使得时序重排的方法只能发挥有限的作用。Stratix10 FPGA采用HyperFlex架构,在这种架构中,FPGA内部增加了大量的可旁路寄存器,在这些旁路寄存器的帮助下,时序重排方法可以最大程度地发挥作用,较少信号在关键路径上的延时,从而提高FPGA的时钟频率。在Stratix10的时钟频率相较于传统的FPGA可以提高2倍以上。结合5000+的浮点DSP,Stratix10的单精度浮点性能可达10TFLOPS。
系统级封装技术(SiP)
由于FPGA片上存储资源很少,通常需要通过外挂DDR的方法解决存储资源不足的问题,在这种情况下,访问带宽往往成为瓶颈。Stratix10采用SiP技术,将HBM(High Bandwidth Memory)和FPGA封装到一起,在这种结构中,存储资源从片外到了封装内,从板内互联变成封装内互联,大幅度提高了FPGA访存的带宽,和传统的外挂DDR相比,Stratix10的访存带宽可以提高10倍。
工艺
Intel并购Altera后,Stratix10系列的FPGA将使用Intel 14nm的工艺。在14nm工艺中FPGA资源的密度更高,单位面积上集成的资源会更多。同时,作为IC界的老大,Intel的半导体工艺非常成熟,成熟的工艺也使得流片的良率提高,降低FPGA的成本。同时,Stratix10可以支持更低的供电电压,在Intel的工艺中FPGA的半导体参数也可以进一步调优,更低的电压和更优的参数会使Stratix10的功耗进一步降低。低成本和低功耗进一步增强了FPGA在计算的性能价格比方面的优势。
智能FPGA
除了上述的特性之外,Altera还对未来FPGA的规划了智能特性。比如,传统的FPGA在下载和调试时依赖很多现场操作。而未来的FPGA会具有远程控制和调试的功能,便于对FPGA进行远程原理,增强了FPGA的可运维性。同时,FPGA将来还可以支持资源监控的功能,比如监控DDR带宽,cache miss等。
从此次Intel介绍的FPGA未来的技术路线上可以看出,Intel携手Altera投入了大量的资源,非常有针对性地对FPGA当前的弱点进行了弥补。Stratix10系列的FPGA非常值得我们期待。
CPU+FPGA平台
Intel并购Altera后,另一大亮点是Intel将推出CPU+FPGA架构的硬件平台,本次大会Intel也为我们带来了该平台的最新介绍。该平台预计于2017年量产,届时,一片Skylake架构的Xeon CPU和一片Stratix10的FPGA将“合二为一”,在流片时就将两者集成在一起,彻底打破两者之间的界限,使FPGA获得高带宽、低延迟的数据通路,这使得FPGA能够更紧密地为CPU提供加速功能。在这种形态中,FPGA加速核不再作为外部设备,而是本身就成为了CPU的一部分,更够更友好地被CPU开发者利用,甚至在未来,CPU地开发者都不必“感知”到FPGA的存在就可以充分利用FPGA来加速自己的业务。
然而,CPU+FPGA的平台对我们阿里云技术创新团队来说已经不陌生,我们团队早在一年多以前就多Intel的CPU+FPGA平台展开了预研。目前已经做了RSA加解密和深度学习方面的加速研究。具体情况欢迎大家咨询阿里云HPC团队的以亭、鹏起和甘泽。
总结
由于FPGA在功耗、性能价格比方面具有的竞争力,进军数据中心成为FPGA发展方向之一,Intel在并购Altera后,也对FPGA投入了大量的资源。Intel在本次Intel FPGA技术大会上为我们介绍了新一代FPGA的强大功能和潜在的应用场景,相信FPGA在未来应用值得我们期待。我们技术创新团队已经对FPGA做了很多研究工作,在未来我们会投入更多的资源,更加深入地对FPGA的应用和优化展开研究。
注:CPU+FPGA平台的图片来自互联网