0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

一文詳解FPGA與公有云的親密接觸

Hx ? 作者:工程師陳翠 ? 2018-07-05 08:13 ? 次閱讀

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

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

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

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

2. AWS F1實例

2.1 硬件

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

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

2.2 軟件

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

一文詳解FPGA與公有云的親密接觸

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

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

3. 開發(fā)與部署

3.1 HDK與SDK

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

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

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

一文詳解FPGA與公有云的親密接觸

3.2 開發(fā)流程

一文詳解FPGA與公有云的親密接觸

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

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

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

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

3.3 加速器部署

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

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

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

4. 結(jié)語

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

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • FPGA
    +關(guān)注

    關(guān)注

    1629

    文章

    21748

    瀏覽量

    603907
  • 公有云
    +關(guān)注

    關(guān)注

    1

    文章

    95

    瀏覽量

    17429
收藏 人收藏

    評論

    相關(guān)推薦

    【MICOKit內(nèi)測體驗】體驗之旅三:第一次親密接觸!

    經(jīng)過幾天的不謝努力,終于連接上次。第次的親密接觸,感覺很好,神奇的APP互動,遙控的感覺就是運籌帷幄之中,操控千里之外。之前老是連接不上,連接時APP卡死在界面,開發(fā)板上能夠GOT WIFI
    發(fā)表于 07-22 16:56

    私有云和公有的對比。

    `前幾天發(fā)了個關(guān)于GOONAS私有存儲服務(wù)器的帖子,關(guān)注的人挺多,今天我來分享下私有云和公有的區(qū)別:1、公有
    發(fā)表于 06-09 10:37

    [下載] 【NB-IOT必看】CoAP 網(wǎng)關(guān)公有使用教程

    今年又直在說NB-IOT,本人寫了個關(guān)于CoAP 網(wǎng)關(guān)公有使用教程,和大家分享下,反正不要錢,起研究下吧。另外第次寫教程,求關(guān)注和鼓
    發(fā)表于 09-12 17:42

    【新手必看】CoAP 網(wǎng)關(guān)公有使用教程

    【新手必看】CoAP 網(wǎng)關(guān)公有使用教程
    發(fā)表于 09-20 10:34

    CoAP 網(wǎng)關(guān)公有使用教程

    本帖最后由 lee_st 于 2017-10-31 09:04 編輯 【新手必看】CoAP 網(wǎng)關(guān)公有使用教程
    發(fā)表于 10-21 15:07

    【HarmonyOS HiSpark Wi-Fi IoT套件】我和鴻蒙的親密接觸----開箱報告

    ,嘗試連接OLED顯示板失敗,請插上OLED顯示板的信息。在我插上OLED顯示板的瞬間,報錯消失,功能恢復(fù)正常,這里我就很感嘆了,銜接性太好了。流暢性,我對于鴻蒙有了別樣的興趣,開箱體驗很舒服,下面就要和鴻蒙來進行親密接觸了。
    發(fā)表于 10-20 17:01

    Fibocom 公有之騰訊 技術(shù)資料

    Fibocom 公有之騰訊 技術(shù)資料內(nèi)容如下:1、騰訊連接教程2、騰訊連連小程序使用教程3、騰訊連連公眾號使用教程4、設(shè)備與設(shè)備之間聯(lián)動教程5、【培訓(xùn)】騰訊連連助力消費物聯(lián)產(chǎn)業(yè)數(shù)
    發(fā)表于 01-05 12:00

    Fibocom 公有之華為 技術(shù)資料

    Fibocom 公有之華為 技術(shù)資料內(nèi)容如下:1、華為連接教程2、華為相關(guān)課程3、【培訓(xùn)】華為
    發(fā)表于 01-05 12:12

    Fibocom 公有之阿里 技術(shù)資料

    Fibocom 公有之阿里 技術(shù)資料內(nèi)容如下:1、阿里連接教程2、阿里相關(guān)課程3、阿里
    發(fā)表于 01-05 15:03

    網(wǎng)友購機:我和低價本本的親密接觸

    網(wǎng)友購機:我和低價本本的親密接觸  昨天,舊時的同事請我陪他起去購買本本。筆者以為有必要將購買過程和大家談?wù)劊菇窈蟠蠹覍τ?/div>
    發(fā)表于 01-25 10:40 ?399次閱讀

    讀懂私有云和公有的區(qū)別

    存儲這樣的隱喻或許感覺會有些夸張,但我們從中仍能感覺到和相關(guān)的模糊的概念,對于這項技術(shù)的未來也是充滿了未知,這對我們熟知的私有存儲也是樣。雖然市場上各種宣傳的私有
    發(fā)表于 07-01 10:09 ?1.5w次閱讀

    教你企業(yè)該怎樣選擇公有

    幾年過去了,公有的常識已經(jīng)不用再普及了,預(yù)計到2018年,全球公有服務(wù)市場的規(guī)模將達到1864億美元,中國市場更是保持了超過40%以上的增長率。我們每
    發(fā)表于 07-17 11:55 ?962次閱讀

    百度在其全新公有加速服務(wù)器中部署了賽靈思的FPGA

    (Xilinx)的FPGA。百度FPGA云端服務(wù)器是百度推出的項全新服務(wù),其采用高效的賽靈思Kintex FPGA、工具和軟件,能滿足發(fā)
    發(fā)表于 09-02 10:22 ?1031次閱讀

    公有云和私有的顯著差別綜述

    公有云和私有的顯著差別綜述
    發(fā)表于 07-16 15:08 ?0次下載

    什么是公有?辦公是什么意思?

    什么是公有?辦公是什么意思?下面由我來為大家詳細講解,首先我們要了解什么是公有,其次我們要了解
    的頭像 發(fā)表于 08-02 15:12 ?1789次閱讀