亚马逊首次披露启用FPGA的EC2实例

2016 年 12 月 28 日

2016 年的 re:invent 大会热火朝天地发布了一些公告,其中就包括推出了一种新的F1 实例类型的开发者预览版。F1 配有一到八个高端Xilinx 现场可编程门阵列( FPGA ),为英特尔 E5 2686 v4 处理器提供可编程硬件,让它可以与高达 976G 的 RAM 和 4T 的 NVMe 固态硬盘协同工作。FPGA 可用于风险管理、模拟、搜索和机器学习应用,或者任何能从经过硬件优化的协同处理器中受益的场景。

FPGA 自 80 年代中期以来一直存在,并且是制作专用集成电路(ASIC)原型和非量产专用硬件的一种流行方式。对于典型应用,专用硬件的速度比在 CPU 上运行的软件快约 1000 倍,并且随着时间的推移,FPGA 的装配按照摩尔定律得到了提高,使得它在过去的几十年中保持了速度优势。遗憾的是,FPGA 速度优势一直难以得以利用,因为它要求使用诸如 Verilog VHDL 这样的硬件描述语言( HDL )来进行硬件编程。已经有人尝试了在更高级语言和框架中对 FPGA 编程,比如 C 和 OpenCL ,但是通常要在简单性和速度之间折中。

F1 实例类型提供了采用 16nm 工艺制造的 Xilinx UltraScale+ VU9P 器件。每个芯片提供超过 250 万个逻辑元件。FPGA 通过 PCIe x16 接口连接到 CPU 和内存,通过共享访问同一存储空间,可提供高达 12 Gbps 的双向通信速度。在单个实例包含多个 FPGA 的情况下,它们还可以共享对 400 Gbps 双向环的访问,以实现低延迟通信。虽然这一切听起来令人印象深刻,但是对于那些一直使用快速通道互连( QPI )的 FPGA 的人而言,这仍然令人失望,因为 QPI 为放置在 CPU 插槽中的 FPGA 提供了更高的带宽和更低的延迟。然而,双向环将被证明是利于多个 FPGA 设计的。

为 FPGA 编程选择有效的工具通常是一件具有挑战性的事情,亚马逊通过提供包含设计和验证工具在内的亚马逊系统映像( AMI )解决了这个问题。FPGA 可以使用 VHDL 或 Verilog 进行编码,并使用 Xilinx Vivado 设计套件(Xilinx Vivado Design Suite)进行验证。一旦设计完成,就可以打包成亚马逊 FPGA 映像(AFI),它扩展了通常的 AMI。之后 AFI 会出现在 AWS Marketplace 中,以便可以向其他人提供基于 FPGA 的应用程序。

相比于通用 CPU 上运行的软件,如果在 FPGA 硬件编程上投入的时间能够换来规模的提升和延迟的降低,那么就可以使用 FPGA。典型的例子有,网络中的网速深度包检查(例如, Xilinx 论文 [pdf] )、金融服务中的低延迟交易系统(例如,海德堡大学论文[pdf] )、搜索引擎优化(例如, Microsoft Project Catapult )以及机器学习(例如,Tensor 处理单元 [ TPU ] 似乎是用FPGA 做的原型)。其中一些用例是以网络为中心的,这意味着网络流量将需要迁移到AWS 网络以便让FPGA 发挥效力。例如,为了降低应用交易延迟,AWS 必须取代现有的托管提供商成为交易和金融市场流动性的优选平台。在短期内,F1 可能主要用于机器学习和专业数据分析应用程序。

F1 让人感到惊喜的一点是,它不是基于英特尔的至强芯片。至强芯片将 CPU 和 FPGA 放置在同一个管芯上,这是由于英特尔在 2015 年收购了 Altera。所以不久后很可能会有一个 F2 实例类型。FPGA 服务将显著降低使用该技术的准入门槛,这将激起一股简化开发者体验的新浪潮。这个是有一些早期征兆的,比如 Reconfigure.io 发布了一个为 FPGA 加速器提供 Go 语言支持的平台,原先运行在软件里的串行通信Go 程序就可以变成运行在硅元件里的并行通信Go 程序。还值得注意的是,像 MyStorm 这样的开发小组正在把他们的 FPGA 开发向相关爱好者开放。

查看英文原文: Amazon Preview FPGA enabled EC2 Instances


感谢薛命灯对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ @丁晓昀),微信(微信号: InfoQChina )关注我们。

2016 年 12 月 28 日 18:001397
用户头像

发布了 33 篇内容, 共 84505 次阅读, 收获喜欢 7 次。

关注

评论

发布
暂无评论
发现更多内容

作业一:食堂就餐卡系统设计

亮灯

架构方法 - 架构师如何做架构总结(1)

Paula_l

架构师第一周作业

suke

极客大学架构师训练营

架构师训练营第一周-总结

butterfly

架构师训练营第1周作业

一叶知秋

架构师训练营Week 01 学习总结

Just顾

「架构师训练营」第 1 周作业 - 食堂就餐卡系统设计

butterfly

【第一周】架构训练营总结

星星

食堂就餐卡系统架构设计图

阿布

架构师0期第一周总结

Nan Jiang

架构师如何进行软件架构设计学习总结

一点点..

训练营第一周学习总结

毛叫

极客时间 极客大学架构师训练营

架构训练学习总结一

mylove321

【总结】架构师如何做架构

张金峰

极客大学架构师训练营

成为架构师(训练营week1)

Feng

极客大学架构师训练营

架构师训练营第1周-食堂就餐卡系统设计

海滨

极客大学架构师训练营

week01-就餐卡系统架构设计

强哥

极客大学架构师训练营

架构师训练营 第一周 总结 架构师与架构

CR

极客大学架构师训练营

【总结】如何成为架构师

Geek_165f3d

【架构师week01】作业

高程

架构师 作业

架构师训练营第1周学习总结

一叶知秋

架构师训练营学习总结

weijin

「架构师训练营」第一周总结

极客

第一周作业一:食堂就餐卡系统设计

Larry

软件架构师的设计语言

dony.zhang

【架构师week01】总结

高程

总结 架构师

架构homework1-2

蜡笔小晗

【第一周】食堂就餐卡架构设计

星星

架构师、架构

stars

架构师训练营第一周【作业】

小K

食堂就餐卡系统设计

走过路过飞过

亚马逊首次披露启用FPGA的EC2实例-InfoQ