白話CAPI+FPGA新看點(diǎn), 為大數(shù)據(jù)加速
發(fā)表時(shí)間:2015-11-18
返回列表話說多年以來,作為有著十幾年開發(fā)經(jīng)歷的元老級(jí)FPGA玩家,恒揚(yáng)科技一直玩著陽春白雪式的東東,什么FPGA加速啦,異構(gòu)計(jì)算啦,多核平臺(tái)啦,對(duì)涉世未深的科技小白來說,即便聽了N遍,依舊還是云里霧里,不知所云。
9月16日,第二代分布式計(jì)算聯(lián)盟成立。 作為和IBM、Xilinx攜手創(chuàng)辦的聯(lián)盟成員之一,恒揚(yáng)正好借此機(jī)會(huì),放下身段,接接地氣,用一個(gè)外行人的視角給大家講講高大上的CAPI+FPGA為大數(shù)據(jù)加速碰撞出來的新火花兒。
當(dāng)當(dāng)當(dāng)當(dāng)~~,科技范小白及FPGA張大俠閃亮登場(chǎng)!
科技范小白: 好學(xué)指數(shù) 5顆星★★★★★ 科技指數(shù)@#%…¥&@%^
FPGA張大俠: FPGA技術(shù)指標(biāo) 爆表 顏值。。。。居然也爆表
科技范小白:在下范小白,近日在江湖上聽說各路幫主聚首,召開了英雄大會(huì),共商二代分布式計(jì)算之事宜,據(jù)說席間眾英雄群情激蕩,腦洞大開,勾畫出FPGA+CAPI應(yīng)用大藍(lán)圖。敢問大俠,能否先行給做做腦補(bǔ),一代分布式計(jì)算是啥概念?
FPGA張大俠:對(duì),要明白二代分布式計(jì)算,我們先得了解什么是一代分布式計(jì)算。舉個(gè)簡(jiǎn)單的例子,比如咱們班的數(shù)學(xué)老師給大家出了一道很難的數(shù)學(xué)題,看樣子非常復(fù)雜,計(jì)算量超大,一個(gè)同學(xué)在下課前是完不成了,那么咱們成立一個(gè)幾個(gè)童鞋組成的解題小組,然后由組長分配任務(wù),每人完成其中的一部分計(jì)算,通過大家的努力和結(jié)果匯總,居然在下課前把一個(gè)人如何也完成不了的題做完了。這就是第一代分布式計(jì)算的概念——它是相對(duì)于集中計(jì)算來講的,即把一個(gè)需要龐大計(jì)算量的工作,分配到多臺(tái)計(jì)算機(jī)上來完成,從而達(dá)到快速實(shí)現(xiàn)的目的。
科技范小白:原來如此,原來就是從單兵作戰(zhàn)改到小組作戰(zhàn)啊!那二代分布式計(jì)算是咋回事?它和一代計(jì)算有啥區(qū)別呢?
FPGA張大俠:第二代分布式計(jì)算呢,是對(duì)第一代分布式計(jì)算的一個(gè)改進(jìn)和升華。咱們還是以上面這個(gè)例子繼續(xù)說吧,數(shù)學(xué)老師看到大家的能力強(qiáng)了,于是第二天又出了一道更難、計(jì)算量更大的數(shù)學(xué)題,我估計(jì)這次得是宇宙級(jí)復(fù)雜程度了 O(∩_∩)O哈哈,但老師說還是你們這個(gè)小組來解,但是呢,允許大家找各種各樣的工具。于是乎大家有的用算盤算,有人用計(jì)算器算,有人用電腦算,八仙過海各顯神通。然后組長充分了解到大家工具的能力,再次進(jìn)行了工作的分配,最后大家在工具的協(xié)助下再次完成了難題??梢钥吹竭@次大家和上次最大的區(qū)別在于,不光用每個(gè)人的大腦自己算了,而且尋找工具來幫忙完成計(jì)算工作,這些工具在計(jì)算方面比人的大腦效率更高。那么這就是第二代分布式計(jì)算的概念——即在分布式計(jì)算的基礎(chǔ)上,再采用專用的協(xié)處理器來對(duì)CPU(大腦)進(jìn)行加速,這種CPU+協(xié)處理器的模式我們叫做——異構(gòu)計(jì)算,而且要求這里的協(xié)處理也能進(jìn)行編程和升級(jí),以達(dá)到通用化目的。
科技范小白:哦,CPU+協(xié)處理器=異構(gòu)計(jì)算,我現(xiàn)在終于知道異構(gòu)計(jì)算是啥了!媽媽再也不用擔(dān)心我的學(xué)習(xí)了!
FPGA張大俠:上面我們已經(jīng)提到了異構(gòu)計(jì)算,假如上面的人的大腦是我們認(rèn)為的通用計(jì)算處理器的話,算盤、計(jì)算器、計(jì)算機(jī)就是異構(gòu)處理器。異構(gòu)處理器一般相較通用處理器在某些方面的計(jì)算能力更強(qiáng),配合通用處理器處理特定的計(jì)算任務(wù)從而達(dá)到加速的目的。目前主流的異構(gòu)處理器主要有CPU+GPU和CPU+FPGA兩種。CPU+GPU的組合最擅長浮點(diǎn)運(yùn)算,也就是計(jì)算機(jī)里面的小數(shù)加減乘除運(yùn)算,這也是一代分布式計(jì)算的最典型代表啦。CPU+FPGA呢,最擅長的是整數(shù)運(yùn)算,現(xiàn)在物聯(lián)網(wǎng)、大數(shù)據(jù)、人工智能、機(jī)器學(xué)習(xí)這些新興的大規(guī)模數(shù)據(jù)處理需求不斷涌現(xiàn),CPU+FPGA最擅長干這事,它的機(jī)會(huì)終于來了!
這次由IBM、賽靈思和恒揚(yáng)科技共同倡導(dǎo)的二代分布式計(jì)算,主要是FPGA+CAPI技術(shù)的結(jié)合,這個(gè)CAPI技術(shù)是IBM開發(fā)出來的在Power CPU上的一種新技術(shù),叫加速處理器接口技術(shù),正是因?yàn)橛辛薈API技術(shù),CAPI接口為CPU和FPGA提供了緩存一致性和對(duì)等的內(nèi)存訪問能力,這使得FPGA異構(gòu)加速計(jì)算在CPU側(cè)的編程更具友好性,能達(dá)到更快的速度。舉個(gè)栗子,就好比你要去訪問你的鄰居,你得先出門,走到外面的馬路上,再敲你鄰居的門,經(jīng)過鄰居的允許你才能到達(dá)鄰居家里;如果你和你的鄰居關(guān)系好,是鐵哥們,經(jīng)常去他家做客,于是你倆商量在你們兩家之間的圍墻上打個(gè)大窟窿,還不裝門,通過這樣一個(gè)“快速通道”你去他家是不是很快。
科技范小白:在下明白了!是不是可以這么理解,這就好比咱們常見的公交快速路,大站快車,直達(dá)目的地。
FPGA張大俠:是的,小白你很厲害喲,直接進(jìn)化成大白了(●—●)。CAPI就是這樣一個(gè)快速通道,省去了中間多個(gè)環(huán)節(jié),建立了CPU和FPGA直接的快速一致性通道,方便FPGA加速時(shí)通過這個(gè)“快速通道”搬運(yùn)數(shù)據(jù)。
科技范小白:噢耶,被大俠表揚(yáng)了,好開森哦!大俠,我還想知道,在CAPI+FPGA異構(gòu)計(jì)算里,CAPI是個(gè)快速通道,那FPGA是個(gè)什么角色呢,它是不是就是大量數(shù)據(jù)處理的主力呢?
FPGA張大俠:小白,這次又讓你說對(duì)了。如果把CPU理解成大腦的話,F(xiàn)PGA加速卡就可以理解成專門用來處理大量計(jì)算的計(jì)算器或者計(jì)算機(jī)了,F(xiàn)PGA芯片就是用來進(jìn)行計(jì)算的主力。FPGA(Field Programm-able Gate Array) 芯片是一種可編程的IC芯片,就是我們剛才說的協(xié)助大腦CPU處理特定計(jì)算任務(wù)的協(xié)處理器,我們可以給它指定任務(wù),讓它快速、重復(fù)地處理一些CPU不愛干的臟活累活,這樣就把CPU給解放出來了,系統(tǒng)整體的處理效率也就大大提高了。
那么結(jié)合CAPI技術(shù)和FPGA技術(shù)的加速卡有什么優(yōu)勢(shì)呢?基本可以總結(jié)出四大優(yōu)勢(shì):
* FPGA芯片和CPU更通暢便捷的“對(duì)話” CAPI技術(shù)具備緩存一致性和對(duì)等的內(nèi)存訪問能力,也就是說CPU可以分享他的內(nèi)存空間直接給FPGA使用和訪問,通過CAPI給CPU和FPGA搭起一條快速通道,使得他們的“對(duì)話和交流”變得輕而易舉。
* 逆天高性能,真正實(shí)現(xiàn)以一當(dāng)百 根據(jù)賽迪顧問發(fā)布的《中國OpenPower產(chǎn)業(yè)生態(tài)發(fā)展白皮書》介紹,使用CAPI+FPGA加速卡對(duì)大數(shù)據(jù)Hadoop算法中對(duì)性能要求最高的擦除碼進(jìn)行處理,經(jīng)測(cè)試,服務(wù)器性能提升20-100倍!真正實(shí)現(xiàn)逆天的以一當(dāng)百啊!
* 少吃多干,環(huán)保低功耗 啥是吃的是草,擠出來的是奶?看看CAPI+FPGA加速卡就知道了!一塊FPGA加速卡功耗約20Watt~75Watt,安裝在服務(wù)器機(jī)箱內(nèi),不占用額外機(jī)房空間。光看這個(gè),你沒什么概念是吧!沒關(guān)系,對(duì)比一下就知道了! 1個(gè)CPU單元功耗約為 145Watt~190Watt, 1個(gè)GPU卡單元 功耗約為 235Watt~300W,這下明白了吧!
* 靈活可編程,全方位實(shí)現(xiàn)指哪打哪 FPGA芯片是可以編程的,所以我們可以用它來實(shí)現(xiàn)多種不同算法的在線升級(jí)。我們可以在不同的場(chǎng)合對(duì)FPGA加速單元進(jìn)行升級(jí),靈活配置更換不同的算法,此法具備通用性,可應(yīng)用于不同場(chǎng)景加速——可以說,F(xiàn)PGA芯片是“十八般武藝樣樣精通”呢!
科技范小白:艾瑪,CAPI+FPGA加速卡這么厲害啊,我要直接給跪了!那大俠,這么棒的技術(shù),世面上有沒有成熟的產(chǎn)品呢?
FPGA張大俠:當(dāng)然有??!我們恒揚(yáng)科技就在不久前推出了國內(nèi)首款CAPI+FPGA加速卡NSA-120加速卡,先給你目睹一下它的真容啦!上圖片!
怎么樣?NSA-120加速卡的顏值還是棒棒的吧!除了具備上面說的幾點(diǎn)特性外,NSA-120加速卡還具有幾大獨(dú)門秘籍,坐穩(wěn)聽好了啊!
* 好馬配好鞍,硬件可靠是基礎(chǔ) 基于CAPI+FPGA架構(gòu)的NSA-120加速卡,可是提前完成了大量的硬件和信號(hào)完整性測(cè)試工作和產(chǎn)品化工作的哦!這樣就確保了產(chǎn)品硬件的可靠性。(基礎(chǔ)工作那真是做得杠杠的!) 加速卡自帶的NPL基礎(chǔ)平臺(tái)開發(fā)包包含了豐富的監(jiān)控模塊和統(tǒng)計(jì)模塊,可以實(shí)時(shí)讀取FPGA內(nèi)部溫度啦!板卡溫度啦!內(nèi)部模塊運(yùn)行狀態(tài)啦!統(tǒng)計(jì)信息、電源電流動(dòng)態(tài)變化等等這些信息,這就讓使用者對(duì)加速卡的性能狀態(tài)一目了然哩!
* 應(yīng)用輕松上手,開發(fā)難度降至最小 NSA-120加速卡自帶的NPL加速卡平臺(tái)層套件開發(fā)包,還有一個(gè)更厲害無敵的特性呢!這就是大幅度降低了IDH(FPGA應(yīng)用加速器開發(fā)商)的技術(shù)門檻和研發(fā)工作量。它簡(jiǎn)單好用,所有FPGA開發(fā)流程通通軟件化,讓IDH小伙伴們?cè)僖膊挥萌チ私鈴?fù)雜的底層硬件,只需要關(guān)注實(shí)現(xiàn)核心算法模塊就OK啦!
* 性能有保障,安全來護(hù)航 性能有保障,安全當(dāng)然也不能少。NSA-120加速卡板載兩顆加密芯片,一顆是為用戶 NPL平臺(tái)層套件開發(fā)包進(jìn)行加密的,另一顆是為IDH(FPGA應(yīng)用加速器開發(fā)商) AFU進(jìn)行加密的,雙管齊下,確保IP安全有保證!
* 一次投資,靈活升級(jí),確保ROI最大化 具備在線可升級(jí)能力的NSA-120可支持不同AFU算法模塊在線更換,F(xiàn)PGA配置文件可通過在線從CPU升級(jí)到外掛FLASH中,現(xiàn)場(chǎng)無須重新啟動(dòng)服務(wù)器,在不影響客戶業(yè)務(wù)運(yùn)行的情況下完成現(xiàn)場(chǎng)升級(jí)。
一口氣說了這么多,不知道到小白你聽懂了沒有!
科技范小白:聽懂了聽懂了,這NSA-120加速卡真是太牛了!大俠,我還想知道它具體是怎么給大數(shù)據(jù)云計(jì)算應(yīng)用加速的,有啥實(shí)際應(yīng)用案例?不過今天講的內(nèi)容好像挺多的,要不這些我們下次繼續(xù),我先好好消化消化今天的內(nèi)容咯!
FPGA張大俠:沒問題,我們下期繼續(xù)!記得來學(xué)哦!