阿里云F1环境
硬件
阿里云 FaaS F1 使用基于20nm工艺的Intel Arria 10 1150 FPGA,提供了良好的高速及并行性能支撑;DDR为64-bit SODIMM,运行频率2133MHz,两套内存能提供34GB/s的数据缓存带宽;和Host通信为8-Lane PCIe GEN3;同时提供丰富的内部可配时钟资源供开发使用。
硬件规格:
规格 |
描述 |
尺寸规格 |
169.5mm x 68.9mm, 标准半高半长,占单个槽位 |
FPGA型号 |
A10 1150 |
PCIe接口 |
PCIe GEN3 X8 |
内存 |
2 x DDR4 2133, 容量为2 x 8GB |
Flash |
2Gbit容量,32bit位宽,用于存储FPGA程序 |
Ethernet接口 |
暂不支持 |
时钟模块 |
系统时钟可配置 |
电源 |
整板由PCIe插槽供电,无需外部供电,符合PCIe标准 |
功耗 |
45W(Peak),30W(Average) |
散热 |
主动散热 |
工作环境温度 |
理想环境温度 0-30℃,最高55℃ |
加载升级 |
支持在线加载重加载用户逻辑,支持远程升级Flash |
峰值性能 |
1.5TFlops |
更新shell image |
5分钟 |
目前公开了并提供下述两种实例供客户选择。
实例规格 |
vCPU |
MEM |
FPGA |
内网带宽(Gbit/s) |
内网收发包(万PPS) |
多队列 |
f1-c8f1.2xlarge |
8 |
60 |
Intel A10 x1 |
2 |
80 |
4 |
f1-c28f1.7xlarge |
28 |
112 |
Intel A10 x1 |
5 |
200 |
8 |
软件
阿里云为F1平台开发与部署提供“FaaS F1基础镜像”,预装了授权的Quartus 17.0、Synopsis VCS 2017.3仿真环境、基于Intel DCP1.1(包含HDK、SDK以及文档) 的开发环境,并包含开发实例。这个镜像同时支持RTL和OpenCL的开发,无需切换Shell。预安装环境的镜像为客户提供了即开即用的便利体验。
阿里云提供安全隔离系统,实现下载镜像的统一管理和安全隔离机制。用户可以使用faascmd软件把编译好的加速器转换为阿里云的下载镜像,并下载到相应的FPGA。从安全和系统管理的角度,阿里云不会提供直接下载Bitstream到FPGA的接口。 同时,faascmd软件也提供全套的镜像管理流程,例如查看、删除及上传等等操作。
阿里云同时提供支持流程使得加速器开发商可以将加速器下载镜像,或者虚拟机镜像发布到Marketplace进行销售和分享。
开发与部署
通常一个加速器设计到涉及到软件和硬件的开发。阿里云基于Intel DCP(Discrete Configurable Platform)提供了相应的SDK和HDK来支持F1平台的加速逻辑设计。平台结构如下图。
SDK包括Drivers和Library。用户可以基于SDK开发自己的应用Application。 Driver层面主要由Intel OPAE(Open Programmable Acceleration Engine)支持,完成和FPGA交互的各种底层驱动,例如bitstream处理,数据交换以及系统数据交互仿真环境等等;Library可由用户或者官方共同提供,用于支持特定场景的应用开发。
HDK提供了FPGA内部Shell来处理一些公用的接口逻辑,例如PCIe,外部DDR控制,时钟控制等通用接口逻辑。用户需要根据这些通用逻辑的接口要求开发AFU(Accelerator Function Units)。DCP中加速模块和上位机交互主要通过CCI接口来作为桥梁;同时提供基于Avalon-MM总线接口的外部存储接口(EMIF)来访问DDR RAM。
在F1基础镜像中,分别基于RTL开发的实例dma_afu和基于OpenCL流程的实例Matrix Multiplication。开发者可以参照例程快速开发自己的加速应用。