Intel通用加速堆棧簡化云上部署CPU+FPGA異構(gòu)架構(gòu)
剛剛落幕的全球云計算大會和華為全聯(lián)接大會上,云計算和大數(shù)據(jù)再一次成為熱議的話題。預(yù)測數(shù)據(jù)顯示,到2020年,平均每一天,每位互聯(lián)網(wǎng)用戶的流量將達(dá)到1.5GB,自動駕駛汽車的流量是4TB,而云視頻提供商的視頻吞吐量是750PB!奔涌而來的數(shù)據(jù)洪流給數(shù)據(jù)中心帶來了新的挑戰(zhàn)。
英特爾可編程解決方案事業(yè)部FPGA軟件解決方案高級總監(jiān) Bernhard Friebe向21ic記者介紹了Intel的FPGA在數(shù)據(jù)中心的變革中將起到怎樣的作用,如何更好的為云上業(yè)務(wù)提供卓越的性能。
圖:英特爾可編程解決方案事業(yè)部FPGA軟件解決方案高級總監(jiān) Bernhard Friebe
據(jù)Friebe介紹,Intel的FPGA已經(jīng)解決了很多數(shù)據(jù)中心和云計算的難題。
現(xiàn)在關(guān)系型數(shù)據(jù)庫用的越來越多,數(shù)據(jù)量也越來越大,只靠CPU的能力在數(shù)據(jù)庫里進(jìn)行計算難度越來越大。完全采用CPU的方案成本非常高昂。Intel的合作伙伴SWARM64則很好地利用了FPGA的并行處理能力,實現(xiàn)實時數(shù)據(jù)加速、實時數(shù)據(jù)分析、傳統(tǒng)數(shù)據(jù)倉儲方面的提升。SWARM64的產(chǎn)品是一個簡單的即插即用PCI,在這個數(shù)據(jù)庫里面,無論是MySQL或其他數(shù)據(jù)庫,加載驅(qū)動以后立刻可以滿足需求。現(xiàn)在,SWARM64的實時數(shù)據(jù)分析速度提升了五倍,傳統(tǒng)數(shù)據(jù)倉儲效益超過原來兩倍,存儲壓縮的性能達(dá)到三倍以上。根據(jù)他們的預(yù)測,通過使用FPGA加速,他們能夠在三年內(nèi)節(jié)省40%的成本。
在基因測序這個領(lǐng)域,Intel的合作伙伴Broad研究所采用FPGA解決醫(yī)學(xué)遺傳領(lǐng)域的尖端問題?;驕y序會產(chǎn)生海量的數(shù)據(jù),F(xiàn)PGA則可以大大地加速分析流程,從而加快醫(yī)療領(lǐng)域的創(chuàng)新。Intel和Broad研究所合作開發(fā)出了基因分析工具包,為基因測序的Pair-HMM算法專門制定了FPGA,大大提供了這個算法的效率。利用了FPGA的并行處理的能力,這一個算法速度提高了50倍,Broad研究所的業(yè)務(wù)流量在使用FPGA之后提高了1.2倍。
在Friebe分享的兩個實例中,F(xiàn)PGA都扮演了加速器的角色。與ASSP/ASIC專用加速器相比,F(xiàn)PGA更加靈活,更適合網(wǎng)絡(luò)、存儲和計算領(lǐng)域的定制或變化的工作負(fù)載。
FPGA可以跟CPU進(jìn)行協(xié)作,來打造一個旁路加速的功能。也就是說,CPU可以把大量的數(shù)據(jù)一次性地通過PE的方式發(fā)送給FPGA,由FPGA處理完之后再發(fā)回給CPU。數(shù)據(jù)中心和云端對于這種實時的非常低延遲的處理要求響應(yīng)速度越來越快。
另一方面,由于FPGA的I/O非常靈活,可以直接網(wǎng)絡(luò)或者相關(guān)的接口去對接。在微軟的Brainwave項目里,就是直接把數(shù)據(jù)輸入到FPGA進(jìn)行加速或者實現(xiàn)一個非常低延遲的響應(yīng)。
圖:FPGA用做在線或旁路加速
Friebe表示,在數(shù)據(jù)中心和云的基礎(chǔ)設(shè)施里面,不管是公有云還是私有云,我們都看到同樣的需求,就是利用FPGA帶來的性能提升。還有混合云的情況,如果本來是在私有云上有這個需求,比如處理能力需要有所增加,Intel的方案可以實現(xiàn)無縫的從私有云到公有云的遷移,反向遷移也可以實現(xiàn)。在中國,Intel一直和開放數(shù)據(jù)中心委員會合作,從它成立之初就擔(dān)任了這個委員會的技術(shù)顧問。在最新的Scorpio3.0版本里,已經(jīng)把FPGA納入其中。
為了開發(fā)人員更輕松的使用FPGA,Intel近日推出了面向Intel至強(qiáng)CPU和FPGA的加速堆棧。下圖所示是一個多層架構(gòu),最下面是Intel的硬件,包括至強(qiáng)CPU和FPGA。Friebe告訴21ic記者,Intel創(chuàng)建了一個包含OPAE(開放可編程的加速引擎)在內(nèi)的加速環(huán)境,這個引擎可以在低層次上提取一些相應(yīng)的驅(qū)動,用戶自己能夠控制。
圖:Intel至強(qiáng)CPU和FPGA的加速堆棧
無論硬件是什么,F(xiàn)PGA是什么類型,多少數(shù)量,對用戶來說,和硬件交互永遠(yuǎn)是通過一個統(tǒng)一的界面交互。這種OPAE環(huán)境,其中包括一系列相關(guān)的驅(qū)動和庫,都是開源的??梢园岩幌盗衼碜圆煌瑏碓吹目蛻粽系揭黄穑赡苁莵碜杂诘谌?,可能來自于我們的客戶,當(dāng)然也可以來自Intel。對于應(yīng)用開發(fā)人員來說,他們完全可以用自己習(xí)慣使用的一些行業(yè)標(biāo)準(zhǔn)和框架,包括Intel提供的SDK來開發(fā)他們的應(yīng)用,與這一系列標(biāo)準(zhǔn)庫去配合使用。
以將加速堆棧嵌入到數(shù)據(jù)中心或者云基礎(chǔ)設(shè)施為例,F(xiàn)PGA可以被簡單的看做一個計算資源,用通常的編排工具,或者是用機(jī)架進(jìn)行編排。
圖:在云上部署FPGA加速
在云上這個層面,能夠感知數(shù)據(jù)中心里面現(xiàn)在有個FPGA。從用戶層面,不管是在公有云還是在私有云,如果希望用到FPGA加速功能,只要簡單地做一個liberal report,調(diào)一個庫,發(fā)起一個請求,這個編排軟件就可以直接接收請求,下送到計算模塊,接下去就可以生成一個虛擬機(jī)來跑這個應(yīng)用。對于最終用戶,只要做一個liberal report這樣的請求就可以實現(xiàn)這一強(qiáng)大的功能了。
人工智能是現(xiàn)在的大熱門,展望未來,它的網(wǎng)絡(luò)拓?fù)洹?shù)據(jù)類型,未來都會不斷變化,像人工智能這樣的應(yīng)用場景,F(xiàn)PGA將大有可為,因為它能夠很好地對未來進(jìn)行兼容,當(dāng)新的需求出現(xiàn)了,情況發(fā)生變化了,可以隨時對它進(jìn)行再次的編程,適應(yīng)新的變化。
憑借其靈活性和通用性,F(xiàn)PGA一方面能兼顧硬件性能,另一方面能帶來軟件的可編程性,能夠很好的滿足數(shù)據(jù)中心、云計算,乃至人工智能的在未來出現(xiàn)的動態(tài)需求。