会员登录 注册新帐号电脑店行业门户 | U盘启动工具

首页

 电脑店主页 > 产品技术 > 服务器储存 > 服务器 > HPC > HPC市场巨变中的FPGA:正成为GPU的有力竞争者

HPC市场巨变中的FPGA:正成为GPU的有力竞争者

发布时间:2016-11-26 14:32      点击:     关注官方微博:

2014年,Altera公司发布了一则在当时并未引起太多关注的新闻,该公司在FPGA中集成了硬核IEEE 754兼容浮点运算功能,根据当时的计划,硬核浮点DSP模块将集成在正在发售的20nm Arria 10 FPGA和SoC中,也将集成在14nm Stratix 10 FPGA和SoC中,DSP设计人员可以选择定点或者浮点模式,浮点模块与现有设计后向兼容。

这样做的好处显而易见,与传统使用定点乘法器和FPGA逻辑来实现浮点功能的做法不同,Altera的硬核浮点DSP几乎不使用现有FPGA浮点计算所需要的逻辑资源,释放了上千个乘法器和加法器,从而一举在Arria 10器件中实现了1.5 TeraFLOP (每秒浮点运算次数)和Stratix 10器件中10 TeraFLOP的DSP性能。

Altera此举在两年多前的高性能计算市场并未引发太大的关注,当时市场上的主要关注点都在GPU,或者说,都在NVIDIA所倡导的GPU与英特尔的至强融核(Xeon Phi)之间的技术和市场竞争上,FPGA在HPC市场的应用前景当时来看还有很长的路要走。

市场巨变中的FPGA:正成为GPU的有力竞争者

两年之后,市场发生了巨大的转变,为特定的业务应用负载设计、建设和部署特定的计算系统已经成为业界共识和主流供应商的共同选择,值得注意的是,业界普遍认为有两个方式:

第一,即英特尔和NVIDIA互相之间竞争激烈的众核架构,使用并行处理器体系结构,并行运行数千个浮点乘加小单元。算法被分成数万个线程,然后再将数据映射到计算单元中,主要就是NVIDIA的GPU方案和英特尔的Xeon Phi;

第二,就是FPGA,使用了流水线逻辑体系结构,是将几千个计算单元排列成流数据流电路,在矢量上运行,每一个内核在每一时钟周期产生矢量输出数据,矢量宽度由设计人员决定。

但不可否认的是,FPGA的性能和功耗效率在很多领域高于传统的CPU(比如英特尔的至强处理器)或是GPU众核产品,“尤其是那些需要高性能计算的行业(大数据分析、石油和天然气行业的地震建模、金融仿真、雷达和医疗成像等)。但其对定点模式并没有影响(性能、大小和功耗),且对管芯总体改变<1%。”

就高性能计算方面来说,FPGA方案的优势大致有三点:

首先,由于采用流水线逻辑体系结构,数据流的处理延时要比GPU低得多,在金融交易算法等某些应用中,这是关键优势;

其次,FPGA的GFLOPS/W性能要优于GPU,这在航空电子等环境不受控的应用中非常关键;

第三,FPGA具有很好的通用性和广泛的连通性。例如,FPGA可以直接与天线阵输入连接,完成定点和浮点处理,同时通过光纤或者背板链路与其他系统组件通信。

2015年6月,英特尔宣布以167亿美元收购FPGA市场仅次于Xilinx的供应商Altera,并于当年12月29日宣布完成了此项收购,并在2016年大力投入到FPGA的市场中来,Altera面向高性能计算市场的FPGA技术、产品与解决方案也就此更多的曝光在媒体和客户面前。受此推动,FPGA解决方案也越来越多的得到OEM和HPC客户的关注,包括浪潮等服务器和HPC系统供应商,也开始逐渐推动其FPGA技术及产品的市场发展。

浪潮发布F10A FPGA加速卡新品

在盐湖城举行的SC16大会上,浪潮集团副总裁胡雷钧正式发布了浪潮与英特尔联合研发的FPGA加速卡F10A,这是目前业界支持OpenCL的最高密度、最高性能的FPGA加速设备,在演讲中,胡雷钧也特别提到了FPGA在高性能计算领域的多项优势,阐述了浪潮在这一产品领域的观点。

浪潮与英特尔联合研发的FPGA加速卡F10A

“在现在的HPC市场我们需要一些新的解决方案,对一些新的办法进行更多的思考,比如说FPGA的解决方案,在能耗效率方面就要优于现在常见的众核(Manycore)架构和CPU架构。”

胡雷钧表示,(在执行特定工作负载时)FPGA的性能可以达到每瓦50GFlops,同时可以被设计为数据并行、任务并行等不同的产品并行模式,同时,FPGA卡在服务器内的密度也可以做的很高,“得益于很低的功耗,一台服务器可以同时插入多个FPGA卡,FPGA卡的延迟更低、扩展性更好,而且支持OpenCL,在编程环境和成熟度上也更好。”

不仅如此,FPGA的开发模式也在发生变化,胡雷钧提到,传统的基于RTL(仿真)的开发模式过于漫长和复杂,业界正在逐步建立新的FPGA开发模式,即FPGA的高级语言开发模式,“相比RTL模式,新的高级语言模式只需要3-10次的迭代,开发时间从原有的5-6个月,缩短到2-3个月即可拿到新的产品。”

CPU+FPGA解决方案在硬件架构和软件架构上都有着比较明显的简化优势,胡雷钧表示:“CPU+FPGA异构计算系统硬件架构中,FPGA内部采用标准总线结构,预置DDR控制器和各类接口单元如PCIE/UART、定时器等,OpenCL语言产生的算法模块很容易挂接在FPGA总线上;CPU+FPGA异构计算系统软件架构中,分为与FPGA平台无关的通用单元和FPGA平台相关的专用单元,通过软件架构的细分,可以仅通过改变部分底层驱动和硬件外围单元实现平台的升级或迁移,从而简化了FPGA平台软件系统设计。”

总之,CPU+FPGA的解决方案可以极大的简化硬件架构与软件架构的衔接,而软件架构的编程开发、系统设计及升级等工作都可以得到极大的简化:“FPGA的应用逻辑分为普通静态逻辑和专用的动态逻辑,但是却可以实现毫秒级的在线动态逻辑重新配置,这会为业务应用带来极大的灵活性选择。”

浪潮与英特尔合作研发的FPGA加速卡F10A以英特尔Altera Arria 10系列FPGA芯片为核心(浪潮仅使用Altera的芯片,而非整个使用Altera的板卡或板卡参考设计),支持双通道2 SODIMM(卡上2DIMM,每DIMM 最大支持16GB DDR4内存,支持4GB、8GB、16GB)最大32GB DDR4 内存容量,包含PCIe和Fabric Interface,支持OpenCL编程框架,以半长半高(小尺寸)产品形态对外供货。

浪潮与英特尔联合研发的FPGA加速卡F10A

F10A使用PCIe Gen3 x8接口,使用12V板载PCIe插槽即可支持供电,峰值能耗35W,平均能耗25W,并提供2Gbit板载闪存负责掉电数据保护,其峰值性能可以达到惊人的1.5Teraflops。

胡雷钧在沟通中表示,F10A FPGA卡面向多用途领域,既可以支持机器学习、视频转码、SDR等计算加速,也可以支持压缩/解压缩、加密/解密、擦除码(Erasure coding)等存储方面的应用,同时,对网络处理中的带内、带外处理,加密和压缩,预处理和预过滤等应用也可以提供高性能的支持。

“以压缩为例,GZIP压缩的情况下,使用OpenCL编程使用FPGA解决方案,可以达到3.2GB/s的速度,ASIC的速度是2.5GB/s,而使用传统x86架构处理器的性能只能达到0.3GB/s。”胡雷钧表示,OpenCL为FPGA带来了3倍的开发速度,而FPGA为业界带来了十倍于传统方法的计算效率,“客观来说,这对于OpenCL编程对FPGA性能所造成的影响几乎可以忽略不计。”

既然有极强的计算性能,那么浪潮的F10A又能搭建出什么样的解决方案?能够为当前的高性能计算、人工智能、机器学习以及大数据等热门应用领域带来哪些改变呢?

FPGA for Big Data:大数据的新处理方法

毫无疑问,FPGA会成为一种新的大数据处理方法,前面我们已经提到过,F10A可以支持擦除码(Erasure coding),这是一项在Hadoop领域正在被越来越多人所接受和支持的技术,它可以改变Hadoop原本3~5副本的低效率、高成本数据保护机制,减少CPU占用,加快Hadoop集群的性能,所以在新的Hadoop发行版中,基于多种硬件架构的擦除码解决方案都位列其中。

但在介绍“FPGA for Big Data”的应用之前,我们还遗漏了有关F10A FPGA的一项重要特点:F10A配置两个SFP+ GE/10GE 以太网接口,这意味着F10A可以实现数据直接从网络到板卡处理,无需经过CPU,大大减低了传输延时。

F10A提供两个以太网光口有着非常重要的作用,这意味着在部分应用环境下,FPGA“几乎可以完全独立的解决工作负载,而不需要通过CPU进行处理”,或者使用价格更低的处理器,而非价格高昂的高性能版本处理器,不仅通过省却CPU-FPGA通信时间,降低了传输延时、减少了系统占用,更降低了整体的服务器成本。此外,这两个光口除了作为冗余配置之外,还可以连接多台服务器的F10A FPGA卡,构建“CPU卸载(或无关)的FPGA计算阵列”。

不仅如此,F10A上的两个光口,可以在通信运营商的业务环境中产生很大的作用,假想一下,随着NFV技术的逐渐成熟,越来越多的网络功能被通过软件从专用设备卸载到FPGA卡上,“需要处理的流量可以直接进入FPGA卡,再从FPGA卡经过处理后直接流出”,胡雷钧在沟通中表示:“这意味着许多高级的、丰富的软件功能可以在FPGA上进行处理,比如流量过滤、异常监测、防火墙等高级功能。”

让我们回到FPGA for Big Data的话题,在大数据领域,FPGA可以为Spark、Hadoop和MESOS提供并行的数据处理模式,性能得到非常大的提升,胡雷钧在演讲中展示了针对Spark MLLib的四个测试结果:在SVM(支持向量机的学习模型)、PCA(主成分分析)、线性回归、SVD(奇异值分解)四项测试中,性能有着4.2~5.84倍的提升,而计算能耗表现则有15-21倍的提升。

胡雷钧认为,F10A适用面极广,既可采用DNRange模式实现数据并行,也可采用Pipeline模式实现任务并行,完全支持所有低延迟、高强度应用,如高性能计算、深度学习、数据采集、高频交易、网络处理和信号处理等。

就大数据领域而言,FPGA技术的应用能够大幅度的提升大数据处理的性能功耗比,支持OpenCL的FPGA介于专用芯片和通用芯片之间,具有一定的可编程性,体现出非常明显的硬件重构+软件定义特点,在处理特定应用时有更加明显的效率。

因此,在高性能计算的重要分支之一深度学习领域,FPGA的发展前景同样广阔,据胡雷钧介绍,浪潮已经与科大讯飞、Altera成功将FPGA芯片应用于智能语音线上识别领域,较CPU性能加速2.871倍,而功耗相当于CPU的15.7%,性能功耗比提升18倍——这是一个典型的高性能计算数据中心应用,节点需求规模大、对计算功耗的降低有较高的要求——作为适应数据并行与任务并行应用的FPGA解决方案,“越来越多的HPC大应用、数据中心应用、互联网深度学习应用将考虑采用。”

在谈到浪潮的高性能计算解决方案的规划时,胡雷钧表示,在高性能计算领域应用CPU+FPGA的解决方案是浪潮为客户提供的选择之一,除此以外,浪潮与英特尔、NVIDIA在Xeon Phi、GPU等异构计算领域的合作仍然将持续开展下去,“不同的业务应用有着不同的需求,FPGA在HPC领域的逐步普及,对需要开发周期短、计算模型定制性强的计算负载将有非常大的帮助。”

★★★ 电脑店行业门户(www.diannaodian.com)独家文章,欢迎大家转载 ★★★

    上一篇:AMD ROCm开放计算平台HPC 反击NVIDIA CUDA
    下一篇:没有了