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

1. 背景

历经近 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 还为 FPGA 开发了新的镜像格式,称为 AFI(Amazon FPGA Image)。AFI 是 AWS 统一管理加速器镜像的一种核心机制。用户可使用 aws ec2 create-fpga-image命令将编译好的加速器注册为 AWS AFI,然后可在任意 F1 实例上使用 AFI Management Tools部署执行。AFI 是 F1 实例上对 FPGA 编程的唯一方式,从安全和管理角度考虑,Amazon 目前没有今后应该也不会提供直接下载 Bitstream 到 FPGA 的接口。

这样,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,他们各自使用到的功能特性列在下表。开发者可以参照例程,快速开始开发自己的加速应用。

3.2 开发流程

上图是知乎专栏 [微阵] 作者 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 也比较朴素,互联网和芯片产业的初次亲密接触还会有一个不短的磨合期。未来可期,只要方向对,技术能解决的问题都不是问题。

本文作者:AI研习社

本文转自雷锋网禁止二次转载,原文链接

时间: 2024-10-24 17:33:05

AWS F1 正式上线,深度解析 FPGA 与公有云的亲密接触的相关文章

狼真的来了:亚马逊公有云服务AWS正式落地中国

亚马逊http://www.aliyun.com/zixun/aggregation/13671.html">公有云服务AWS(Amazon Web Services)已经与宽带资本旗下云基地达成战略合作,实现了AWS在中国的正式落地. 双方将于18日下午正式召开发布会,届时宽带资本董事长田溯宁.亚马逊AWS全球高管.运营商.政府部门的相关人士出席. 作为业界最大,最成熟的公有云服务,亚马逊的缺席一直是中国互联网云计算领域的缺憾之一. 与此同时,亚马逊AWS的缺席,也给了国内公有云发展以喘

阿里云FPGA云服务器 F1 正式售卖

产品介绍: ["FPGA云服务器一款提供了现场可编程门阵列(FPGA)的计算实例,基于阿里云弹性计算框架,用户可以几分钟内轻松创建FPGA实例,创建自定义的专用硬件加速器.F1家族以Intel Arria10 FPGA为异构计算核心器件,目前支持一机单卡,支持8 vCPU 以及 28 vCPU两种配置."]产品功能及优势: FPGA云服务器 F1 核心功能及优势:1. 高性价比FPGA开发平台,Intel Arria10系列FPGA,提供完整统一的云上开发环境,让FPGA开发者无需关注

深度解析AWS云服务

作为世界上用户最多.技术最成熟的公有云服务,亚马逊的AWS无意是开发者们公有云平台的第一选择.自2013年12月亚马逊AWS公有云服务落地中国,亚马逊AWS在中国市场展开了一系列的活动,激发了国内开发者对亚马逊AWS云平台的热情. 亚马逊AWSome Day是一次为广大开发者.系统管理员和架构师,还有IT经理.总监.业务主管准备的AWS 技术盛典.继在北京.上海.深圳.成都.广州.厦门等城市的成功举办,本月AWSome Day由回归北京.本次AWSome Day是AWS联合CSDN AWS中文技

需求、系统、动机如何满足?阿里云推荐系统架构深度解析

为什么做推荐? 推荐本质上并不是一个很新的话题.从很早开始,尤其从互联网出现之后,大家面临一个问题,我们怎么样从海量的数据里获得自己需要的内容?这实际上也经历了很长的过程,最开始的时候并不是推荐,而是分类导航.做分类导航最好的公司就是雅虎,那个时候互联网的数据还不是特别多,可以通过人工或者一些简单的分类方法整理出一个目录出来,大家就可以按这个目录一层层往下走,比在原来在网上找好很多.但分类导航由于分类的标准不一样,人和人认知的差异性,后来谷歌的出现促使了雅虎在这个领域的沉寂. 搜索就是下一代解决

弹性计算峰会及神龙云服务器深度解析回顾

10月13日上午,云栖大会弹性计算全新企业线峰会主要内容有对弹性计算做了全面的精彩总结和产品细节分享,议程里发布了这个时代的新物种"神龙云服务器",当日在阿里云官网首屏神龙云服务器也同步发布上线,峰会现场研发总监张献涛对神龙云服务器做了深度解析,并在圆桌讨论环节为观众做了解答. 蒋林泉认为:"阿里云ECS是全世界最快的云主机." ECS超级稳定 背后的秘密是强健的IDC基础设施+飞天大规模智能运维能力:飞天自研领先核心虚拟化技术+业界最新的硬件架构,其中计算虚拟化核

网易的手越伸越长 保健品商城正式上线

商报讯 (实习生 吕静仪 记者 郭雪红 ) 网易的手越伸越长,这次瞄准的是保健品领域.昨天,记者从网易得到证实,网易保健品商城于今天正式上线.目前,自然之宝.十一坊.健安喜.喜瑞等欧美主流保健品品牌和养生堂.汤臣倍健(300146,股吧)等国内知名品牌均已进驻.这也意味着,网易正式抢滩保健品网购市场.有数据显示,目前国内保健品的网络交易规模已达60亿元,并且还在以成倍的速度增长. 前后酝酿了一年时间 "中国目前处于人均GDP从4000美元向8000美元的跃进阶段,保健品的消费属性逐步从可选消费品

“拍到家”APP正式上线,实现生鲜2小时内快速送达

3月16日,京东 "拍到家"APP在苹果应用商店正式上线,这是一款为解决大众对生鲜食品.服务类产品的实际需求而上线的互联网产品.此款APP应用被京东集团CEO刘强东称为"具备战略属性的京东O2O产品",旨在打造生活服务一体化应用平台,并依托京东强大的物流体系,让大众真正实现"足不出户,便利生活",省时省力省心. "拍到家"APP正式上线 "拍到家"将向用户提供3公里范围内生鲜及超市产品的配送,及鲜花.外卖送

国内首家园区一站式云自助服务平台巍云在线电商平台正式上线运营

11月25日,中启创科技自主研发的国内首家园区一站式云自助服务平台--巍云在线电商平台正式上线运营,其首创了云计算服务在线上.线下双轨运营(O2O)模式.该平台最大的特点为全自动.全自助,全自主,用户可直接在"巍云在线"中迅速得到任意需要的业务应用,轻松完成在线注册-登陆-选品-下单-支付-交付,实现以租代买. IT能力按需交付.客户应用一键部署.资源使用弹性伸缩. 中启创"巍云在线"--国内首家园区企业一站式IT云自助服务平台 据了解,中启创已成为国内最大的产业园

“盛大云”正式上线 提供企业级云服务

"盛大云"官网 近日,"盛大云"官方网站近日(www.grandcloud.cn)正式上线,公布了其主要云计算产品:云主机.云硬盘.云存储.数字分发.云监控等相关信息.据悉,这些产品将于近日对外公测.目前,已接受"盛大通行证"的注册. 从官网上已经发布的产品信息来看,"盛大云"旨在打造一个为中国企业提供公有云服务的平台,目前已经建立起一个较为完整的云计算产品线,可以提供全产品链服务.这种模式近似于在国外已经取得了广泛认可和成功