日本在线看黄a美女久草|日本动漫亚洲在线一区|日韩人妻无码免费视频|A√有码中文字幕|日韩一级片视频热久久久|一区二区三区四区精品无码在线|亚洲AV成人无码一二三app|亚洲综合图片绯色|91极品人妻在线网站|国产成人精品一区二三区四区五区

您正在使用IE低版瀏覽器,為了您的雷峰網(wǎng)賬號(hào)安全和更好的產(chǎn)品體驗(yàn),強(qiáng)烈建議使用更快更安全的瀏覽器
此為臨時(shí)鏈接,僅用于文章預(yù)覽,將在時(shí)失效
人工智能開(kāi)發(fā)者 正文
發(fā)私信給AI研習(xí)社
發(fā)送

0

AWS F1 正式上線,深度解析 FPGA 與公有云的親密接觸

本文作者: AI研習(xí)社 編輯:賈智龍 2017-04-27 17:03
導(dǎo)語(yǔ):看完本文了解AWS F1 。

1. 背景

歷經(jīng)近 5 個(gè)月的邀請(qǐng)內(nèi)測(cè),Amazon AWS 于 4 月 20 日宣布 FPGA EC2 實(shí)例 F1 正式上線。就在 F1 內(nèi)測(cè)公布后這短短幾個(gè)月時(shí)間,國(guó)內(nèi)互聯(lián)網(wǎng)巨頭 BAT 加華為紛紛借勢(shì)宣布開(kāi)展 FPGA 云加速器業(yè)務(wù),這一波異構(gòu)計(jì)算之風(fēng)勢(shì)頭之猛可見(jiàn)一斑。

其實(shí),F(xiàn)PGA 以其高能效和可重編程的優(yōu)勢(shì),在大型互聯(lián)網(wǎng)企業(yè)內(nèi)部早有應(yīng)用并逐漸成為常態(tài)。例如媒體壓縮,加解密,AI,大數(shù)據(jù)處理等領(lǐng)域,F(xiàn)PGA 方案較傳統(tǒng) CPU 和 GPGPU,往往可達(dá)到幾倍甚至幾十倍的能效提升。然而過(guò)高的開(kāi)發(fā)門(mén)檻和開(kāi)發(fā)成本,卻讓中小型企業(yè)對(duì) FPGA 技術(shù)可望而不可及。即便是大企業(yè),力量也只夠集中開(kāi)發(fā)有數(shù)的幾種加速器難以全面鋪開(kāi)。

FPGA 結(jié)合云計(jì)算形成新的 FPGA-as-a-Service 或者 Accelerator-as-a-Service 平臺(tái),則可以整合多方資源解決上述問(wèn)題。平臺(tái)廠商與 FPGA 硬件廠商合作,在云端提供統(tǒng)一硬件平臺(tái)與中間件,可大大降低加速器的開(kāi)發(fā)與部署成本。加速器開(kāi)發(fā)商的加速器上傳到云,可以形成服務(wù)銷售給加速器用戶,消除加速技術(shù)與最終用戶的硬件壁壘。而加速器用戶則能夠在無(wú)需了解底層硬件的情況下,直接按需購(gòu)買和使用加速服務(wù),較傳統(tǒng)方案更快更省地完成數(shù)據(jù)處理。

FPGA 云服務(wù)作為一種面向未來(lái)的全新平臺(tái),橫跨互聯(lián)網(wǎng)與芯片設(shè)計(jì)領(lǐng)域,相信對(duì)任何人都是新鮮和陌生的。本文就為大家介紹一下 AWS F1 的結(jié)構(gòu)特征以及具體的開(kāi)發(fā)部署方式。

2. AWS F1 實(shí)例

2.1 硬件

AWS F1 正式上線,深度解析 FPGA 與公有云的親密接觸

AWS F1 使用的是 Xilinx 最新一代 UltraScale + 架構(gòu)的高配 FPGA VU9P,并提供上圖所示的兩種 EC2 實(shí)例。兩種實(shí)例都屬于高配機(jī)型,雖然較其他 EC2 服務(wù)器每小時(shí)單價(jià)貴出不少,考慮到 Xilinx 官方 VU9P 開(kāi)發(fā)版 VCU118 $6,995 的高價(jià),單 FPGA 實(shí)例 $1.65/hr 的定價(jià)還是非常公道和容易接受的。$1.65/hr 就可以用上高端 FPGA,這也降低了科研和個(gè)人開(kāi)發(fā)者的使用門(mén)檻。

不過(guò)需要注意的是,這兩個(gè)實(shí)例都使用了大容量 SSD,SSD 存儲(chǔ)要另行計(jì)費(fèi)。再就是 FPGA 開(kāi)發(fā)編譯時(shí)間較長(zhǎng)(F1 的 Hello world 約 4 小時(shí)。。。),可以選擇便宜的非 FPGA 實(shí)例編譯,或者選擇本地編譯。

2.2 軟件

AWS 傳統(tǒng)服務(wù)器是配套 AMI(Amazon Machine Image) 使用,AMI 是預(yù)裝操作系統(tǒng)與服務(wù)的服務(wù)器硬盤(pán)鏡像。AWS 為 F1 開(kāi)發(fā)與部署提供了 FPGA Developer AMI,其中預(yù)裝了免費(fèi)授權(quán) Xilinx Vivado 和 SDx 開(kāi)發(fā)軟件,以及管理 FPGA 必要的軟件和驅(qū)動(dòng)。預(yù)裝開(kāi)發(fā)環(huán)境的 AMI 即開(kāi)即用非常簡(jiǎn)便,但動(dòng)輒幾小時(shí)的編譯時(shí)間也增加了開(kāi)銷。為了讓開(kāi)發(fā)者可以本地編譯,Xilinx 專門(mén)為 Amazon F1 提供了免費(fèi)的使用授權(quán)(詳見(jiàn):Xilinx Vivado Design Suite for Public Cloud),如下圖所示,免費(fèi)項(xiàng)目包括 Vivado System Edition (限 VU9P)、Partial Reconfiguration、SDAccel 等曾經(jīng)非常昂貴的開(kāi)發(fā)軟件,可見(jiàn)兩家企業(yè)在云計(jì)算上的合作力度相當(dāng)之大。

AWS F1 正式上線,深度解析 FPGA 與公有云的親密接觸

AWS 還為 FPGA 開(kāi)發(fā)了新的鏡像格式,稱為 AFI(Amazon FPGA Image)。AFI 是 AWS 統(tǒng)一管理加速器鏡像的一種核心機(jī)制。用戶可使用 aws ec2 create-fpga-image命令將編譯好的加速器注冊(cè)為 AWS AFI,然后可在任意 F1 實(shí)例上使用 AFI Management Tools部署執(zhí)行。AFI 是 F1 實(shí)例上對(duì) FPGA 編程的唯一方式,從安全和管理角度考慮,Amazon 目前沒(méi)有今后應(yīng)該也不會(huì)提供直接下載 Bitstream 到 FPGA 的接口。

這樣,AMI 定義虛擬機(jī)系統(tǒng)鏡像,AFI 定義 FPGA 加速器鏡像,兩者合起來(lái)就能配置一臺(tái)完整的帶 FPGA 加速的服務(wù)器。加速器開(kāi)發(fā)商可以將加速器 AFI,或者 AMI+AFI 發(fā)布到 AWS Marketplace 進(jìn)行銷售。而加速器用戶只需使用傳統(tǒng)的 EC2 流程即可購(gòu)買開(kāi)啟 FPGA 加速實(shí)例。

3. 開(kāi)發(fā)與部署

3.1 HDK 與 SDK

一個(gè)完整的 FPGA 加速項(xiàng)目涉及到軟件開(kāi)發(fā)和硬件開(kāi)發(fā)。軟件開(kāi)發(fā)環(huán)境通常稱為 SDK,相對(duì)應(yīng)的,AWS 提供了 HDK(Hardware Development Kit) 來(lái)支持 F1 FPGA 上的客戶邏輯設(shè)計(jì)。HDK 中包含一個(gè) Shell 邏輯層,提供了 PCIe、DDR 控制、時(shí)鐘控制等通用服務(wù)邏輯。HDK 還提供了一些自動(dòng)化腳本幫助客戶編譯加速器,并打包成可以注冊(cè) AFI 的 tar 格式。

F1 的 SDK 提供了實(shí)用的 FPGA 部署工具。部署工具就是上面提到過(guò)的 AFI Managment Tools, 使用這些程序可以查看、加載、清除 FPGA 上的客戶邏輯,也可以啟動(dòng) AWS 開(kāi)發(fā)的虛擬 JTAG 服務(wù)用于遠(yuǎn)程調(diào)試。

目前 HDK 和 SDK 帶有兩個(gè)簡(jiǎn)單實(shí)例的軟硬件代碼,CL_HELLO_WORLD 和 CL_DRAM_DMA,他們各自使用到的功能特性列在下表。開(kāi)發(fā)者可以參照例程,快速開(kāi)始開(kāi)發(fā)自己的加速應(yīng)用。

AWS F1 正式上線,深度解析 FPGA 與公有云的親密接觸

3.2 開(kāi)發(fā)流程

AWS F1 正式上線,深度解析 FPGA 與公有云的親密接觸

上圖是知乎專欄 [微陣] 作者 jonsonxp 總結(jié)的當(dāng)前 F1 客戶邏輯(CL)的開(kāi)發(fā)流程。

加速器開(kāi)發(fā)者提供 CL 源代碼 (e.g. Verilog, VHDL, SystemVerilog),為了保護(hù)客戶的設(shè)計(jì)資產(chǎn),首先必須使用 IEEE P1735(詳見(jiàn) Xilinx 手冊(cè) UG1118) 對(duì)源代碼進(jìn)行加密處理。加密選項(xiàng)可同時(shí)保護(hù)源碼和最終生成的 DCP 文件。未經(jīng)加密生成的 DCP 在生成 AFI 時(shí)會(huì)報(bào)錯(cuò)失敗。

加密后的 CL 源碼經(jīng)過(guò)邏輯綜合,再和 HDK 中的 Shell 邏輯組合形成完整的 FPGA 設(shè)計(jì),就可以按照正常的 Vivado 設(shè)計(jì)流程進(jìn)行布局布線以及物理優(yōu)化。最終我們要提交到 AWS 的文件不是通常的 Bitstream,而是布局后的 DCP 和一個(gè)描述設(shè)計(jì)的 manifest.txt 文件。這兩個(gè)文件打包成 tar 上傳到開(kāi)發(fā)中的 AWS S3 云存儲(chǔ),就可以調(diào)用 AWS CLI 的 aws ec2 create-fpga-image 命令將加速器注冊(cè)為可在任意 F1 實(shí)例上部署的 AFI。由于 F1 HDK 中提供了完整的樣例和自動(dòng)化腳本,基本上開(kāi)發(fā)者只要準(zhǔn)備好源文件,剩下的工作都可以自動(dòng)完成。

事實(shí)上,整個(gè)開(kāi)發(fā)流程只有三個(gè)必要條件,一是使用 AWS 的官方 Shell 進(jìn)行開(kāi)發(fā),二是 CL 必須加密,三是生成合法 DCP 以及提供正確的 Manifest.txt。開(kāi)發(fā)過(guò)程和客戶邏輯上幾乎沒(méi)有過(guò)多的限制,這對(duì)開(kāi)發(fā)者是非常友好的。相比其他一些正在進(jìn)行的 FPGA 云方案,他們基于安全原因或者管理系統(tǒng)不成熟,大多只對(duì)客戶暴露 OpenCL 開(kāi)發(fā)界面,這對(duì)源碼保護(hù)和硬件開(kāi)發(fā)的自由度都有影響。

3.3 加速器部署

加速器注冊(cè)為 AFI 后,AWS 會(huì)返回一個(gè) AGFI(Amazon Global FPGA Image ID) 用于部署。在 F1 實(shí)例上為 FPGA 加載加速器也非常容易,如下面命令所示,該命令將 AGFI 為 agfi-0123456789abcdefg 的加速器加載到本地服務(wù)器 PCIe Slot 0 上的 FPGA。

$ sudo fpga-load-local-image -S 0 -I agfi-0123456789abcdefg

目前 AGFI 部署加速器好像還沒(méi)有權(quán)限管理,任何人只要知道加速器的 AGFI 就可以隨意使用,存在一定安全問(wèn)題。再者,AWS F1 目前支持(虛擬)服務(wù)器級(jí)別部署,沒(méi)有 FPGA 虛擬化功能來(lái)支持單 FPGA 加載多加速器,如果使用虛擬化技術(shù)可以進(jìn)一步提高 FPGA 的使用率并降低部署成本。不過(guò) F1 剛剛起步,相信一切都在完善之中。

4. 結(jié)語(yǔ)

傳統(tǒng)基于 CPU 的單一架構(gòu)云服務(wù)經(jīng)過(guò)多年粗放發(fā)展,逐漸難以維持快速增長(zhǎng)的計(jì)算需求。在云端使用 FPGA 開(kāi)發(fā)高能效定制硬件,從而降低計(jì)算成本已成大勢(shì)所趨。趨勢(shì)之下,先行者微軟的 Catapult 1 代和 2 代給我們展示了成功的應(yīng)用場(chǎng)景,但微軟并沒(méi)有將技術(shù)開(kāi)放出來(lái),普通開(kāi)發(fā)者可見(jiàn)而不可得。而 Amazon 的 AWS F1 依托多年開(kāi)發(fā)完善的 AWS 云平臺(tái)體系,從 AMI 擴(kuò)展出 AFI,從 SDK 擴(kuò)展出 HDK,非常平滑地將傳統(tǒng)云資源管理,擴(kuò)展為可以支持 FPGA 加速器的服務(wù)器管理系統(tǒng),并圍繞加速器開(kāi)發(fā)者和加速器用戶建立起云平臺(tái),才是將 FPGA 技術(shù)帶入主流互聯(lián)網(wǎng)市場(chǎng)的重要一步。我們也看到,當(dāng)前 F1 應(yīng)用實(shí)例還不多,管理工具以及 HDK 和 SDK 也比較樸素,互聯(lián)網(wǎng)和芯片產(chǎn)業(yè)的初次親密接觸還會(huì)有一個(gè)不短的磨合期。未來(lái)可期,只要方向?qū)?,技術(shù)能解決的問(wèn)題都不是問(wèn)題。

雷鋒網(wǎng)按:原作者JonsonXP,本文原載于作者的知乎專欄

雷峰網(wǎng)版權(quán)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見(jiàn)轉(zhuǎn)載須知。

AWS F1 正式上線,深度解析 FPGA 與公有云的親密接觸

分享:
相關(guān)文章

編輯

聚焦數(shù)據(jù)科學(xué),連接 AI 開(kāi)發(fā)者。更多精彩內(nèi)容,請(qǐng)?jiān)L問(wèn):yanxishe.com
當(dāng)月熱門(mén)文章
最新文章
請(qǐng)?zhí)顚?xiě)申請(qǐng)人資料
姓名
電話
郵箱
微信號(hào)
作品鏈接
個(gè)人簡(jiǎn)介
為了您的賬戶安全,請(qǐng)驗(yàn)證郵箱
您的郵箱還未驗(yàn)證,完成可獲20積分喲!
請(qǐng)驗(yàn)證您的郵箱
立即驗(yàn)證
完善賬號(hào)信息
您的賬號(hào)已經(jīng)綁定,現(xiàn)在您可以設(shè)置密碼以方便用郵箱登錄
立即設(shè)置 以后再說(shuō)