白话CAPI+FPGA新看点, 为大数据加速
发表时间:2015-11-18
返回列表话说多年以来,作为有着十几年开发经历的元老级FPGA玩家,恒扬科技一直玩着阳春白雪式的东东,什么FPGA加速啦,异构计算啦,多核平台啦,对涉世未深的科技小白来说,即便听了N遍,依旧还是云里雾里,不知所云。
9月16日,第二代分布式计算联盟成立。 作为和IBM、Xilinx携手创办的联盟成员之一,恒扬正好借此机会,放下身段,接接地气,用一个外行人的视角给大家讲讲高大上的CAPI+FPGA为大数据加速碰撞出来的新火花儿。
当当当当~~,科技范小白及FPGA张大侠闪亮登场!
科技范小白: 好学指数 5颗星★★★★★ 科技指数@#%…¥&@%^
FPGA张大侠: FPGA技术指标 爆表 颜值。。。。居然也爆表
科技范小白:在下范小白,近日在江湖上听说各路帮主聚首,召开了英雄大会,共商二代分布式计算之事宜,据说席间众英雄群情激荡,脑洞大开,勾画出FPGA+CAPI应用大蓝图。敢问大侠,能否先行给做做脑补,一代分布式计算是啥概念?
FPGA张大侠:对,要明白二代分布式计算,我们先得了解什么是一代分布式计算。举个简单的例子,比如咱们班的数学老师给大家出了一道很难的数学题,看样子非常复杂,计算量超大,一个同学在下课前是完不成了,那么咱们成立一个几个童鞋组成的解题小组,然后由组长分配任务,每人完成其中的一部分计算,通过大家的努力和结果汇总,居然在下课前把一个人如何也完成不了的题做完了。这就是第一代分布式计算的概念——它是相对于集中计算来讲的,即把一个需要庞大计算量的工作,分配到多台计算机上来完成,从而达到快速实现的目的。
科技范小白:原来如此,原来就是从单兵作战改到小组作战啊!那二代分布式计算是咋回事?它和一代计算有啥区别呢?
FPGA张大侠:第二代分布式计算呢,是对第一代分布式计算的一个改进和升华。咱们还是以上面这个例子继续说吧,数学老师看到大家的能力强了,于是第二天又出了一道更难、计算量更大的数学题,我估计这次得是宇宙级复杂程度了 O(∩_∩)O哈哈,但老师说还是你们这个小组来解,但是呢,允许大家找各种各样的工具。于是乎大家有的用算盘算,有人用计算器算,有人用电脑算,八仙过海各显神通。然后组长充分了解到大家工具的能力,再次进行了工作的分配,最后大家在工具的协助下再次完成了难题。可以看到这次大家和上次最大的区别在于,不光用每个人的大脑自己算了,而且寻找工具来帮忙完成计算工作,这些工具在计算方面比人的大脑效率更高。那么这就是第二代分布式计算的概念——即在分布式计算的基础上,再采用专用的协处理器来对CPU(大脑)进行加速,这种CPU+协处理器的模式我们叫做——异构计算,而且要求这里的协处理也能进行编程和升级,以达到通用化目的。
科技范小白:哦,CPU+协处理器=异构计算,我现在终于知道异构计算是啥了!妈妈再也不用担心我的学习了!
FPGA张大侠:上面我们已经提到了异构计算,假如上面的人的大脑是我们认为的通用计算处理器的话,算盘、计算器、计算机就是异构处理器。异构处理器一般相较通用处理器在某些方面的计算能力更强,配合通用处理器处理特定的计算任务从而达到加速的目的。目前主流的异构处理器主要有CPU+GPU和CPU+FPGA两种。CPU+GPU的组合最擅长浮点运算,也就是计算机里面的小数加减乘除运算,这也是一代分布式计算的最典型代表啦。CPU+FPGA呢,最擅长的是整数运算,现在物联网、大数据、人工智能、机器学习这些新兴的大规模数据处理需求不断涌现,CPU+FPGA最擅长干这事,它的机会终于来了!
这次由IBM、赛灵思和恒扬科技共同倡导的二代分布式计算,主要是FPGA+CAPI技术的结合,这个CAPI技术是IBM开发出来的在Power CPU上的一种新技术,叫加速处理器接口技术,正是因为有了CAPI技术,CAPI接口为CPU和FPGA提供了缓存一致性和对等的内存访问能力,这使得FPGA异构加速计算在CPU侧的编程更具友好性,能达到更快的速度。举个栗子,就好比你要去访问你的邻居,你得先出门,走到外面的马路上,再敲你邻居的门,经过邻居的允许你才能到达邻居家里;如果你和你的邻居关系好,是铁哥们,经常去他家做客,于是你俩商量在你们两家之间的围墙上打个大窟窿,还不装门,通过这样一个“快速通道”你去他家是不是很快。
科技范小白:在下明白了!是不是可以这么理解,这就好比咱们常见的公交快速路,大站快车,直达目的地。
FPGA张大侠:是的,小白你很厉害哟,直接进化成大白了(●—●)。CAPI就是这样一个快速通道,省去了中间多个环节,建立了CPU和FPGA直接的快速一致性通道,方便FPGA加速时通过这个“快速通道”搬运数据。
科技范小白:噢耶,被大侠表扬了,好开森哦!大侠,我还想知道,在CAPI+FPGA异构计算里,CAPI是个快速通道,那FPGA是个什么角色呢,它是不是就是大量数据处理的主力呢?
FPGA张大侠:小白,这次又让你说对了。如果把CPU理解成大脑的话,FPGA加速卡就可以理解成专门用来处理大量计算的计算器或者计算机了,FPGA芯片就是用来进行计算的主力。FPGA(Field Programm-able Gate Array) 芯片是一种可编程的IC芯片,就是我们刚才说的协助大脑CPU处理特定计算任务的协处理器,我们可以给它指定任务,让它快速、重复地处理一些CPU不爱干的脏活累活,这样就把CPU给解放出来了,系统整体的处理效率也就大大提高了。
那么结合CAPI技术和FPGA技术的加速卡有什么优势呢?基本可以总结出四大优势:
* FPGA芯片和CPU更通畅便捷的“对话” CAPI技术具备缓存一致性和对等的内存访问能力,也就是说CPU可以分享他的内存空间直接给FPGA使用和访问,通过CAPI给CPU和FPGA搭起一条快速通道,使得他们的“对话和交流”变得轻而易举。
* 逆天高性能,真正实现以一当百 根据赛迪顾问发布的《中国OpenPower产业生态发展白皮书》介绍,使用CAPI+FPGA加速卡对大数据Hadoop算法中对性能要求最高的擦除码进行处理,经测试,服务器性能提升20-100倍!真正实现逆天的以一当百啊!
* 少吃多干,环保低功耗 啥是吃的是草,挤出来的是奶?看看CAPI+FPGA加速卡就知道了!一块FPGA加速卡功耗约20Watt~75Watt,安装在服务器机箱内,不占用额外机房空间。光看这个,你没什么概念是吧!没关系,对比一下就知道了! 1个CPU单元功耗约为 145Watt~190Watt, 1个GPU卡单元 功耗约为 235Watt~300W,这下明白了吧!
* 灵活可编程,全方位实现指哪打哪 FPGA芯片是可以编程的,所以我们可以用它来实现多种不同算法的在线升级。我们可以在不同的场合对FPGA加速单元进行升级,灵活配置更换不同的算法,此法具备通用性,可应用于不同场景加速——可以说,FPGA芯片是“十八般武艺样样精通”呢!
科技范小白:艾玛,CAPI+FPGA加速卡这么厉害啊,我要直接给跪了!那大侠,这么棒的技术,世面上有没有成熟的产品呢?
FPGA张大侠:当然有啊!我们恒扬科技就在不久前推出了国内首款CAPI+FPGA加速卡NSA-120加速卡,先给你目睹一下它的真容啦!上图片!
怎么样?NSA-120加速卡的颜值还是棒棒的吧!除了具备上面说的几点特性外,NSA-120加速卡还具有几大独门秘籍,坐稳听好了啊!
* 好马配好鞍,硬件可靠是基础 基于CAPI+FPGA架构的NSA-120加速卡,可是提前完成了大量的硬件和信号完整性测试工作和产品化工作的哦!这样就确保了产品硬件的可靠性。(基础工作那真是做得杠杠的!) 加速卡自带的NPL基础平台开发包包含了丰富的监控模块和统计模块,可以实时读取FPGA内部温度啦!板卡温度啦!内部模块运行状态啦!统计信息、电源电流动态变化等等这些信息,这就让使用者对加速卡的性能状态一目了然哩!
* 应用轻松上手,开发难度降至最小 NSA-120加速卡自带的NPL加速卡平台层套件开发包,还有一个更厉害无敌的特性呢!这就是大幅度降低了IDH(FPGA应用加速器开发商)的技术门槛和研发工作量。它简单好用,所有FPGA开发流程通通软件化,让IDH小伙伴们再也不用去了解复杂的底层硬件,只需要关注实现核心算法模块就OK啦!
* 性能有保障,安全来护航 性能有保障,安全当然也不能少。NSA-120加速卡板载两颗加密芯片,一颗是为用户 NPL平台层套件开发包进行加密的,另一颗是为IDH(FPGA应用加速器开发商) AFU进行加密的,双管齐下,确保IP安全有保证!
* 一次投资,灵活升级,确保ROI最大化 具备在线可升级能力的NSA-120可支持不同AFU算法模块在线更换,FPGA配置文件可通过在线从CPU升级到外挂FLASH中,现场无须重新启动服务器,在不影响客户业务运行的情况下完成现场升级。
一口气说了这么多,不知道到小白你听懂了没有!
科技范小白:听懂了听懂了,这NSA-120加速卡真是太牛了!大侠,我还想知道它具体是怎么给大数据云计算应用加速的,有啥实际应用案例?不过今天讲的内容好像挺多的,要不这些我们下次继续,我先好好消化消化今天的内容咯!
FPGA张大侠:没问题,我们下期继续!记得来学哦!