当我们的数据爆棚、算力不够怎么办?如果你只是无限度地加码CPU、GPU,那就OUT了。现在,有一种更聪明的做法,那就是选择算力更强大的FPGA。
而当各大厂商开始布局FPGA市场,很多FPGA产品及服务如雨后春笋般出现,我们说:FaaS(FPGA即服务)时代已来临。
强势对垒CPU、GPU,FPGA带来更强大计算能力
FPGA到底有多火?我们看看各大厂商的市场动作,就会领略一二。放眼望去,亚马逊、阿里巴巴、百度、华为和腾讯等很多企业都部署了FPGA。
FPGA为什么如此火?答案很简单,和云计算和大数据的快速发展紧密相关。FPGA是公有云中最重要的一部分,其服务可能会触及几十万应用开发商以及数千个SaaS提供商和企业用户。云计算发展环境越来越成熟,而 CPU 能力提升水平却与计算需求的增长背道而驰。外加“超大规模”数据中心越来越多,加速计算领域希望通过新型的加速服务来承载他们自己的应用以及各种终端客户的应用。
当然,FPGA不只用于云计算、超大规模数据中心的加速,还用于无人驾驶、机器学习、大数据分析和实时视频流处理等。可以说,一切对异构计算能力或者对工作负载有更高要求的应用,都能用到FPGA。以电子竞技或者其他类似现场直播场景为例,同一时段的传奇联赛有3600万观众在看。但有时,又一下掉到零。这时,所匹配的的资源就要合理分配,弹性扩展。现在,绝大多数的视频直播都使用CPU,并使用了一些其他的加速技术,但是有时资源会闲置,而FPGA能很好地解决这个问题。
FPGA加速可以达到CPU的10倍,并且能进行动态可重配置,可以根据流量的情况可以换编网络码器等。大型赛事结束的时候,FPGA可以部署执行其他工作任务,比如机器学习、数据分析,基因组分析等等。可以说, FPGA是一个非常强大的解决方案。一方面,它可以执行非常大的工作量,另一方面它的效率更高。将 FPGA 作为计算加速器,就能针对几乎任何应用实现自定义和最优化。
那么,FPGA加速与GPU一类的加速又有何区别呢?GPU加速器已有解决单个的具体工作负荷的先例,便于面向机器学习和AI应用“训练”神经网络。不过,就广泛的云应用提供计算加速而言,FPGA 加速器已在行业范围内激起了强劲势头。
走差异化道路,赛灵思FPGA为强度工作负载提速
作为All Programmable技术和器件的全球领先企业,赛灵思公司(Xilinx)致力于硬件开发、应用软件开发以及嵌入式开发。软件部分,提供的是从云到端的软件堆栈应用,拥有10万以上的软件和应用工程师。嵌入式系统方面约有10万SOC和FPGA工程师,主要解决性能和集成度问题。在传统的器件方面,还有约5万的FPGA工程师,重点攻克逻辑和连接问题。这总体25万软件、硬件及算法和应用工程师是赛灵思5年5倍潜在用户增长的目标。
在目前大数据领域热门的FaaS(FPGA 即服务)层面,赛灵思全可编程的产品方案正通过一个个用户数以千、万计的超大型数据中心企业,将FPGA的应用推向规模化。通过这些云服务提供商,Xilinx不需要直接为数千个客户设计芯片或板卡,甚至也无需让成千上万的客户将应用到Xilinx FPGA上。它只需要通过少量几个超大规模的设计(FaaS实例),加上工具/库/IP,就可以支持数十个开发者的FPGA加速应用(如深鉴科技,NGCodec,Ryft和Edico),而这数十个应用开发者,又可以服务到数百个SaaS(软件及应用)提供商(比如上面Edico实例中的DNAnexus),并且,这些SaaS提供商已经拥有大型的云计算业务,可以轻松地使用API来加速他们的软件服务部分,从而可以面向数千家企业和公共机构提供更好的产品。这些终端用户不需要知道FPGA的任何技术,甚至可能不知道他们在运行SaaS应用时使用的是FPGA。
“预计,我们的潜在的用户会增加五倍,越来越多的开发者和工程都会在MPSoC和SDSoC开发应用。”Xilinx公司软件和IP产品部高级副总裁 Salil Raje,对公司未来市场前景非常看好。
拥抱FaaS时代,Xilinx公司不再只关注硬件和芯片,还有全套软件的堆栈,可以针对自动驾驶汽车、无人机、监控等领域提供解决方案。而Xilinx公司在FPGA加速器领域的差异化优势,让我们看到计算加速技术正在变得越来越强大。