日前,国内云服务商腾讯云宣布推出FPGA云服务器,引起了业界一阵热议,这是继国外亚马逊以及微软等企业在数据中心做出部署FPGA的尝试之后,国内首个FPGA云服务器。短短一年的时间,国内外主流云服务企业纷纷把目光聚焦在了FPGA上,这显然不是巧合,整个云服务行业似乎已经对FPGA在高性能计算上的重要性上达成了一致。
本月早些时候微软亚洲研究院实习生李博杰曾在知乎上介绍了FPGA的技术特点,其优势已是路人皆知。但在FPGA云服务器大规模应用之前,大家需要思考的是它对产业链的影响是什么,如云服务商该如何部署FPGA云服务器?哪些业务适合放在FPGA云服务器上?它对开发者带来了什么样的挑战?带着这些问题,雷锋网(公众号:雷锋网)采访了腾讯云FPGA团队。
据介绍,腾讯云FPGA团队由腾讯云基础产品中心、腾讯架构平台部组成的团队,该主要负责FPGA云服务器的开发。
雷锋网:FPGA云服务器是一个什么样的概念?
FPGA云服务器
FPGA云服务器,一方面它是属于异构计算平台的硬件体系结构,通过并行计算方式,提高服务器计算性能、能效比和计算实时性,对应用实现底层的硬件加速处理;另一方面,通过云服务提供给用户,用户可按需付费使用FPGA,极大降低FPGA的使用成本。
以腾讯云为例,腾讯云已经在国内提供了第三方FPGA知识产权市场,通过腾讯云服务市场,FPGA开发者和使用者可以实现高效交易;对于FPGA使用者而言,可以在此购买已开发并验证好的FPGA知识产权功能,可节约长达数月的FPGA研发周期,同时采用按需使用的付费模式,能最大化地帮助使用者节省硬件投入成本。
雷锋网:在FPGA云服务器中,CPU会被替代还是“CPU+FPGA”的异构计算模式,它的优势是什么?
FPGA云服务器并不是要用FPGA替代CPU,而是要将一些CPU做不了的或者不擅长的工作offload到FPGA,让FPGA和CPU协同工作,是一个以FPGA为协处理器的异构计算平台。
FPGA独特的架构带来了其他处理器无法比拟的优势,主要体现在它在吞吐率,延迟,功耗和灵活性4个维度上达到了很好的平衡,不存在短板。
具体来讲,FPGA跟CPU相比,吞吐率、延迟及单位功耗计算性能都有明显的优势;与GPU相比,则因为FPGA很容易做到流水线并行和数据并行,因此能同时做到高吞吐和低延时,而GPU几乎只能做数据并行,因此延迟比较大;ASIC则因为它的长开发周期和低灵活性,很难适应数据中心业务的变化,也很难完成硬件资源在不同业务中的分配和调度。
另外由于FPGA有高速SERDES等丰富的接口,而且能灵活控制实现的粒度和操作数据,因此非常适合进行协议处理和数据格式的转换。比如说FPGA可以很方便的接入以太网数据,并对以太网包进行用户自定义的包过滤等处理,而其他处理器却很难做到。
雷锋网:腾讯云使用的是哪家的FPGA芯片?如何部署,一台服务器有多少FPGA?
目前腾讯云使用的芯片厂家包括业界主流的Xilinx和Intel两大厂商。前期我们推出的FPGA实例是基于Xilinx芯片平台,基于Intel平台的服务会尽快推出。
FPGA云服务器为了提高单台服务器计算密度和加强FPGA之间通信,每台服务器支持4个FPGA或8个FPGA配置,满足用户超大计算需求。一期针对简单业务场景,我们提供单机单实例的FPGA云服务器;针对更高性能需求的业务场景,我们近期也将提供单机多实例的FPGA云服务器。
雷锋网:什么业务/应用场景适合使用FPGA云服务器?能否举例说明?
FPGA云化对整个FPGA行业来讲有着革命性的影响,FPGA的云化大大降低了FPGA的使用门槛,完全不需要新的硬件定制,只需要比较少的投入就可以得到较高的收益。会使得之前一些不倾向于使用FPGA或不会使用FPGA的行业或者业务场景,现在重新审视是否需要用FPGA的优势来做点什么。
FPGA的优势是计算的高吞吐量、低延时、低功耗。
1.在机器学习领域、金融领域、大数据领域、基因检测领域都存在比较大的数据量需要分析计算,这些是FPGA云服务器可以发挥高吞吐优势的领域。
2.网络安全领域有更安全、更低延时的需求,这些场景也可以发挥FPGA低延时的优势。
3.超大规模图像处理,这些图片的处理都使用FPGA来进行处理加速都可以得到满意的效果。
4. 现在比较热门的自然语言处理和语音识别这些也都是FPGA可以发挥优势的场景。
一言以蔽之,FPGA云化之后,FPGA的使用门槛降低,可以极大地拓宽FPGA的使用场景,这些需要我们所有人去进一步探索。
雷锋网:如何满足开发者的需求?
IP(Intellectual Property)即知识产权,是在FPGA设计中,使用Verilog等硬件描述语言开发的功能模块。一直以来,FPGA行业内的IP提供者和使用者缺乏一个公开的交易平台和信用保证机制,IP交易环节冗长,价格不透明,很难达成交易。
腾讯云现在的做法是为开发者提供一个FPGA IP商店腾讯云服务市场,IP开发者和IP提供商可以通过该IP商店为其他客户无偿或有偿地提供FPGA IP和对应的测试程序。当然,这些IP都是基于腾讯FPGA的标准硬件来开发定制的,IP的验证和测试可以很方便地在云平台上完成,一个IP的交易可以由几个月缩短到几分钟,提高交易效率,也使得IP交易变得更加透明;另外,腾讯云FPGA提供了FPGA的底层硬件支撑平台,类似操作系统的部分功能,简化了开发者对底层通用设备的访问,比如DDR和PCIE这些通用设备,可以使开发者更聚焦到业务功能的开发。
从这一点来看,FPGA云化意义重大,可以推动整个FPGA行业的发展,给FPGA产业链的各方都可以带来收益。
雷锋网:与传统的FPGA解决方案相比,FPGA云服务器的费用有什么变化?整体有哪些区别?
传统FPGA 解决方案:
硬件成本高:高服务器投资运营成本,FPGA 硬件交易价格不透明;
部署难度大:设计并大规模生产需要解决供应链、制造工艺、可靠性测试等多个环节,需耗费数月甚至数年;
运维成本高:为保障服务稳定需承受高额的运维IT成本 。
FPGA 云服务器:
使用成本低:您无需预先采购 FPGA 或采购硬件资源来运行 FPGA,腾讯云提供按需售卖的方式提供FPGA云服务器,您可按需购买,无需投入大量资金购置物理服务器;
部署时间短:部署开发时间从数年或数月缩减到数天;
运维成本低:低服务器运维成本,避免本地数据中心开发 FPGA 无差别的繁重工作,助您有效降低基础设施建设人力和成本投入。
雷锋网:之前在微信、QQ等业务上已经有应用,为何选择在这个时候对外开放?
我们目前内部业务如微信和QQ等在FPGA的成功应用,已经验证了FPGA在互联网业务中可以起到异构加速的作用。对于行业来说,云是一种共享服务的思想,用户不以占有的方式使用硬件和软件,而是共享复用,因此大大降低了使用成本,提升了资源的使用效率。
FPGA云服务能给行业生态链各方带来价值:
芯片原厂:不需要经过层层代理,增加成本,而是可以通过云提供硬件板卡的服务。因为硬件统一采购和维护,也大大提升了稳定性和可靠性。
IP提供商:可以把IP放到云平台的市场中去,最终用户使用时,通过云平台完成部署和交付,用户不需要接触可执行文件(网表文件),因此不存在产权泄露的风险。这将鼓励IP提供商提供更多的服务方式,可以提供按时长计费,买断计费,乃至试用版免费等方式,用户也可以迅速验证。
设计和开发:云提供框架方式,封装了常用的系统级操作(DDR内存的访问、DMA、PCIE设备控制等),可以支持硬件描述语言,也支持OPENCL以及类似C的高级语言。提供通用的驱动和调用库,不需要用户编程。对高阶用户而言,也可以使用OPENCL或者硬件描述语言实现自己的功能。
正是云对FPGA行业的颠覆、革命和价值,所以我们通过云端开放FPGA计算服务,把FPGA作为云端基础架构的一部分,从硬件层面加速云计算在各个场景中的应用,降低大中小型企业以及用户的使用门槛和成本。
雷锋网:如何看待云服务商开始推FPGA解决方案?腾讯云与其它云服务企业的方案有何区别?
我们乐于看到更多企业提供FPGA的云服务,共同加速各行各业使用FPGA的进程,加快完善FPGA生态圈。
总结来看,这次FPGA的发布,腾讯云在业内有几点领先的差异化优势:例如,腾讯云的FPGA技术已经在腾讯的QQ、微信业务中长期部署和验证。腾讯云通过解决FPGA云服务器的部署、知识产权(IP)提供者分享IP以及应用程序开发者购买IP三大问题,用于建设与完善FPGA开发者生态。
另外值得一提的是,腾讯云和业界两大FPGA 厂商(Xilinx 和 Intel)保持着有良好的关系,这也可以方便开发者选择自己熟悉的开发模式,避免切换平台。
雷锋网:腾讯云接下来有什么规划?
接下来,一方面在硬件机型上,我们会推出一台服务器具有多个FPGA,提供更大的硬件加速性能;另一方面,在软件层面上,我们进一步完善FPGA开发框架,该开发框架支持C/C++、OpenCL、Verilog/VHDL等开发语言,FPGA 开发人员可以选择自己熟悉的语言方式进行FPGA 逻辑设计。同时,该开发框架提供类似操作系统的支持,可以方便访问DDR、使用DMA完成主机和FPGA之间通讯,开发者只需关注面向应用的逻辑设计。
雷锋网:为何FPGA云服务器逐渐受到了主流云服务商的青睐?是人工智能驱动?这会是行业的必然趋势?
腾讯云包括国内外其他同行都在推FPGA云服务器,这是产业发展和市场需求的双重驱动。
一方面随着芯片制程逼近理论极限,可以预见通用处理器(CPU)性能再也无法按照摩尔定律进行增长,另一方面移动互联网带来的数据增长对计算性能要求超过了按“摩尔定律”增长的速度,比如腾讯内部业务随着移动互联网的快速增长,例如图片数据体量的急剧膨胀,同时伴随着对这些数据的计算需求也在迅猛上涨。从市场看,人工智能的发展也对数据的计算需求凸显,也是另一个驱动因素。
腾讯曾在2013年开始考虑如何解决计算需求的增长,而FPGA作为一种可编程的加速硬件彼时进入了大家的视野。腾讯内部已经对FPGA技术展开了多年的研究,可以确定的是,FPGA在数据中心里可以提供强大的计算能力和足够的灵活性应对数据中心对硬件加速的挑战,把FPGA的技术积累服务推广给更多的企业,这也是腾讯云推出国内首款高性能异构计算基础设施FPGA云服务器的原因之一。
从全球看,亚马逊等同行已经使用FPGA在其公有云网络中进行了诸多积极尝试,可以看出,FPGA在云服务领域已经势不可挡。
后记
腾讯云FPGA联合团队还告诉雷锋网,在腾讯云公众号发布后的几小时内,他们收到了数百名开发者的试用申请以及一些大客户的咨询。虽然,FPGA云服务器对大多数企业来说,还是一个相对陌生的概念,但从主流云服务厂商陆续开放这一服务的趋势来看,FPGA对数据中心将会越来越重要,而未来也会有更多的企业把业务部署在FPGA云服务器上。