FPGA雲(yún)服(fú)务,作为(wèi)雲(yún)計(jì)算産品中(zhōng)一(yī)種(zhǒng)新型的(de)行業解(jiě)決方(fāng)案(àn),具有(yǒu)性(xìng)能(néng)优越、開(kāi)發(fà)便捷、計(jì)費靈活等紅(hóng)利,加之其具有(yǒu)低延遲,高(gāo)吞吐等能(néng)力,在(zài)基因(yīn)、人(rén)工智能(néng)、金(jīn)融等計(jì)算密集型領域得到(dào)廣泛使用(yòng)。2017年(nián)1月(yuè),騰訊雲(yún)推出(chū)國(guó)內(nèi)首款高(gāo)性(xìng)能(néng)异(yì)構計(jì)算基礎設施,并致(zhì)力于(yú)FPGA整个(gè)雲(yún)服(fú)务生(shēng)态圈的(de)建設。現(xiàn)階(jiē)段(duàn)騰訊雲(yún)FPGA雲(yún)已經(jīng)形成(chéng)“雲(yún)+行業”的(de)發(fà)展(zhǎn)思(sī)路(lù),并已經(jīng)在(zài)教育、基因(yīn)等行業率先(xiān)鋪開(kāi)。
傳統FPGA開(kāi)發(fà),每家(jiā)公司都有(yǒu)自(zì)己的(de)一(yī)套(tào)硬(yìng)件(jiàn)接口(kǒu)規範、软(ruǎn)件(jiàn)驅動(dòng)和(hé)上(shàng)层接口(kǒu),除此(cǐ)之外(wài)設計(jì)往往很難跨平台(tái)和(hé)器件(jiàn)直(zhí)接使用(yòng),对(duì)于(yú)每次(cì)移植均需面(miàn)臨时(shí)間(jiān)长和(hé)難度(dù)大等风险。統一(yī)标(biāo)準将是(shì)对(duì)FPGA産業的(de)一(yī)次(cì)劃(huà)时(shí)代(dài)的(de)整合和(hé)革(gé)新。
而(ér)在(zài)整个(gè)FPGA雲(yún)“生(shēng)态系(xì)統”里(lǐ)面(miàn),IP如(rú)同(tóng)百(bǎi)貨店(diàn)里(lǐ)面(miàn)的(de)商品,沒(méi)有(yǒu)大量(liàng)的(de)IP應(yìng)用(yòng),自(zì)然也(yě)很難吸引到(dào)人(rén)群(qún)從浏覽到(dào)購買(mǎi),到(dào)最(zuì)終(zhōng)的(de)使用(yòng)和(hé)評價。所(suǒ)以(yǐ)如(rú)何建立起FPGA IP市(shì)场成(chéng)为(wèi)整个(gè)FPGA雲(yún)“生(shēng)态系(xì)統”發(fà)展(zhǎn)的(de)關(guān)鍵。
然而(ér)FPGA IP市(shì)场建立也(yě)将面(miàn)臨诸多(duō)挑戰:
IP安(ān)全(quán)
FPGA雲(yún)服(fú)务是(shì)一(yī)个(gè)新的(de)商業模式,其中(zhōng)IP要(yào)以(yǐ)下(xià)载文(wén)件(jiàn)的(de)方(fāng)式,通(tòng)过(guò)FPGA雲(yún)服(fú)务器下(xià)载到(dào)FPGA板卡(kǎ)上(shàng)運行,所(suǒ)以(yǐ)IP的(de)下(xià)载文(wén)件(jiàn)是(shì)通(tòng)过(guò)雲(yún)服(fú)务器廠(chǎng)商提(tí)供給(gěi)最(zuì)終(zhōng)用(yòng)戶。IP提(tí)供商因(yīn)为(wèi)担心(xīn)産權洩露(lù),对(duì)雲(yún)服(fú)务器廠(chǎng)商有(yǒu)安(ān)全(quán)上(shàng)的(de)疑慮,如(rú)何解(jiě)決IP安(ān)全(quán)問(wèn)題(tí),成(chéng)为(wèi)FPGA IP市(shì)场發(fà)展(zhǎn)的(de)關(guān)鍵。
IP移植
FPGA IP運行在(zài)FPGA板卡(kǎ)上(shàng),由(yóu)于(yú)各(gè)家(jiā)FPGA硬(yìng)件(jiàn)平台(tái)不(bù)一(yī)樣(yàng),導致(zhì)IP開(kāi)發(fà)商需要(yào)重(zhòng)新針(zhēn)对(duì)目标(biāo)平台(tái)修改現(xiàn)有(yǒu)的(de)設計(jì)。而(ér)與(yǔ)软(ruǎn)件(jiàn)移植不(bù)同(tóng)的(de)是(shì),FPGA的(de)設計(jì)是(shì)精确到(dào)时(shí)鐘(zhōng)周期(qī),每个(gè)时(shí)鐘(zhōng)周期(qī)不(bù)同(tóng)的(de)模块(kuài)并發(fà)完成(chéng)不(bù)同(tóng)的(de)操作。这(zhè)就(jiù)会(huì)涉及(jí)到(dào)從上(shàng)层的(de)系(xì)統层到(dào)底层的(de)硬(yìng)件(jiàn)时(shí)序的(de)修改,也(yě)意(yì)味着IP開(kāi)發(fà)商需要(yào)花費大量(liàng)时(shí)間(jiān)和(hé)精力在(zài)跨硬(yìng)件(jiàn)平台(tái)移植上(shàng)。
基于(yú)此(cǐ),騰訊雲(yún)在(zài)FPGA IP市(shì)场上(shàng)带(dài)来(lái)了(le)一(yī)系(xì)列創新舉措。
安(ān)全(quán)
FPGA雲(yún)系(xì)統提(tí)供源代(dài)碼加密保護,用(yòng)戶下(xià)载文(wén)件(jiàn)加密保護以(yǐ)及(jí)DNA認證等安(ān)全(quán)手(shǒu)段(duàn)。
以(yǐ)赛靈思(sī)的(de)FPGA为(wèi)例子,对(duì)于(yú)用(yòng)戶源代(dài)碼,可(kě)以(yǐ)通(tòng)过(guò)赛靈思(sī)提(tí)供的(de)Vivado編譯工具進(jìn)行加密,該Vivado編譯工具的(de)加密标(biāo)準是(shì)基于(yú)IEEE-1735标(biāo)準;对(duì)于(yú)用(yòng)戶的(de)下(xià)载文(wén)件(jiàn),可(kě)以(yǐ)用(yòng)DNA認證進(jìn)行加密保護。目前(qián)騰訊雲(yún)上(shàng)所(suǒ)有(yǒu)的(de)FPGA器件(jiàn)都有(yǒu)Device DNA,这(zhè)是(shì)一(yī)个(gè)96 bit的(de)二(èr)進(jìn)制序列,在(zài)FPGA器件(jiàn)生(shēng)産的(de)时(shí)候燒死到(dào)芯片(piàn)里(lǐ)面(miàn),每个(gè)芯片(piàn)都是(shì)唯一(yī)的(de)。这(zhè)个(gè)序列,用(yòng)戶可(kě)以(yǐ)通(tòng)过(guò)內(nèi)部(bù)的(de)邏輯直(zhí)接读(dú)出(chū)。用(yòng)戶利用(yòng)DNA唯一(yī)性(xìng),只(zhī)有(yǒu)授權的(de)DNA序列才能(néng)運行用(yòng)戶IP,從而(ér)实現(xiàn)IP的(de)保護(參見(jiàn)图(tú)1)。
图(tú)表(biǎo) 1 FPGA雲(yún)安(ān)全(quán)
開(kāi)發(fà)框架
設計(jì)之初,FPGA雲(yún)系(xì)統需要(yào)解(jiě)決的(de)一(yī)个(gè)重(zhòng)要(yào)問(wèn)題(tí)就(jiù)是(shì)通(tòng)用(yòng)性(xìng)。通(tòng)用(yòng)性(xìng)包(bāo)括两(liǎng)层目标(biāo)。第(dì)一(yī),能(néng)够做到(dào)FPGA系(xì)統架構的(de)通(tòng)用(yòng)。第(dì)二(èr),能(néng)够做到(dào)用(yòng)戶接口(kǒu)的(de)通(tòng)用(yòng)。最(zuì)終(zhōng)讓用(yòng)戶的(de)設計(jì)“无感(gǎn)知”的(de)運行在(zài)不(bù)同(tóng)平台(tái)和(hé)不(bù)同(tóng)類(lèi)型的(de)FPGA器件(jiàn),減少(shǎo)移植的(de)代(dài)價。
FPGA雲(yún)系(xì)統包(bāo)含两(liǎng)大區(qū)域,即静(jìng)态區(qū)域和(hé)動(dòng)态區(qū)域。静(jìng)态區(qū)域虽然对(duì)于(yú)用(yòng)戶不(bù)可(kě)見(jiàn),但是(shì)它(tā)卻是(shì)整个(gè)系(xì)統架構的(de)關(guān)鍵,構建起與(yǔ)上(shàng)层PC側的(de)软(ruǎn)件(jiàn)和(hé)FPGA側動(dòng)态區(qū)用(yòng)戶IP沟(gōu)通(tòng)橋(qiáo)梁(liáng),静(jìng)态區(qū)域主(zhǔ)要(yào)完成(chéng)包(bāo)括PCIe協議控制器、DMA數據(jù)傳輸、內(nèi)存控制器、中(zhōng)斷处理、地(dì)址管(guǎn)理模块(kuài)和(hé)總(zǒng)線(xiàn)管(guǎn)理和(hé)适配模块(kuài)、動(dòng)态加载模块(kuài)和(hé)一(yī)些系(xì)統調試模块(kuài)等。動(dòng)态區(qū)域对(duì)應(yìng)的(de)則是(shì)用(yòng)戶的(de)IP,这(zhè)里(lǐ)采用(yòng)業界通(tòng)用(yòng)的(de)AXI總(zǒng)線(xiàn)進(jìn)行互聯。如(rú)果(guǒ)采用(yòng)私有(yǒu)的(de)或(huò)者(zhě)不(bù)通(tòng)用(yòng)的(de)總(zǒng)線(xiàn)進(jìn)行互聯,用(yòng)戶往往需要(yào)对(duì)總(zǒng)線(xiàn)協議重(zhòng)新進(jìn)行理解(jiě)和(hé)開(kāi)發(fà),而(ér)且很難做到(dào)很好(hǎo)的(de)系(xì)統可(kě)擴展(zhǎn)性(xìng)。APIs采用(yòng)統一(yī)的(de)外(wài)部(bù)接口(kǒu)與(yǔ)用(yòng)戶程序交互,用(yòng)戶不(bù)需要(yào)把精力花在(zài)驅動(dòng)集成(chéng)、調試和(hé)封(fēng)裝(zhuāng)等繁瑣细(xì)节(jié),只(zhī)需要(yào)專注于(yú)高(gāo)附加值的(de)上(shàng)层應(yìng)用(yòng)和(hé)服(fú)务開(kāi)發(fà)上(shàng)(參見(jiàn)图(tú)2)。
图(tú)表(biǎo) 2 FPGA雲(yún)開(kāi)發(fà)框架
目前(qián)騰訊雲(yún)FPGA雲(yún)服(fú)务市(shì)场,已經(jīng)有(yǒu)恒揚數據(jù)、聯捷計(jì)算科技、菲數科技等多(duō)位合作夥伴加入(rù),通(tòng)过(guò)IP市(shì)场方(fāng)式提(tí)供一(yī)系(xì)列行業解(jiě)決方(fāng)案(àn),为(wèi)用(yòng)戶提(tí)供性(xìng)價比更(gèng)高(gāo)的(de)加速方(fāng)案(àn),進(jìn)一(yī)步完善FPGA雲(yún)服(fú)务生(shēng)态圈(參加图(tú)3)。
图(tú)3 IP市(shì)场提(tí)供行業解(jiě)決方(fāng)案(àn)
騰訊雲(yún)FPGA雲(yún)服(fú)务IP市(shì)场已在(zài)基因(yīn)、图(tú)片(piàn)視頻、教育等行業和(hé)场景中(zhōng)落(là)地(dì)。
基因(yīn)行業解(jiě)決方(fāng)案(àn)
基因(yīn)組测序是(shì)一(yī)種(zhǒng)新型基因(yīn)檢测技術(shù),它(tā)可(kě)以(yǐ)從血(xuè)液或(huò)者(zhě)唾液中(zhōng)分(fēn)析测定(dìng)基因(yīn)全(quán)序列,用(yòng)来(lái)預测疾病,个(gè)人(rén)的(de)行为(wèi)特(tè)征等等。随着测序成(chéng)本(běn)不(bù)斷降低并逼近(jìn)數據(jù)分(fēn)析成(chéng)本(běn),同(tóng)时(shí)随着近(jìn)年(nián)基因(yīn)數據(jù)量(liàng)爆發(fà)式增长,數據(jù)分(fēn)析成(chéng)为(wèi)瓶颈,而(ér)傳統方(fāng)法計(jì)算速度(dù)慢(màn),效率低,因(yīn)此(cǐ)高(gāo)性(xìng)能(néng)計(jì)算勢在(zài)必行。
常規的(de)1个(gè)人(rén)類(lèi)全(quán)基因(yīn)組(上(shàng)幾(jǐ)百(bǎi)G數據(jù))即使在(zài)一(yī)个(gè)高(gāo)端服(fú)务器運算时(shí)間(jiān)也(yě)至(zhì)少(shǎo)需要(yào)幾(jǐ)天(tiān)左(zuǒ)右(yòu)时(shí)間(jiān),而(ér)騰訊推出(chū)的(de)“雲(yún)+基因(yīn)”原生(shēng)态解(jiě)決方(fāng)案(àn)通(tòng)过(guò)对(duì)二(èr)代(dài)测序流程進(jìn)行硬(yìng)件(jiàn)加速来(lái)解(jiě)決生(shēng)物(wù)計(jì)算量(liàng)的(de)性(xìng)能(néng)瓶颈。傳統方(fāng)法一(yī)个(gè)全(quán)基因(yīn)組計(jì)算純软(ruǎn)件(jiàn)方(fāng)案(àn)需要(yào)大約60小时(shí),騰訊“雲(yún)+基因(yīn)”原生(shēng)态解(jiě)決方(fāng)案(àn)将时(shí)間(jiān)降到(dào)26小时(shí)以(yǐ)內(nèi)。目前(qián)該方(fāng)案(àn)已經(jīng)在(zài)基因(yīn)領域已經(jīng)落(là)地(dì)并成(chéng)功稳定(dìng)應(yìng)用(yòng)中(zhōng)。
图(tú)片(piàn)視頻解(jiě)決方(fāng)案(àn)
我(wǒ)们(men)所(suǒ)知道(dào)的(de)图(tú)片(piàn)壓縮算法有(yǒu):JPEG、WEBP、H264(幀內(nèi)壓縮)、H265(幀內(nèi)壓縮)。它(tā)们(men)对(duì)應(yìng)的(de)壓縮能(néng)力大小分(fēn)别是(shì):JPEG < WEBP/H264(幀內(nèi)壓縮) < H265(幀內(nèi)壓縮)。H265(幀內(nèi)壓縮)的(de)壓縮率和(hé)WEBP/H264(幀內(nèi)壓縮)相比提(tí)高(gāo)20~30%左(zuǒ)右(yòu),和(hé)JPEG相比提(tí)高(gāo)50%左(zuǒ)右(yòu)。但是(shì)这(zhè)个(gè)壓縮能(néng)力是(shì)通(tòng)过(guò)計(jì)算複雜度(dù)的(de)提(tí)高(gāo)来(lái)实現(xiàn),其中(zhōng)WEBP、H265的(de)計(jì)算複雜度(dù)是(shì)更(gèng)是(shì)JPEG壓縮的(de)10倍以(yǐ)上(shàng)。
随着智能(néng)手(shǒu)機(jī)的(de)普及(jí),图(tú)片(piàn)、視頻的(de)産生(shēng)和(hé)分(fēn)享已經(jīng)是(shì)人(rén)们(men)普遍(biàn)的(de)娛乐(lè)方(fāng)式。而(ér)对(duì)于(yú)互聯网(wǎng)服(fú)务商和(hé)用(yòng)戶来(lái)说(shuō),图(tú)片(piàn)和(hé)視頻的(de)不(bù)斷累積,也(yě)为(wèi)带(dài)宽(kuān)和(hé)流量(liàng)带(dài)来(lái)越来(lái)越多(duō)的(de)負担和(hé)需求消耗。
騰訊FPGA雲(yún)通(tòng)过(guò)更(gèng)高(gāo)壓縮比的(de)H265(幀內(nèi)壓縮)方(fāng)案(àn),使用(yòng)FPGA对(duì)图(tú)片(piàn)轉(zhuǎn)碼進(jìn)行加速,增強(qiáng)图(tú)片(piàn)轉(zhuǎn)碼能(néng)力,在(zài)互聯网(wǎng)图(tú)片(piàn)处理業务中(zhōng),盡可(kě)能(néng)的(de)壓縮图(tú)片(piàn),減少(shǎo)图(tú)片(piàn)存儲和(hé)傳輸分(fēn)發(fà)的(de)數據(jù)量(liàng),既节(jié)省(shěng)用(yòng)戶带(dài)宽(kuān),也(yě)可(kě)以(yǐ)提(tí)高(gāo)用(yòng)戶下(xià)载图(tú)片(piàn)的(de)速度(dù),讓互聯网(wǎng)服(fú)务商和(hé)用(yòng)戶以(yǐ)更(gèng)低的(de)投入(rù), 獲得更(gèng)好(hǎo)的(de)體(tǐ)验(yàn)。
某視頻內(nèi)容提(tí)供商,在(zài)線(xiàn)業务中(zhōng)需要(yào)進(jìn)行JPEG图(tú)片(piàn)轉(zhuǎn)WEBP图(tú)片(piàn)的(de)轉(zhuǎn)碼服(fú)务,为(wèi)了(le)滿足处理延时(shí)和(hé)吞吐的(de)要(yào)求,采用(yòng)了(le)騰訊FPGA雲(yún)進(jìn)行图(tú)片(piàn)轉(zhuǎn)碼服(fú)务。在(zài)騰訊FPGA雲(yún)上(shàng)進(jìn)行的(de)灰度(dù)测試,結果(guǒ)顯示:JPEG图(tú)片(piàn)轉(zhuǎn)WEBP图(tú)片(piàn),测試图(tú)片(piàn)大小为(wèi)1920x1080,FPGA处理延时(shí)相比CPU降低3倍,FPGA处理性(xìng)能(néng)是(shì)CPU機(jī)器的(de)7倍。
教育行業解(jiě)決方(fāng)案(àn)
傳統FPGA教学和(hé)科研长期(qī)受制于(yú)硬(yìng)件(jiàn)電(diàn)路(lù)板、開(kāi)發(fà)软(ruǎn)件(jiàn)更(gèng)新換代(dài)很快(kuài),陳旧(jiù)教学环(huán)境與(yǔ)实際需求以(yǐ)及(jí)企業生(shēng)産环(huán)境脫节(jié),申購流程繁瑣和(hé)时(shí)間(jiān)长等難題(tí)。從産業發(fà)展(zhǎn)的(de)角(jiǎo)度(dù),由(yóu)于(yú)缺乏統一(yī)的(de)硬(yìng)件(jiàn)平台(tái),FPGA底层重(zhòng)複勞動(dòng)多(duō),面(miàn)向(xiàng)應(yìng)用(yòng)開(kāi)發(fà)的(de)少(shǎo),硬(yìng)件(jiàn)開(kāi)源發(fà)展(zhǎn)緩慢(màn),FPGA个(gè)體(tǐ)教学和(hé)科研成(chéng)果(guǒ)也(yě)很難为(wèi)企業带(dài)来(lái)收(shōu)益,也(yě)嚴重(zhòng)影響了(le)FPGA行業的(de)长久發(fà)展(zhǎn)。
2017年(nián)8月(yuè)3日(rì),在(zài)OpenHW Contest and Professor Conference 2017上(shàng),騰訊雲(yún)攜手(shǒu)依元(yuán)素科技,與(yǔ)國(guó)家(jiā)電(diàn)子電(diàn)工教学示範中(zhōng)心(xīn)——東(dōng)南(nán)大学電(diàn)工電(diàn)子实验(yàn)中(zhōng)心(xīn)合作,落(là)地(dì)國(guó)內(nèi)首个(gè)基于(yú)FPGA雲(yún)服(fú)务的(de)科研項目。
这(zhè)是(shì)國(guó)內(nèi)首个(gè)基于(yú)FPGA雲(yún)服(fú)务的(de)科研項目,也(yě)是(shì)是(shì)國(guó)內(nèi)FPGA雲(yún)服(fú)务落(là)地(dì)具體(tǐ)场景的(de)首个(gè)成(chéng)功案(àn)例,同(tóng)时(shí)還(huán)是(shì)傳統的(de)FPGA從技術(shù)平台(tái)走(zǒu)向(xiàng)具體(tǐ)行業并成(chéng)功实踐的(de)一(yī)个(gè)重(zhòng)要(yào)開(kāi)端。基于(yú)騰訊雲(yún)提(tí)供的(de)FPGA計(jì)算服(fú)务,東(dōng)南(nán)大学科研人(rén)員能(néng)够在(zài)一(yī)个(gè)開(kāi)源的(de)系(xì)統平台(tái)進(jìn)行具有(yǒu)高(gāo)附加值的(de)教学和(hé)研究。同(tóng)时(shí),騰訊雲(yún)還(huán)提(tí)供一(yī)套(tào)開(kāi)放(fàng)HDK/SDK,縮短(duǎn)使用(yòng)者(zhě)開(kāi)發(fà)时(shí)間(jiān),助力高(gāo)校(xiào)FPGA理論研究成(chéng)果(guǒ)迅速轉(zhuǎn)化(huà)。
騰訊“FPGA雲(yún)+教育”,通(tòng)过(guò)不(bù)斷豐富和(hé)完善FPGA雲(yún)+課堂以(yǐ)及(jí)線(xiàn)上(shàng)实验(yàn)室(shì)等多(duō)个(gè)主(zhǔ)題(tí),最(zuì)終(zhōng)将FPGA雲(yún)産品落(là)地(dì)到(dào)各(gè)大高(gāo)等院(yuàn)校(xiào)的(de)課程和(hé)科研當中(zhōng),目前(qián)FPGA雲(yún)已經(jīng)成(chéng)功應(yìng)用(yòng)在(zài)東(dōng)南(nán)大学數字(zì)電(diàn)路(lù)課程中(zhōng)。後(hòu)續,還(huán)将推動(dòng)在(zài)全(quán)國(guó)範圍內(nèi)300多(duō)所(suǒ)高(gāo)校(xiào)的(de)合作,讓FPGA雲(yún)服(fú)务走(zǒu)進(jìn)校(xiào)園(yuán)和(hé)科研实验(yàn)室(shì),助力高(gāo)校(xiào)在(zài)FPGA教学和(hé)科研的(de)改革(gé),提(tí)升(shēng)高(gāo)校(xiào)人(rén)才的(de)整體(tǐ)競争力。
結語(yǔ)
FPGA雲(yún)是(shì)雲(yún)計(jì)算2.0时(shí)代(dài)應(yìng)運而(ér)生(shēng)的(de)“芯”力量(liàng),在(zài)人(rén)工智能(néng)、基因(yīn)、大數據(jù)等衆多(duō)領域擁有(yǒu)廣闊的(de)前(qián)景和(hé)業界成(chéng)功的(de)案(àn)例,伴随着近(jìn)年(nián)来(lái)雲(yún)計(jì)算和(hé)人(rén)工智能(néng)的(de)浪潮(cháo),FPGA雲(yún)将走(zǒu)進(jìn)公衆的(de)視野。FPGA雲(yún)完善的(de)IP市(shì)场生(shēng)态圈、成(chéng)熟的(de)雲(yún)架構和(hé)行業領先(xiān)的(de)解(jiě)決方(fāng)案(àn),将吸引更(gèng)多(duō)雲(yún)客戶願意(yì)嘗試这(zhè)種(zhǒng)“芯”技術(shù)带(dài)来(lái)的(de)紅(hóng)利,鑄造出(chū)扎根(gēn)于(yú)行業的(de)成(chéng)功解(jiě)決方(fāng)案(àn)。















