您当前的位置是:  首页 > 资讯 > 国内 >
 首页 > 资讯 > 国内 >

云计算中,FPGA是一种什么样的存在?

2019-12-06 10:54:08   作者:   来源:CTI论坛   评论:0  点击:


  我们这个世界对于云计算和大数据的依赖越来越高。对用户来说这是一件幸事,但是对于云端的开发者来说,则意味着越来越大的压力。
  这种压力来自两个方面。一个是汇聚到云端的数据量越来越大——据IDC的统计,2016年全球数据存量为16ZB,预计到2020年将超过40ZB,而2025年则会激增至160ZB。另外一个,与指数级增长的数据量相伴随的,则是对这些数据计算和处理需要的高速增长,特别是随着人工智能(AI)的兴起,对云端计算资源的消费量大大增加。数据量和数据处理要求两个因素叠加,使得我们对云端算力需求的增速超出想象。
  在过去相当长的一段时间,这个世界上算力提升的动力主要来自于摩尔定律,每18-24个月提升一倍的集成电路性能,奠定了当今这个互联世界的基石。而时至今日,受制于半导体工艺的极限,摩尔定律定义的速度已经减缓,由其带来的红利正在消失。因此在面对云计算越来越大的“胃口”时,在摩尔定律之外,人们需要寻找另一个能让算力加速的支点,这个支点就是新的计算架构。
  FPGA的胜出
  一个理想的高性能云计算加速架构,概括起来需要有以下几个特性:第一是高吞吐能力,以应对海量数据处理的需要;第二是低延时,能够对实时联网设备进行响应;第三是高性能功耗比,为更高密度的云计算创造可能;最后是灵活性,能够跟上不断演化的算法和应用的脚步。
  目前可用于云计算加速的架构无非是以下几种:CPU、GPU、FPGA和AICS。如果按照上述的“任职条件”去仔细筛选,人们发现与其他几种结构相比,FPGA就是那个要找的Mr. Right!
  • 在性能方面:由于FPGA摆脱了冯·诺依曼结构的限制,可以针对特定应用算法定制硬件架构,具备ASIC高性能的特质,可支持更高的数据吞吐。
  • 在延迟性方面:FPGA不但可以实现数据并行,还可以实现流水线并行,可达到微秒级的延时,这也是其与同样高算力的GPU相比最明显的一个竞争优势。
  • 在可扩展性方面:基于FPGA的可编程性和丰富的IO管脚,其可以在数据中心里面扮演多面手,除了计算,也可支持和适应存储、网络等方面算法的演进发展要求。
  • 在功耗方面:更先进的半导体工艺,加之优化的算法,令FPGA可在特定应用中实现比CPU、GPU更佳的性能功耗比。
  • 在灵活性方面:这自然是FPGA与ASIC相比最引以为豪的强项,而且FPGA适于与CPU等计算架构结合形成CPU+FPGA异构计算平台,让最合适的架构去做其最擅长计算加速,以实现系统最优。

 
  图1,不同计算架构的性能比较(资料来源:华为云)
  FPGA上云之路
  正是由于FPGA上述的这些优势,让人们将它视为实现云计算加速的重要技术路径,FPGA的上“云”之旅也由此开启。从FPGA在云计算中的实际“战果”来看,它确实没有让人们失望!
  比如,2014年微软在一篇论文中,分享了微软Catapult项目团队通过在数据中心1632台服务器中部署FPGA,对必应(Bing)搜索引擎的文件排名运算进行硬件加速,获得了高达95%的吞吐量提升。这样的事实,也让其他云计算平台部署FPGA的信心大增。
  腾讯是国内较早尝试FPGA计算加速的互联网公司,在他们的JPEG至WebP网络图片的转码尝试中,FPGA处理延时相比CPU降低20倍,处理性能则是CPU的6倍,而FPGA单位成本仅为通用CPU的1/3。由此,腾讯也成为了FPGA云计算加速最积极的拥趸之一。
  近年来随着AI应用的兴起,越来越多的公司开始尝试将FPGA应用在云端深度学习算法加速中,且颇有斩获。如百度从2013年就开始尝试将FPGA应用在DNN,RNN,CNN,LSTM等深度学习模型中,目前百度已经开放了基于FPGA的深度卷积神经网络加速服务,单卡提供3Tops的定点计算能力,支持典型深度卷积网络算子,为VggNet、GoogLeNet、ResNet等提供高效加速。可见,今天AI已经成为加速FPGA在云计算中部署的重要推手。
  图2,FPGA在网络图片转码加速应用中,与CPU相比优势明显(图片来源:腾讯云)
  FPGA云服务
  随着FPGA在云计算中越来越受宠,一种基于FPGA的新型的云服务也应运而生,这就是FPGA云服务。它已经成为亚马逊、百度云、腾讯云、华为云等云计算头部玩家的一致选择。
  FPGA云服务器就是在云计算环境中配备FPGA的计算实例,用户可以通过购买FPGA实例,快速让自己特定的应用实现FPGA硬件加速。可以说,云计算厂商在引入FPGA之初,可能是为了满足自己一个或几个特定云计算加速所需,而在广泛部署之后会发现,完全可以将FPGA计算资源“打包”起来,作为一种可以变现的云服务,销售给云计算用户。
  而对于云计算用户来说,就像当初购买云服务器而无需自己运维一个复杂的IT计算系统一样,现在当需要在某个应用算法中采用FPGA进行加速时,也不需要去构架和开发自己的FPGA硬件系统,而通过购买云计算厂商的FPGA云服务即可实现!
  FPGA云服务的出现不仅让云计算厂商可变现的服务组合更为丰富,往深一层去想,此举也会对未来FPGA的应用开发生态产生深刻影响,进一步降低FPGA用户的门槛,让FPGA加速服务触手可及。实际上,已经有“不差钱”的云服务厂商在沿着这个方向去发力。
  综上所述,从当初在一众计算架构比拼中脱颖而出,到在实战中证明自己的实力,再到今天成为新兴云服务的核心,FPGA在云计算中的存在感越来越强,而这一切仅仅是个开始。未来你还有什么奇思妙想需要“加速”,尽可以来一试。
  图3,为了因应云计算所需,安富利开发的基于Xilinx FPGA的加速解决方案(图片来源:安富利)
【免责声明】本文仅代表作者本人观点,与CTI论坛无关。CTI论坛对文中陈述、观点判断保持中立,不对所包含内容的准确性、可靠性或完整性提供任何明示或暗示的保证。请读者仅作参考,并请自行承担全部责任。

专题

CTI论坛会员企业