FPGA(Field Programmable Gate Array)现场可编程门阵列,作为ASIC领域中的一种半定制电路而出现已有30年的历史了,它既解决了定制电路的无法改变功能的不足,又克服了原有可编程器件门电路数有限的缺点,可应用的场景也很广泛。
明德扬fpga培训 广州fpga专业培训 fpga培训效果好 明德扬专业fpga培训 fpga培训哪家强首选明德扬
就在2017年1月20日,腾讯云推出国内首款高性能异构计算基础设施——FPGA云服务,利用云服务的方式将只有大型公司才能长期支付使用的FPGA服务推广到了更多企业。企业可以通过FPGA云服务器进行FPGA硬件编程,可将性能提升至通用CPU服务器的30倍以上。同时,与已经深入人心的高性能计算的代表GPU相比,FPGA具有硬件可编程、低功耗、低延时的特性,代表了高性能计算的未来发展趋势。
而在人工智能(AI)里面火热的深度学习领域,企业同样可以将FPGA用于深度学习的检测阶段,与主要用于训练阶段的GPU互为补充,FPGA还可应用于金融分析、图像视频处理、基因组学等需要高性能计算的领域,是这类对效率要求高的行业应用的最佳选择。
基于此,InfoQ采访了由腾讯云基础产品中心、腾讯架构平台部组成的腾讯云FPGA联合团队,向读者介绍FPGA的基本原理和设计初衷,应用场景以及它给行业带来的价值。
明德扬fpga培训 广州fpga专业培训 fpga培训效果好 明德扬专业fpga培训 fpga培训哪家强首选明德扬
腾讯云FPGA的开发历史及背后的团队力量
随着芯片制程逼近理论极限,可以预见通用处理器(CPU)性能提升空间越来越有限。而腾讯自己的业务随着移动互联网的快速增长,数据体量的急剧膨胀,伴随着对这些数据的计算需求也在迅猛上涨。腾讯在2013年开始考虑如何解决计算需求的增长,而FPGA作为一种可编程的加速硬件彼时进入了大家的视野。有了解决计算需求的想法后,需要通过实践验证FPGA实际的能力。
明德扬fpga培训 广州fpga专业培训 fpga培训效果好 明德扬专业fpga培训 fpga培训哪家强首选明德扬
腾讯的QQ、微信业务,用户每天产生的图片数量都是数亿级别,常用的图片格式有JPEG格式、WebP格式等,WebP图片格式比JPEG图片格式存储空间小30%。为节省存储空间,降低传输流量,提升用户的图片下载体验,通常采用WebP格式进行存储及传输分发,而图片转码所带来的计算消耗需要上万台CPU机器支撑。自然FPGA开发落地的第一个切入点就是图片转码:将JPEG图片格式转成WebP图片格式。
在图片转码的实践中,FPGA联合团队取得了FPGA处理延时相比CPU降低20倍,FPGA处理性能是CPU机器的6倍,验证了FPGA能进行计算加速的能力,同时也增强了FPGA联合团队的自信心。
(图1)图片转码中FPGA和CPU延时对比
(图2)图片转码中FPGA和CPU吞吐率对比
图片转码项目完成后,深度学习映入了FPGA联合团队的眼帘,一方面深度学习需要密集的计算,另一方面深度学习在未来应用上有着巨大的商业价值。深度学习基于深度神经网络理论,用在图片分类的神经网络是其中的一个分支:卷积神经网络(CNN)。团队使用FPGA对CNN计算进行加速,增强违规图片检测能力,最终在深度学习的实践中取得了FPGA处理性能是CPU机器4倍的战绩。
明德扬fpga培训 广州fpga专业培训 fpga培训效果好 明德扬专业fpga培训 fpga培训哪家强首选明德扬
腾讯云FPGA项目实践的结果,见证了FPGA在数据中心里可以提供强大的计算能力和足够的灵活性,来应对数据中心对硬件加速的挑战。经过之前的FPGA实践,FPGA联合团队获得了在数据中心使用FPGA的经验,未来也将在数据中心的计算、网络、存储三个方向进一步探索,重构数据中心基础架构。
云端的数据中心业务日新月异,更需要一种高性能、高灵活的底层硬件结构,所以FPGA联合团队通过云端开放FPGA计算服务,从硬件层面加速云计算在各个场景中的应用,降低企业的使用门槛和成本。
FPGA的特点解析
2016年3月,英特尔宣布正式停用“Tick-Tock”处理器研发模式,未来研发周期将从两年向三年转变。至此,摩尔定律对英特尔几近失效。一方面处理器性能再无法按照摩尔定律进行增长,另一方面数据增长对计算性能要求超过了按“摩尔定律”增长的速度。
CPU本身无法满足高性能计算应用软件的性能需求,导致需求和性能之间出现了缺口。在新的芯片材料等基础技术没有取得突破前,一种有效的解决方法就是采用专用协处理器的异构计算方式来提升处理性能。现有的协处理器主要有FPGA,GPU和ASIC,FPGA由于其独特的架构拥有其他处理器无法比拟的优势。
明德扬fpga培训 广州fpga专业培训 fpga培训效果好 明德扬专业fpga培训 fpga培训哪家强首选明德扬
另外由于FPGA有高速SERDES等丰富的接口,而且能灵活控制实现的粒度和操作数据,因此非常适合进行协议处理和数据格式的转换。比如说FPGA可以很方便的接入以太网数据,并对以太网包进行包过滤等处理。
和CPU、GPU、ASIC在设计上的区别
(图3)处理器芯片对比
CPU/GPU 属于冯·诺依曼结构,任务执行需要经历取指、译码、执行、访存以及写回等过程。CPU为达到足够高的通用性,其指令流的控制逻辑相当复杂。GPU使用SIMD单指令多数据流并行等方式进行计算加速。
明德扬fpga培训 广州fpga专业培训 fpga培训效果好 明德扬专业fpga培训 fpga培训哪家强首选明德扬