AWS F1上线,深度解析FPGA与公有云的亲密接触

作者: CBISMB

责任编辑: 贾西贝

来源: ISMB

时间: 2017-05-19 10:22

关键字: AWS F1,AWSCP

浏览: 0

点赞: 0

收藏: 0

历经近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等曾经非常昂贵的开发软件,可见两家企业在云计算上的合作力度相当之大。

AWS F1正式上线,深度解析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服务用于远程调试。



©本站发布的所有内容,包括但不限于文字、图片、音频、视频、图表、标志、标识、广告、商标、商号、域名、软件、程序等,除特别标明外,均来源于网络或用户投稿,版权归原作者或原出处所有。我们致力于保护原作者版权,若涉及版权问题,请及时联系我们进行处理。