写点什么

开发者预览版——EC2 实例(F1)携手可编程硬件

  • 2019-11-19
  • 本文字数:2656 字

    阅读完需:约 9 分钟

开发者预览版——EC2实例(F1)携手可编程硬件

你是否曾经在通用型工具与专用型工具之间左右为难?通用型工具可以解决多种不同的难题,但却未必是特定问题的最佳解决选项。相反,专用型工具擅长处理特定问题,但工具的使用频率往往不会很高。


工程师们在设计架构及指令集时同样需要考虑这一问题。他们始终追求能在更加通用的工作负载范围内,提供更佳性能表现的解决方案。然而新型工作负载与工作条件不断涌现,只有定制化硬件才是性能最佳之选。这就要求我们在其中找到平衡点:是要极出色的性能水平,还是要保证以年甚至季度为周期进行衡量的开发生命周期?


走入 FPGA 时代

作为一种备受瞩目的解决方案,我们迎来了基于定制化硬件的现场可编程门阵列机制,或者简称为 FPGA。相较于单纯着眼于一种特定功能的专用型芯片,FPGA 拥有更为出色的灵活性。其能够在现场完成编程,而后再接入 PC 主板的插槽当中。每块 FPGA 中包含一组固定且数量可观的简单逻辑门。对 FPGA 进行编程“基本上”就是将这些逻辑门彼此对接,从而建立起必要的逻辑功能(包括 AND、OR 以及 XOR 等等)或者存储元素(触发器与移位寄存器)。不同于 CPU 的串行本质(即数个并行元素)以及固定大小的指令集与数据路径(通常为 32 位或 64 位),FPGA 能够以编程方式并行执行更多操作,而这些操作本身几乎不设任何宽度或者规模限制。


这种高并行模式非常适合用于构建定制化加速器,从而处理计算密集型工作负载。在经过有针对性的编程之后,FPGA 能够在基因组学、抗震分析、金融网络分析、大数据搜索以及加密算法及应用领域提供高达 30 倍的速度增量。


希望这些优势能够鼓励大家尝试利用 FPGA 加速您的应用程序!不过必须承认,要实现这样的效果,我们还需要克服一系列挑战。首先,FPGA 从传统角度讲属于大规模专用型系统的一类组件。大家无法单纯购买一款并将其接入自己的台式机。相反,实现 FPGA 型解决方案要求我们完成硬件原型设计、硬件设备构建、大规模生产以及漫长的销售与部署周期等筹备工作。漫长的实现时间会限制 FPGA 的适用性,这也意味着摩尔定律指导下的 CPU 类解决方案也许更具成本效益。


但我们相信,我们能够在这方面做得更好!

全新 F1 实例

现在,我们发布了全新 F1 实例的开发者预览版。除了构建应用及服务供您自己使用之外,大家也可以将其进行打包并在 AWS Marketplace 中出售并进行复用。总体而言,大家将能够避免使用 FPGA 支持型解决方案所带来的高昂资本投入与时间消耗,我们提供的方案将带来与其它类型软件相同的商业模式。大家将能够通过云工具设计您自己的逻辑、模拟方案以及验证流程,而后在数天之内将其推向市场。


F1 实例配备有英特尔 Broadwell E5 2686 v4 处理器(基本速度为 2.3 GHz,Turbo 模式下全核心可达 2.7 GHz,Turbo 模式下单核最高可达 3.0 GHz),最多 976 GiB 内存、最高 4 TB NVMe SSD 存储以及一到八块 FPGA,这意味着其能够为大家提供充足的资源以构建自己的核心 FPGA 逻辑。各 FPGA 专用于此实例,且以隔离方式确保在多租户环境下的不致相互影响。


下在来看该 FPGA 的具体规格(请注意,单一 F1 实例中最多可使用八块 FPGA):


  • Xilinx UltraScale+ VU9P,采用 16 纳米制程工艺制造。

  • 64 GiB ECC 保护内存,配合 288 位总线(四 DDR4 通道)

  • 专用 PCIe x 16 CPU 接口

  • 约 250 万逻辑元素

  • 约 6800 套数字信号处理(简称 DSP)引擎

  • 提供虚拟 JTAG 接口用于调试


在包含超过一块 FPGA 的实例当中,专用 PCIe 架构允许各 FPGA 共享同一套内存寻址空间并通过 PCIe Fabric 以最高每秒 12 GB 的单工速率实现彼此通信。单一实例中的各 FPGA 共同接入一套 400 Gbps 双向环状结构以实现低延迟水平与高传输带宽(大家需要定义自有协议以使用这项高级功能)。

FPGA 开发流程

作为这套开发者预览版中的组成部分,我们还提供 FPGA 开发者 AMI。大家可以在内存优化型或者计算优化型实例当中启动该 AMI,从而实现开发与模拟,而后利用 F1 实例进行最终调试及测试。



此 AMI 包含多款开发者工具,大家可以在 AWS Cloud 当中免费加以使用。您需要使用 VHDL 或者 Verilog 编写 FPGA 代码,而后利用Xilinx Vivado设计套件(当然也可以使用第三方模拟工具、高级语言编译器、图形编程工具以及 FPGA IP 库)对代码进行编译、模拟与验证。


下面来看一段简单 8 位计数器的 Verilog 代码示例:



虽然这些语言常被描述为使用类 C 语法,但这并不代表大家可以直接使用现有代码并通过重新编译将其应用于 FPGA 当中。相反,大家需要首先对 FPGA 编程模式进行深入了解,学习布尔代数,而后掌握传播延迟与时钟脉冲边沿等概念。在此基础之上,大家才能够开始考虑将 FPGA 引入您的业务环境。如果这些底层知识对您来说太过艰深,大家亦可使用各类现有高级综合工具,包括 OpenCL 等,进行 FPGA 编程。


在启动自己的实例后,我进行登录、安装多款软件包并设置许可管理器,而后即可运行 Vivado 工具。接下来,我 RDP 到桌面,打开一个终端窗口并以 GUI 模式启动 Vivado:



我随后打开该示例项目(counter.xpr),这就是我初次尝试后的 FPGA 设计与开发成果:



在一番探索之后,我了解了如何建立自己的首个 FPGA(其实我基本上就是到处点点并了解其作用; 我本人在这方面甚至连新手都算不上):



从这里开始,我可以测试自己的设计并将其打包为 Amazon FPGA 镜像(简称 AFI),而后将其运用在自有应用或者发布至 AWS Marketplace 当中。我还将继续摸索,希望能用几周时间弄清一切并向大家汇报。

F1 硬件开发工具包

在了解了 F1 实例之后,我的第一个问题是如何处理 FPGA、CPU 以及主内存之间的接口。F1 硬件开发工具包(简称 HDK)当中包含多款预配置 I/O 接口及示例应用,适用于包括主机到 FPGA、FPGA 到内存以及 FPGA 到 FPGA 等的多种通信方法。其还提供编译脚本、参考示例以及一套现场调试工具。这套工具包可供 F1 开发者预览版的各位用户随意使用。


总结评述

总体来讲,F1 实例、云开发工具与相关功能的结合共同实现了独特且强大的 FPGA 型应用方案。FPGA 模式的强大性能及灵活性如今已经可供每位 AWS 用户使用; 可以肯定,这将激发出前所未有的应用方式与企业业务实现途径。

预览版现已上线!

正如之前提到,全新 F1 实例现已在美国东部(北弗吉尼亚州)区域推出开发者预览版(我们还将在 2017 年年初将该实例的正式版本推向其它服务区)。如果大家此前拥有 FPGA 编程经验并对 F1 实例很感兴趣,请访问:


https://aws.amazon.com/ec2/instance-types/f1/


马上报名加入。


本文转载自 AWS 技术博客。


原文链接:https://amazonaws-china.com/cn/blogs/china/developer-preview-ec2-instances-f1-with-programmable-hardware/


2019-11-19 08:00719

评论

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

详解Java Chassis 3与Spring Cloud的互操作

华为云开发者联盟

Java 微服务 华为云 华为云开发者联盟 企业号2024年4月PK榜

百度获评CCIA数据安全和个人信息保护社会责任评价“三星”示范单位

百度安全

数据安全 隐私合规

Linux网络名称空间和Veth虚拟设备的关系

GousterCloud

终端SSH工具SecureCRT如何使用? mac SecureCRT使用教程 附SecureCRT永久安装密钥

Rose

新质生产力,点燃终端厂商的“办公”激情

脑极体

AIPC

草图大师2024下载 SketchUp Pro mac中文一键破解版

Rose

WidsMob AI Retoucher for Mac(AI照片编辑工具) 中文版

Rose

面向 NGINX 和 NGINX Plus 的 OpenTracing

NGINX开源社区

ruby OpenTracing Jaeger zipkin NGINX PLUS

Linux网络名称空间之独立网络资源管理

GousterCloud

网络 Linux Kenel

嵌入式软件开发应该掌握哪些知识?

芯动大师

嵌入式程序 嵌入式开发 嵌入式系统软件开发

《计算机程序设计艺术(第1卷):基本算法(第3版)》PDF

程序员李木子

支持M1/M2/M3:Omi NTFS磁盘管理助手下载

Rose

AutoSwitchInput Pro 自动切换输入法专业版for mac 支持M1、M2

Rose

油猴Safari浏览器插件 Tampermonkey for Mac中文破解版

Rose

大量数据如何做分页处理

华为云开发者联盟

开发 数据处理 华为云 华为云开发者联盟 企业号2024年4月PK榜

It is what it is

Echo!!!

English

好用的代码编辑-sublime text mac 中文最新永久注册码

Rose

Mac文件管理器和FTP客户端ForkLift中文破解版 支持M1和mac14系统

Rose

Mac破解软件:Beyond Compare 4 中文版永久密钥

Rose

mac虚拟机系统镜像下载-Windows11系统镜像安装包 及PD虚拟机安装包

Rose

【Mac/win永久激活】Acrobat Pro DC 2024直装便携版

Rose

数值计算和科学编程MATLAB R2023b中文版永久安装密钥【Mac/win]】

Rose

[自研开源] MyData v0.8.0 更新日志

LIEN

开源 数据仓库 数据融合 数据集成 API对接

大揭秘!时习知如何助力华为2024年中国政企合作伙伴商务精英赛?

平平无奇爱好科技

华为云耀云服务器X实例:柔性算力新物种,更强更省更智能的云基础设施

平平无奇爱好科技

如何学习业务架构技术

执于业务

开发者预览版——EC2实例(F1)携手可编程硬件_语言 & 开发_Q资讯_InfoQ精选文章