0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

一文详解FPGA与公有云的亲密接触

Hx 作者:工程师陈翠 2018-07-05 08:13 次阅读

历经近5个月的邀请内测,Amazon AWS于4月20日宣布FPGA EC2实例F1正式上线。就在F1内测公布后这短短几个月时间,国内互联网巨头BAT加华为纷纷借势宣布开展FPGA云加速器业务,这一波异构计算之风势头之猛可见一斑。

其实,FPGA以其高能效和可重编程的优势,在大型互联网企业内部早有应用并逐渐成为常态。例如媒体压缩,加解密,AI,大数据处理等领域,FPGA方案较传统CPU和GPGPU,往往可达到几倍甚至几十倍的能效提升。然而过高的开发门槛和开发成本,却让中小型企业对FPGA技术可望而不可及。即便是大企业,力量也只够集中开发有数的几种加速器难以全面铺开。

FPGA结合云计算形成新的FPGA-as-a-Service或者Accelerator-as-a-Service平台,则可以整合多方资源解决上述问题。平台厂商与FPGA硬件厂商合作,在云端提供统一硬件平台与中间件,可大大降低加速器的开发与部署成本。加速器开发商的加速器上传到云,可以形成服务销售给加速器用户,消除加速技术与最终用户的硬件壁垒。而加速器用户则能够在无需了解底层硬件的情况下,直接按需购买和使用加速服务,较传统方案更快更省地完成数据处理。

FPGA云服务作为一种面向未来的全新平台,横跨互联网与芯片设计领域,相信对任何人都是新鲜和陌生的。本文就为大家介绍一下AWS F1的结构特征以及具体的开发部署方式。

2. AWS F1实例

2.1 硬件

AWS F1使用的是Xilinx最新一代UltraScale+架构的高配FPGA VU9P,并提供上图所示的两种EC2实例。两种实例都属于高配机型,虽然较其他EC2服务器每小时单价贵出不少,考虑到Xilinx官方VU9P开发版VCU118 $6,995的高价,单FPGA实例$1.65/hr的定价还是非常公道和容易接受的。$1.65/hr就可以用上高端FPGA,这也降低了科研和个人开发者的使用门槛。

不过需要注意的是,这两个实例都使用了大容量SSD,SSD存储要另行计费。再就是FPGA开发编译时间较长(F1的Hello world约4小时。。。),可以选择便宜的非FPGA实例编译,或者选择本地编译。

2.2 软件

AWS传统服务器是配套AMI(Amazon Machine Image)使用,AMI是预装操作系统与服务的服务器硬盘镜像。AWS为F1开发与部署提供了FPGA Developer AMI,其中预装了免费授权Xilinx Vivado和SDx开发软件,以及管理FPGA必要的软件和驱动。预装开发环境的AMI即开即用非常简便,但动辄几小时的编译时间也增加了开销。为了让开发者可以本地编译,Xilinx专门为Amazon F1提供了免费的使用授权(详见:Xilinx Vivado Design Suite for Public Cloud),如下图所示,免费项目包括Vivado System Edition (限VU9P)、Partial Reconfiguration、SDAccel等曾经非常昂贵的开发软件,可见两家企业在云计算上的合作力度相当之大。

一文详解FPGA与公有云的亲密接触

AWS传统服务器是配套AMI(Amazon Machine Image)使用,AMI是预装操作系统与服务的服务器硬盘镜像。AWS为F1开发与部署提供了FPGA Developer AMI,其中预装了免费授权Xilinx Vivado和SDx开发软件,以及管理FPGA必要的软件和驱动。预装开发环境的AMI即开即用非常简便,但动辄几小时的编译时间也增加了开销。为了让开发者可以本地编译,Xilinx专门为Amazon F1提供了免费的使用授权(详见:Xilinx Vivado Design Suite for Public Cloud),如下图所示,免费项目包括Vivado System Edition (限VU9P)、Partial Reconfiguration、SDAccel等曾经非常昂贵的开发软件,可见两家企业在云计算上的合作力度相当之大。

这样,AMI定义虚拟机系统镜像,AFI定义FPGA加速器镜像,两者合起来就能配置一台完整的带FPGA加速的服务器。加速器开发商可以将加速器AFI,或者AMI+AFI发布到AWS Marketplace进行销售。而加速器用户只需使用传统的EC2流程即可购买开启FPGA加速实例。

3. 开发与部署

3.1 HDK与SDK

一个完整的FPGA加速项目涉及到软件开发和硬件开发。软件开发环境通常称为SDK,相对应的,AWS提供了HDK(Hardware Development Kit)来支持F1 FPGA上的客户逻辑设计。HDK中包含一个Shell逻辑层,提供了PCIe、DDR控制、时钟控制等通用服务逻辑。HDK还提供了一些自动化脚本帮助客户编译加速器,并打包成可以注册AFI的tar格式。

F1的SDK提供了实用的FPGA部署工具。部署工具就是上面提到过的AFI Managment Tools, 使用这些程序可以查看、加载、清除FPGA上的客户逻辑,也可以启动AWS开发的虚拟JTAG服务用于远程调试。

目前HDK和SDK带有两个简单实例的软硬件代码,CL_HELLO_WORLD和CL_DRAM_DMA,他们各自使用到的功能特性列在下表。开发者可以参照例程,快速开始开发自己的加速应用。

一文详解FPGA与公有云的亲密接触

3.2 开发流程

一文详解FPGA与公有云的亲密接触

上图是知乎专栏[微阵]作者jonsonxp总结的当前F1客户逻辑(CL)的开发流程。

加速器开发者提供CL源代码(e.g. Verilog, VHDL, SystemVerilog),为了保护客户的设计资产,首先必须使用IEEE P1735(详见Xilinx手册UG1118)对源代码进行加密处理。加密选项可同时保护源码和最终生成的DCP文件。未经加密生成的DCP在生成AFI时会报错失败。

加密后的CL源码经过逻辑综合,再和HDK中的Shell逻辑组合形成完整的FPGA设计,就可以按照正常的Vivado设计流程进行布局布线以及物理优化。最终我们要提交到AWS的文件不是通常的Bitstream,而是布局后的DCP和一个描述设计的manifest.txt文件。这两个文件打包成tar上传到开发中的AWS S3云存储,就可以调用AWS CLI的aws ec2 create-fpga-image命令将加速器注册为可在任意F1实例上部署的AFI。由于F1 HDK中提供了完整的样例和自动化脚本,基本上开发者只要准备好源文件,剩下的工作都可以自动完成。

事实上,整个开发流程只有三个必要条件,一是使用AWS的官方Shell进行开发,二是CL必须加密,三是生成合法DCP以及提供正确的Manifest.txt。开发过程和客户逻辑上几乎没有过多的限制,这对开发者是非常友好的。相比其他一些正在进行的FPGA云方案,他们基于安全原因或者管理系统不成熟,大多只对客户暴露OpenCL开发界面,这对源码保护和硬件开发的自由度都有影响。

3.3 加速器部署

加速器注册为AFI后,AWS会返回一个AGFI(Amazon Global FPGA Image ID)用于部署。在F1实例上为FPGA加载加速器也非常容易,如下面命令所示,该命令将AGFI为agfi-0123456789abcdefg的加速器加载到本地服务器PCIe Slot 0上的FPGA。

$ sudo fpga-load-local-image -S 0 -I agfi-0123456789abcdefg

目前AGFI部署加速器好像还没有权限管理,任何人只要知道加速器的AGFI就可以随意使用,存在一定安全问题。再者,AWS F1目前支持(虚拟)服务器级别部署,没有FPGA虚拟化功能来支持单FPGA加载多加速器,如果使用虚拟化技术可以进一步提高FPGA的使用率并降低部署成本。不过F1刚刚起步,相信一切都在完善之中。

4. 结语

传统基于CPU的单一架构云服务经过多年粗放发展,逐渐难以维持快速增长的计算需求。在云端使用FPGA开发高能效定制硬件,从而降低计算成本已成大势所趋。趋势之下,先行者微软的Catapult 1代和2代给我们展示了成功的应用场景,但微软并没有将技术开放出来,普通开发者可见而不可得。而Amazon的AWS F1依托多年开发完善的AWS云平台体系,从AMI扩展出AFI,从SDK扩展出HDK,非常平滑地将传统云资源管理,扩展为可以支持FPGA加速器的服务器管理系统,并围绕加速器开发者和加速器用户建立起云平台,才是将FPGA技术带入主流互联网市场的重要一步。我们也看到,当前F1应用实例还不多,管理工具以及HDK和SDK也比较朴素,互联网和芯片产业的初次亲密接触还会有一个不短的磨合期。未来可期,只要方向对,技术能解决的问题都不是问题。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • FPGA
    +关注

    关注

    1600

    文章

    21281

    浏览量

    592851
  • 公有云
    +关注

    关注

    1

    文章

    92

    浏览量

    17338
收藏 人收藏

    评论

    相关推荐

    SAP ERP公有:释放企业潜能的无限可能

    公有
    jf_51833836
    发布于 :2023年09月05日 23:28:40

    【MICOKit内测体验】体验之旅三:第一次亲密接触

    经过几天的不谢努力,终于连接上次。第次的亲密接触,感觉很好,神奇的APP互动,遥控的感觉就是运筹帷幄之中,操控千里之外。之前老是连接不上,连接时APP卡死在界面,开发板上能够GOT WIFI
    发表于 07-22 16:56

    私有云和公有的对比。

    `前几天发了个关于GOONAS私有存储服务器的帖子,关注的人挺多,今天我来分享下私有云和公有的区别:1、公有
    发表于 06-09 10:37

    [下载] 【NB-IOT必看】CoAP 网关公有使用教程

    今年又直在说NB-IOT,本人写了个关于CoAP 网关公有使用教程,和大家分享下,反正不要钱,起研究下吧。另外第次写教程,求关注和鼓
    发表于 09-12 17:42

    【新手必看】CoAP 网关公有使用教程

    【新手必看】CoAP 网关公有使用教程
    发表于 09-20 10:34

    CoAP 网关公有使用教程

    本帖最后由 lee_st 于 2017-10-31 09:04 编辑 【新手必看】CoAP 网关公有使用教程
    发表于 10-21 15:07

    【HarmonyOS HiSpark Wi-Fi IoT 套件试用连连载】我和鸿蒙的亲密接触----开箱报告

    恢复正常,这里我就很感叹了,衔接性太好了。流畅性,我对于鸿蒙有了别样的兴趣,开箱体验很舒服,下面就要和鸿蒙来进行亲密接触了。`
    发表于 10-19 21:46

    【HarmonyOS HiSpark Wi-Fi IoT套件】我和鸿蒙的亲密接触----开箱报告

    ,尝试连接OLED显示板失败,请插上OLED显示板的信息。在我插上OLED显示板的瞬间,报错消失,功能恢复正常,这里我就很感叹了,衔接性太好了。流畅性,我对于鸿蒙有了别样的兴趣,开箱体验很舒服,下面就要和鸿蒙来进行亲密接触了。
    发表于 10-20 17:01

    与SD卡式和硬盘式车载DVR亲密接触

    ,不存在防震的说法(除非是插口松动、接触不良);2、体积小、携带方便、取用方便、车载主机可以设计的非常小巧;3、省电,发热量小,稳定性好,出问题修复性强; SD卡车载录像机最大的个弊端就是录像时间短、存储
    发表于 11-23 15:29

    Fibocom 公有之腾讯 技术资料

    Fibocom 公有之腾讯 技术资料内容如下:1、腾讯连接教程2、腾讯连连小程序使用教程3、腾讯连连公众号使用教程4、设备与设备之间联动教程5、【培训】腾讯连连助力消费物联产业数
    发表于 01-05 12:00

    Fibocom 公有之华为 技术资料

    Fibocom 公有之华为 技术资料内容如下:1、华为连接教程2、华为相关课程3、【培训】华为
    发表于 01-05 12:12

    Fibocom 公有之阿里 技术资料

    Fibocom 公有之阿里 技术资料内容如下:1、阿里连接教程2、阿里相关课程3、阿里
    发表于 01-05 15:03

    网友购机:我和低价本本的亲密接触

    网友购机:我和低价本本的亲密接触  昨天,旧时的一同事请我陪他一起去购买本本。笔者以为有必要将购买过程和大家谈谈,使今后大家对于
    发表于 01-25 10:40 358次阅读

    浅析毫米波雷达的概念和工作原理

    本文,我们和毫米波雷达来一次“亲密接触”,了解一下它的概念和工作原理。
    的头像 发表于 07-19 09:50 3.6w次阅读

    为什么5G手机大多数重量很重?

    “啪”当手机和脸部亲密接触的前一刻,你一定在祈求手机别太重。
    的头像 发表于 02-22 15:54 9539次阅读