RM新时代网站-首页

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

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

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

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

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

歷經(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使用的是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)之大。

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

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)之大。

這樣,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)用。

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

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

一文詳解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)題。

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

    關(guān)注

    1629

    文章

    21729

    瀏覽量

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

    關(guān)注

    1

    文章

    95

    瀏覽量

    17411
收藏 人收藏

    評(píng)論

    相關(guān)推薦

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

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

    私有云和公有的對(duì)比。

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

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

    今年又直在說(shuō)NB-IOT,本人寫(xiě)了個(gè)關(guān)于CoAP 網(wǎng)關(guān)公有使用教程,和大家分享下,反正不要錢(qián),起研究下吧。另外第次寫(xiě)教程,求關(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套件】我和鴻蒙的親密接觸----開(kāi)箱報(bào)告

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

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

    Fibocom 公有之騰訊 技術(shù)資料內(nèi)容如下:1、騰訊連接教程2、騰訊連連小程序使用教程3、騰訊連連公眾號(hào)使用教程4、設(shè)備與設(shè)備之間聯(lián)動(dòng)教程5、【培訓(xùn)】騰訊連連助力消費(fèi)物聯(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)友購(gòu)機(jī):我和低價(jià)本本的親密接觸

    網(wǎng)友購(gòu)機(jī):我和低價(jià)本本的親密接觸  昨天,舊時(shí)的同事請(qǐng)我陪他起去購(gòu)買本本。筆者以為有必要將購(gòu)買過(guò)程和大家談?wù)劊菇窈蟠蠹覍?duì)于
    發(fā)表于 01-25 10:40 ?396次閱讀

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

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

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

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

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

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

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

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

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

    什么是公有?辦公是什么意思?下面由我來(lái)為大家詳細(xì)講解,首先我們要了解什么是公有,其次我們要了解
    的頭像 發(fā)表于 08-02 15:12 ?1775次閱讀
    RM新时代网站-首页