云资讯 【2018可信云大会】章恒:FPGA加速:面向数据中心和云服务的探索和实践

栏目: 编程工具 · 发布时间: 6年前

了进一步促进云计算创新发展,建立云计算信任体系,规范云计算行业,促进市场发展,提升产业技术和服务水平。由中国信息通信研究院、中国通信标准化协会主办的“2018可信云大会”将于2018年8月14日-15日在北京国际会议中心召开。

随如今,云计算已经发展了10余个年头,并逐渐形成庞大的产业规模,企业“上”云也并非难事。但不断出现的信息数据泄露事件给火爆的云计算界敲响了警钟,企业开始逐渐意识到云计算的风险性,明白部署哪一种云都有可能受到黑客攻击。虽然云计算可带来显著的优势,但潜在风险也不容忽视。"2018可信云大会"邀请了行业内多位大咖与权重人物共同探索可信云与云计算的创新发展新路径。

云资讯 【2018可信云大会】章恒:FPGA加速:面向数据中心和云服务的探索和实践

以下是 腾讯云FPGA专家章恒:FPGA加速:《面向数据中心和云服务的探索和实践》 演讲全文:

章恒:各位嘉宾下午好,我来自腾讯的章恒,今天的分享主题是FPGA加速:《面向数据中心和云服务上的探索和实践》。下午学术界、标准化的方面都讲了高性能计算方面的应用发展,我今天主要从工业的角度来说,我们在哪些实际场景里面是如何应用FPGA进行加速的。

今天演讲主要分三个部分,FPGA加速的原因、FPGA加速在数据中心应用场景的应用,第三是FPGA云服务的应用。

前面各个专家包括李总也介绍了,整个数据的增长在数据中心里面增长特别快,预计可以做到十倍的增长,我们也看到了,在云化的发展上数据增长呈30%,同时AI这种计算和大数据计算带来了对这些数据需要高性能计算的要求,这导致一方面数据增长呈指数增长发展,另一方面需要的计算资源传统的用CPU算,而CPU面临后摩尔时代的到来,它的发展是停滞状态,像以前两年翻一倍的性能现在已经基本上停滞了,如何解决这样一些数据的指数增长和处理这些数据所带来的性能停滞的阶段,现在我们就要寻找更高性能的芯片,比如GPU、FPGA、ASIC就进入了大家的眼帘就是我们谈的高性能的计算。这种高性能的计算我概括为两方面:高吞吐,数据的增长高吞吐的处理能力。第二是低延时,对实时连接设备进行响应,提升用户体验,特别是5G和物联网的发展都带来了数据,一方面是数据的增长,另一方面是对低延时的要求。

可以看一下,前面讲了几种计算芯片,CPU到FPGA到ASIC,这几种芯片有什么样的特点,什么原因从本质上能达到高性能?CPU主要是在灵活性上,越往左边它的编程灵活性越高,越往右边这个晶体管的效率是越高的。CPU是软件可以编程的,说一它的通用性非常高,可以面向各种软件算法。而ASIC电路是专有的硬件电路是不可编程的,也就是说算法固定以后ASIC只能够加速,这也是为什么它可以做到高性能就是它上面每个晶体管都是为这个算法服务的,这样才能做到高性能。

中间两个GPU和FPGA,GPU也是软件可编程,相比于CPU不同之处在于,CPU有很多计算单元,对于需要并行大量计算的算法来说GPU是非常适合的。FPGA是一个硬件电路可以编程,相比ASIC不同在于它也是硬件电路,但是它是可以编程的硬件电路,也就是说可以针对每一种算法都来搭建一个硬件电路做到硬件加速。我们从整个计算能力来看,实际上在整个产业界来说,看到有两个方面,第一是摩尔定律带来的,第二方面是整个计算芯片的硬件架构带来的,虽然摩尔定律走到了尽头,我们可以通过计算芯片硬件架构的创新,在硬件芯片阶段,谷歌用TPU用AI做算法的加速,已经做第三代了。因特尔收购了AMD、ARM芯片都是做AI方面的加速,国内寒武纪、地平线都有推出人工智能的AI的算法芯片。

在FPGA面,首先国外微软做到每一台服务器都带有一个芯片,作为数据中心算法的加速,国内百度、阿里腾讯都有用FPGA做算法的加速。所以我们看到整个产业界的发展是异构计算百花齐放,软硬件结合,从通用到专用的发展趋势。

前面讲了各种计算芯片的特点,现在讲为什么FPGA在数据中的加速有哪些优势。最右边是FPGA底层芯片的特点,里面有片上缓存的RAM,有计算资源还有一些国际资源,拥有这些资源以后可以针对每一种算法都搭建一个硬件电路来进行加速。它有哪些优势?1、可以做到高性能低延时,针对每一种应用算法定制硬件架构,做到高性能低延时。2、灵活可扩展,本身也有一些丰富的IO,在数据中心里面不仅在计算方面,也可以在存储网络方面做到演进发展。3、FPGA本身它的低功耗、低成本、高可靠性可以在数据中心里面方便部署和运维。4、我们平常一个算法,并不是所有算法都要放到里面做加速,适合CPU的放到CPU来做,适合FPGA可以放到FPGA做加速,可以做到软硬结合的,充分发挥相结合的优势做到系统创新。

我们虽然看到了这些优势也看到异构计算芯片之间也是相互融合的,也就是说FPGA可以携手ASIC的优势,CPU也可以吸收ASIC的优势。第一个FPGA方面会融合ASIC的计算硬核提高整个计算性能,GPU也融合了矩阵计算的ASIC张量硬核,在V100里面已经做到这一点了,可以达到更高性能的AI的计算性能。所以说未来会不会有CPU、GPU、FPGA、ASIC全芯片融合?也许未来我们会看到。

接下来介绍一下我们腾讯内部用FPGA加速实际应用场景里面做了哪些事情,我们于2014年开始用FPGA做加速,刚开始主要应用场景在QQ相册、微信朋友圈做图片转码加速,后面也做AI算法的加速,图片转码和AI加速获得腾讯不的卓越发展,17年我们是国内第一家发布FPGA云服务器的厂商,我们也参加了FPGA顶级会议参展:FPGA2018,下面图是会议参展还有FPGA板卡的硬件形态。

接下来介绍一下具体用FPGA在QQ下转码场景下面怎么用FPGA做加速的,首先腾讯是个社交媒体的平台,像QQ、微信每天有大量的图片进行收发传播,如果这些图片,用户传来Jpeg图片,浏览的时候原封未动的传过去,对本身的存储带宽压力很大,而且也没有必要,因为首先浏览图片的终端可能不同,有的通过PC、手机来看,手机终端整个终端尺寸大小是相对来说比较小的,但是PC机尺寸大小是非常大的,所以没有必要尺寸非常小的应用场景要传个大图,可以传一个只适合适配的尺寸大小的图片这样CDN传输带宽就会非常小。同时还有其他的图片格式,像webp、hevc格式,这种格式相比Jpeg格式来说有更小的体积,所以用户传的是Jpeg,我们可以转为hevc或者webp给用户进行下载和体验,刚才说的问题就是要对这些海量图片进行处理,处理一是多种图片格式的转化。第二种是多尺寸的转化,还有裁剪、锐化、旋转等等操作,没有转码之前右边是整个应用逻辑的使用场景,整个使用方法是用户通过PC终端或者手机终端上传它的图片,经过腾讯后台的接入层处理以后进行图片转码,图片转码会转成多种图片格式、多个图片尺寸存储在分布式存储系统里面,当用户的终端浏览的时候,对应的从分布式存储系统里面取出相应格式或者尺寸的图片给用户看。这样就有个问题,为什么图片处理是在用户上传端进行转码而不是用户需要的时候转码呢,主要是用户浏览图片的时候是希望看到即所得需要一个非常低的延时,不是点一张图片过半天看到,有低延时的用户体验要求。

我们用FPGA进行图片转码以后,可以定义FPGA处理低延时特点的话,在整个图片转码的时候不在需要上传的时候存储不同格式,而是只要传一种格式、一种尺寸的图片存在分布式系统里面,用户需要浏览的时候会根据用户终端实时转码,转码来的图片再发给用户,这样做到图片转码节省整个存储的压力。

在具体FPGA里面是如何做到的这一点的呢,FPGA里面是实现几种图片格式的编解码和,图片是流水并行和数据并行的处理,提升图片转码的性能,做到高吞吐低延时,最后做到相比CPU延时降低3倍,吞吐增加6倍的效果。

在比较火的人工智能领域,这几年听到最多的名词就是人工智能,在人工智能这个场景腾讯的战略本身是AI in ALL的战略,把各种AI技术和各种应用场景结合,比如医疗影像、信息安全、语音翻译等。在信息安全场景上是如何加速的,首先信息安全领域QQ、微信有大量UGC图片上传,其中这些图片比较少的是违禁图片,大量的是正常出片,对于比较少的违禁图片如何进行打击,也是采用AI技术,但是会结合FPGA高性能低延时的优势。右图是整个处理逻辑,首先每天有上亿张图片上传到处理系统,会经过AI的极速模型,会把正常图片过滤出来,对于少量的可疑图片留下来,经过二级AI优模型做判断,到底是不是有恶意的图片,通过两个模型和FPGA的加速达到高性能的效果。

具体在FPGA里面是如何做到算法的加速的?在FPGA里面基本上实现了AI算法的算子操作,包括卷积、池化、归一化、激活函数,基本算子支持以后可以做到对AI算法实时的处理,数据流水的输入和处理,所有的计算单元都会同一时间内处理同一层的数据,这样可以达到低延时。右图是用具体的googlenet的模型,对比CPU、GPU、和FPGA,红色的是FPGAKU115,右边的是GPUP4,蓝色的是CGU,可以看到FPGA刚开始吞吐的时候就能够达到最大,GPU需要拼凑更大的数据做到吞吐,但是它的batchsize越大延时越大,所以可以跟GPU吞吐性能一样的情况下,FPGA延时达到10倍,TCO达到50%的降低。

FPGA在加速AI方面具体有哪些方面的优势?总结来说主要有三个方面:1、灵活可扩展,因为FPGA有可编程的效果,它可以快速支持AI算法的快速演进,爸爸DNN、CNN、LSTM以及决策树等等,支持任意精度的比特,可以用任何比特来举证你的数据。同时还可以支持模型的压缩、稀疏网络等网络模型。2、高性能低延时,可以构建实时的AI处理能力,特别到以后端云结合的AI长颈的时候,对于低延时的要求会更加高。前面也介绍了,与GPU相媲美的吞吐性能,较GPU数量级提升的低延时推断能力。3、开发环境持续优化,用户编程用tensorflow这种语言是抽象化比较低的,如何在这种环境下让用户用上AI呢,一方面是把AI里面把基本的算子做进一步的优化,提供更加完善的size,另外是对接编译器,这个编译器,只需要把模型通过编译器转化成认识的指令,通过这些指令FPGA加速,通过这种方法使FPGA的应用性相对来说比较提高。

第三部分介绍一下在FPGA云服务方面的发展。首先FPGA整个产业链是存在多个环节的,包括芯片原厂、硬件生产厂商、IP开发商、方案集成商。硬件生产商主要指生产板卡的,IP开发商是提供IP方案的,方案集成商是把方案、硬件板卡、方案打包的。FPGA云服务需要把这些技术资源整合,对外形成对用户的最终服务,相比整个GPU产业链来说,GPU是从芯片到板卡,到制造,到最终的编程框架都提供解决方案,FPGA云服务也是想通过云服务的场景把以前碎片化的使用方式平台化的应用方法。

介绍一下FPGA服务本身的价值,传统供应商,xilinx和altera芯片原厂,大客户直供,中小客户由代理商分校,不直接接触客户,增长是非常缓慢的。对于IP开发商来说以出售方式,不提供其他服务,IP只是零部件,并不是最终行业的解决方案,同时因为IP本身单身产权泄露一般要签署NDA并且要付费,所以整个交付周期是非常长、过程非常繁琐。反过来限制IP出售,对于方案集成商来说,原来的方式是技术人员带硬件设备拜访客户,现场演示讲解,最终把硬件设备留下来给用户进行验证测试,整个运营推广周期非常长,过程也是非常法所,硬件维护也非常麻烦。这是刚才讲的传统供应商的问题和痛点,对于用户本身的痛点来说,想使用FPGA开发的用户来说,要想用的话要解决用户生产制造、有硬件板卡还要有做FPGA的软件开发,整个硬件制造到软件开发的周期是特别长的,带来产业界、工业界想用FPGA的用户决策成本特别高试错成本也特别高。对于不做自己开发直接购买解决方案的话就相对来说依赖方案集成商,价格贵,升级改造也慢。FPGA本身没有成熟的开发生态,整个开发门槛高,反过来限制了FPGA生态的发展。

所以前面介绍的这些问题都是说,我们需要通过FPGA云平台的方式来打通各个零碎的行业,硬件生产商、方案集成商、IP开发商和芯片原厂,直接在云平台上做开发和行业的解决方案对用户进行提供,这样用户使用FPGA的门槛就会降低,而且整个使用也会容易很多。

最后通过这样一个平台对前面的传统供应商有哪些价值、用户有哪些价值。对于传统供应商来说,芯片原厂解决中小客户的难题,聚焦FPGA生态发展,新模式带来新的用户增长。IP开发商提供了在线的验证和测试,整个交付周期短,通过云覆盖更多的用户,增加销量。对于方案集成商来说就不再需要提供硬件售卖了,只需要通过服务器的方式提供给用户购买,按需购买,运营推广周期会缩短,硬件平台也由云平台厂商负责。

对于想用FPGA的用户来说,它的开发周期会艘段,同时因为云平台是相对来说非常公开的竞技场所,如果你的方案做不到最优或者别人比你更好的话,这个方案别人也不会使用,所以一般来说云平台上都会使用最新的技术带来整个生产效率的提高。在解决方案方面,在云平台上直接购买解决方案,跟云的客户生产环境相结合,验证周期会缩短,试错成本低,决策成本会降低,云自身本身带来的弹性扩容和收缩,这些都是给用户带来的价值。

腾讯的FPGA云服务是在17年1月份国内第一家发布的云服务器,发布以后主要集中在自研和第三方方案提供商提供更多的行业解决方案,包括图片处理、图片鉴黄和基因测序,让用户直接使用到用户解决方案,而不是直接看到FPGA的编程开发,在硬件板卡上,之前是KU115,即将上市VU9P和INTELstratin10。对于整个FPGA开发者来说,我想用FPGA云平台上的云服务器做自己的开发,有开发能力,对于这些用户来说我们提供了板卡上集成的PCLE电路和控制器,在软件CPU侧和驱动测的HDK,用户只需要关注逻辑的加速和软件侧应用程序的开发,可以节省整个开发周期。

前面讲的都是FPGA云服务,具体我们通过FPGA云服务的方式跟各行各业相联系,我们也针对各个行业需要做高性能计算的场景做具体的运营加速,其中在基因测序方面,随着测序成本逐渐降低,随之未来整个数据分析层会提高。懂事随着今年基因数据大的爆发式增长带来整个数据分析层面的计算瓶颈,我们通过FPGA对基因测序里面一些算法,耗时长的算法进行加速可以提高计算速度降低成本,右图就是我们在二代基因测序应用场景里面针对WGS这样一个流程,算法是BWA和GATK的算法,针对这个算法人的全基因组的测序,用CPU需要30小时,用CPU+FPGA可以做到2.8小时,可以做到10倍的提升,现在这样一个行业解决方案已经在腾讯基因产品里面完成了产品化,提供给用户使用。

最后谈一下FPGA云服务整个行业自己的思考,FPGA服务是新生事物,虽然前面介绍了各种应用场景或者加速上面有很多的优势或者好处,但是它的困难也有很多。FPGA本身各家云平台厂商都有提供FPGA的平台,这种平台化本身是没有统一的标准的,现在相当于各家都在按照自己的思路做FPGA平台的开发,这就带来了一个问题,整个平台的碎片化特别严重,对于想要提供FPGA行业解决方案的厂商来说需要根据各家云平台做迁移,行业的解决方案整个的迁移成本非常高。后面可能有FPGA行业的标准,我也拭目以待。

第二方面它的开发门槛高,行业解决方案少,FPGA相对来说还是非常底层的硬件电路的描述,抽象化是比较低的。

第三它的生态不太完善,没有形成正向循环,从开发者到行业解决方案、到客户使用、更多开发者这样一个正向循环,导致制革行业解决方案还是面向各家云平台商自研,没有发挥行业的力量发展及

腾讯的FPGA云服务规划是,1、在FPGA云平台建设方面,硬件平台的升级。IP市场,有更多AI的行业解决方案会推出来。2、FPGA生态发展,我们希望能够连接开发者和使用者建立一个评价体系,推动解决方案的迭代。

最后FPGA在端侧也大有所为,因为FPGA本身有丰富的IU管角,低延时的特性,端侧和云侧的方法,以后端云的结合也是一个非常大的空间。

今天的演讲就到这里,谢谢大家!


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

零基础学Minecraft编程

零基础学Minecraft编程

Martin O''Hanlon、David Whale / 中文Minecraft Wiki翻译团队 / 人民邮电出版社 / 2015-9-7 / 79

在你体验Minecraft冒险的同时,学习宝贵的编程技能! 如果你很喜欢玩Minecraft,却被游戏中的建造耗费大量时间而困扰,并且你想要对游戏添加一些改动,那么本书就是为你而设计的。在游戏中,你可以学习许多Python编程技能,在PC、Mac或树莓派上与游戏进行互动。这些冒险不仅局限在虚拟世界——你也将会学习如何将Minecraft与电子元件连接起来,这样你的Minecraft世界就能够......一起来看看 《零基础学Minecraft编程》 这本书的介绍吧!

JS 压缩/解压工具
JS 压缩/解压工具

在线压缩/解压 JS 代码

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具