omniture

云棲大會浪潮發(fā)布FPGA加速方案演講全文

2017-10-14 11:36 6782

杭州2017年10月14日電 /美通社/ --

10月11日, 2017阿里云棲大會在杭州云棲小鎮(zhèn)舉行,這次大會吸引了來自全球近5萬名嘉賓參會,堪稱史上較強。作為阿里在數(shù)據(jù)中心與AI計算基礎(chǔ)設(shè)施的重要合作伙伴,浪潮在阿里展臺發(fā)布了基于F10A的AI線上推理、GZip算法與WebP圖片轉(zhuǎn)碼三大云場景FPGA加速方案,在擴充FPGA生態(tài)的同時,也將為從事AI開發(fā)與應(yīng)用的公司以及大型數(shù)據(jù)中心用戶,提供更高性能功耗比的專用加速芯片選擇。

以下為發(fā)布現(xiàn)場的演講實錄。

面向FAAS服務(wù)的FPGA加速卡

我們看到,應(yīng)用逐步向云環(huán)境遷移,2020年,預(yù)計65%-85%的應(yīng)用遷移到云環(huán)境中,對公有云、私有云和傳統(tǒng)云數(shù)據(jù)中心來說,公有云具有較高的負(fù)載密度和性價比,將成為云服務(wù)應(yīng)用的主流形態(tài)。

當(dāng)前一些以深度學(xué)習(xí)為代表的新興計算應(yīng)用給云數(shù)據(jù)中心和云服務(wù)帶來了重大挑戰(zhàn),異構(gòu)計算成為解決這一挑戰(zhàn)的關(guān)鍵要素,成為一種新常態(tài)。異構(gòu)計算云服務(wù)也給我們帶來一個新的盈利模式,對于云應(yīng)用租戶來說,感受的是時間,時間就是金錢。如果通過異構(gòu)加速,縮短服務(wù)所需的時間,可以節(jié)省很多的費用支出。對于面向云應(yīng)用租戶提供SaaS服務(wù)的廠商來說,單位時間內(nèi)生產(chǎn)效率的提升可以給他們帶來更多的收益,也提升了他們的提供云服務(wù)的積極性。對于公有云廠商來說,一方面,通過異構(gòu)計算,可以顯著降低系統(tǒng)的能耗,節(jié)約成本,另一方面,異構(gòu)計算給云應(yīng)用租戶和SaaS服務(wù)商帶來更多的好處,使得大家更踴躍的參與,這將形成多贏的局面。對于異構(gòu)計算加速部件,可以有GPU、FPGA、ASIC或者以TPU為代表的專用加速器等多種選擇。其中,GPU使用最廣,生態(tài)系統(tǒng)最成熟,在深度學(xué)習(xí)方面取得了良好效果。

與CPU和GPU不同,F(xiàn)PGA是一種典型的非諾依曼架構(gòu),是硬件適配軟件的模式,它能夠根據(jù)系統(tǒng)資源和算法特征靈活的調(diào)整并行度,達到最優(yōu)的適配,因此能效比高于CPU和GPU。對于ASIC專用加速器來說,它們在專用算法的加速方面會有比較好的效果,但難以滿足云服務(wù)對計算部件具有廣泛適用性的需求。

以TPU為代表的各種PU們在深度學(xué)習(xí)加速方面取得了較好的效果,通常拿來與FPGA競爭、比較,這讓我們想起了20年前計算機體系結(jié)構(gòu)超標(biāo)量(Supersclar)和超長指令字(VLIW)之爭,超標(biāo)量架構(gòu)通過硬件發(fā)掘程序的并行性,但在4發(fā)射(4-issue)以上遇到了很大的困難,為了發(fā)掘程序的并行性并消除數(shù)據(jù)相關(guān)性和流水線沖突,付出了很大的硬件代價,同時使得處理器的工作主頻難以提升。而超長指令字將程序并行性發(fā)掘任務(wù)交給了編譯器,同時簡化了數(shù)據(jù)相關(guān)性、流水線沖突處理單元設(shè)計,以期望實現(xiàn)更高的工作主頻和更好的性能。但是理想很美好,現(xiàn)實很殘酷,編譯器很難從現(xiàn)有的編程模式下發(fā)掘更高的并行性。超長指令字并不能發(fā)揮,因此現(xiàn)在的主流CPU依然采用超標(biāo)量架構(gòu)。FPGA更像一種類似超標(biāo)量的架構(gòu),提升算法并行性的模式,對于TPU來說,其Tensorcore采用的脈動陣列架構(gòu)處理方式,對數(shù)據(jù)復(fù)用性很敏感,對于像殘差神經(jīng)網(wǎng)絡(luò)(Resnet)這種小規(guī)模矩陣運算(如1*1矩陣)效果存在折扣。另一方面,TPU類似于超長指令字架構(gòu),簡化了數(shù)據(jù)控制邏輯單元,需要通過框架優(yōu)化和編譯器優(yōu)化來發(fā)掘并行性,消除數(shù)據(jù)相關(guān)性,應(yīng)用場景受到限制,短時間內(nèi)難以滿足云服務(wù)通用性的要求。因為,我們認(rèn)為,F(xiàn)PGA 是繼GPU之后,第二種具有更高能效比、更好通用性云服務(wù)加速部件。

其實FPGA不僅在計算的加速具有良好效果,其也可以應(yīng)用于數(shù)據(jù)中心存儲和網(wǎng)絡(luò)的加速,F(xiàn)PGA可為云服務(wù)計算、存儲、網(wǎng)絡(luò)帶來綜合的提升。

FPGA作為一個加速卡,已經(jīng)有幾十年的歷史。但是在數(shù)據(jù)中心應(yīng)用有所不同,F(xiàn)PGA首先要提供云服務(wù),能夠滿足大規(guī)模部署和運維的需求,滿足云服務(wù)的特性,包括遠(yuǎn)程監(jiān)控管理、在線動靜態(tài)邏輯的重構(gòu),也需要支持各種虛擬機訪問以及支持各種驅(qū)動兼容性,整個加速卡也需要有更高的RAS特性,這些在服務(wù)器里面,可能是比較通用的性質(zhì),但是先前的FPGA加速卡,并沒有這類應(yīng)用場景需求,也不具備這些特性,存在很大缺失。我們認(rèn)為,F(xiàn)PGA更重要的是一種FaaS(FPGAas a Service)服務(wù)。

在這里介紹一下浪潮研制的面向 FaaS(FPGA as a Service)服務(wù)的FPGA加速卡。它是業(yè)界功能密度較高的半高半長加速卡,它與其他卡的顯著不同之處在于在半高半寬的尺寸下支持雙DIMM模式,而不是內(nèi)存貼片。采用內(nèi)存貼片的方式,將會帶來較好的散熱效果,但內(nèi)存容量受限,同時,現(xiàn)在內(nèi)存存在一些良率問題,采用貼片內(nèi)存就需要篩選,如果篩選不好的話,F(xiàn)PGA卡,可能如果發(fā)生內(nèi)存的故障,會不可修復(fù),可能會帶來FPGA里頭的通道,或者很大一塊(08:卡可能發(fā)成內(nèi)存故障,不可修復(fù),可能會帶來FPGA內(nèi)存訪問通道的缺失,或者一大塊內(nèi)存空間失效,影響整個板卡的使用,因為浪潮采用DIMM的方式,并克服了DIMM方式帶來的一些問題,如信號完成性和散熱要求高要求。浪潮的FPGA卡每個DIMM較大可支持16GB,所以我們半高半長的板卡較大可以支持32GB內(nèi)存,比其他板卡高出一倍以上,它的峰值浮點性能可以達到1.5TFlops。浪潮作為服務(wù)器廠商,其FPGA加速卡不僅僅是一個板卡,而是將很多的服務(wù)器技術(shù)轉(zhuǎn)移至其中,構(gòu)建了一個支持FaaS服務(wù)的FPGA生態(tài)系統(tǒng)。

板卡能夠支持動態(tài)邏輯的在線可重構(gòu)、靜態(tài)邏輯的遠(yuǎn)程更新,采用帶內(nèi)(CPU-PCIE-FPGA)帶外(BMC-SMBUS-CPLD)雙環(huán)監(jiān)控管理機制,大大提升了板卡遠(yuǎn)程監(jiān)控管理的可靠性,通過它們可以實時的監(jiān)控FPGA芯片的溫度、板卡風(fēng)扇轉(zhuǎn)速、板卡序列號、板卡內(nèi)存特性并可以調(diào)整FPGA的工作頻率。

同時也支持虛擬機的直接訪問,板卡本身也加入了很多RAS特性,如高可靠內(nèi)存訪問等。板卡支持并行(FPP)和串行(AS)雙加載模式,任何一種模式加載出現(xiàn)故障,都可以快速切換到另一種模式加載,保證了板卡大規(guī)模服務(wù)的可用性。

基于OpenCL高級語言的FPGA一體化解決方案

傳統(tǒng)的FPGA的開發(fā)類似于芯片的開發(fā),采用硬件描述(RTL)語言開發(fā),RTL開發(fā)帶來的問題就會像芯片設(shè)計一樣周期會比較長。一個典型的應(yīng)用開發(fā),我們首先要進行架構(gòu)設(shè)計,然后我們要寫算法的C模型,C模型做完驗證之后,RTL工程師使用RTL語言改寫一遍,寫后需要仿真綜合,如果我們發(fā)現(xiàn)時序達不了標(biāo),可能要調(diào)整時序,甚至要推倒重來重新優(yōu)化設(shè)計,時序達標(biāo)后,首先要跟C模型進行聯(lián)合仿真驗證,驗證完畢還要上板卡進行測試驗證,板卡級的測試驗證會有很多問題,尤其是人工開發(fā)引入的時序、時鐘問題,發(fā)現(xiàn)難驗證難。因此,要開發(fā)一個大型應(yīng)用可能需要一年的時間。當(dāng)然,現(xiàn)在有一些HLS(HighLevel Synthsis)的工具,它可以把C模型直接翻譯成RTL模型,但是它的主要問題是開發(fā)不是特別友好,它僅僅把算法實現(xiàn)了,但是算法周邊,包括總線接口、訪存單元、驅(qū)動、上層的調(diào)用都存在著空白需要額外開發(fā)。因為RTL工程師僅僅把它當(dāng)成一個輔助的開發(fā)工具,整體開發(fā)時間并不能節(jié)省太多。

互聯(lián)網(wǎng)存在快速開發(fā)和迭代開發(fā)的特性,以滿足線上應(yīng)用快速變化的需求,RTL或HLS開發(fā)模式動輒以半年或年為單位的開發(fā)周期難以滿足需求,迫切需要更高層次的開發(fā)模型。OpenCL高級語言開發(fā)方式為我們打開了一扇窗戶,它把底層的硬件如總線、IO接口、訪存控制器等和底層軟件如驅(qū)動、函數(shù)調(diào)用等全部封裝在BSP中,變成標(biāo)準(zhǔn)單元提供上層支持。用戶只需要關(guān)注算法本身,OpenCL的開發(fā)的邏輯通過編譯工具直接映射到FPGA中,開發(fā)周期大大縮短,也符合互聯(lián)網(wǎng)應(yīng)用的需求。

Gzip數(shù)據(jù)壓縮

基于OpenCL語言浪潮開發(fā)了一些解決方案,下面我們講一些案例,以數(shù)據(jù)壓縮Gzip為例,存儲面臨的壓力遠(yuǎn)遠(yuǎn)高于計算,數(shù)據(jù)產(chǎn)生可以分為兩類,一類是人類產(chǎn)生的數(shù)據(jù),比方說,文本、圖片和視頻等,它的特點是隨機性高、重復(fù)率低,另一類是機器產(chǎn)生的數(shù)據(jù),包括交易記錄、編譯報告和日志等,這類的數(shù)據(jù)其實比我們?nèi)祟惍a(chǎn)生的要多的多,它的特點是隨機性比較低,重復(fù)率非常高。對于壓縮來說,怎么樣把各類數(shù)據(jù)都進行很好的壓縮,是個很大的挑戰(zhàn)。

對于FPGA壓縮方案業(yè)內(nèi)通用的是一種簡化方案,它把Gzip重要的兩個部件LZ77壓縮、Huffman并行執(zhí)行,犧牲了壓縮率,不兼容Gzip標(biāo)準(zhǔn)算法。

針對這些問題,浪潮推出了完全兼容Gzip標(biāo)準(zhǔn)的FPGA壓縮算法,并且提供兩種方案,一種是高性能的(High Performance)的方案,另一種是高壓縮率的方案。數(shù)據(jù)對比表明,采用簡化方案雖然性能可以達到2.5GB每秒,但壓縮率只有45%,浪潮的高性能方案和高壓縮率方案性能可以到1-1.5GB每秒,壓縮率可達25%-28%,比簡化方案提升了50%以上。    另外,在機器產(chǎn)生的日志文件壓縮中效果更加明顯,壓縮率能到5%,而簡化的方案只能到26%-27%左右,浪潮的方案提升了5倍,這是非常顯著的一個數(shù)據(jù),因為現(xiàn)在很多互聯(lián)網(wǎng)廠商,他們每天的日志文件,都是TB級的,所以減少5倍存儲開銷是非??捎^的數(shù)字。

與CPU軟件方案相比,在文本上面壓縮上與其接近,在日志文件壓縮上與其差距不大,但性能提升了10-20倍?,F(xiàn)在較快的SSD數(shù)據(jù)寫入速度大約在1GB每秒左右,浪潮FPGA加速方案可以實現(xiàn)實時壓縮和存儲。   

圖片轉(zhuǎn)碼FPGA加速

WebP是谷歌提出的一種圖片編碼格式,它能夠在保證圖象質(zhì)量的同時,進一步壓縮圖片存儲空間,比PNG、JPG、GIF格式有25%-60%的存儲空間減少。對于數(shù)據(jù)中心來說,網(wǎng)絡(luò)帶寬其實是很大的一塊運營成本。谷歌的數(shù)據(jù)表明,Webp格式可減少33%的網(wǎng)頁傳輸時間,同時整體加載時間可以減少10%。騰訊的數(shù)據(jù)表明,采用Webp格式,其新聞客戶端、QQ空間等,流量峰值帶寬降低9GB,圖片延時和數(shù)據(jù)下載延時降低100ms。因此采用WebP的方式不僅僅能夠數(shù)據(jù)每天節(jié)省TB級的數(shù)據(jù)存儲空間,同時也能有效降低網(wǎng)絡(luò)帶寬的開銷,從而降低整個數(shù)據(jù)中心的運營成本。從VGA(640*480)到4K高清各種尺度下的測試表明,浪潮FPGA的WebP編碼性能可提升10倍以上。

深度學(xué)習(xí)

浪潮FPGA在深度學(xué)習(xí)線上推理應(yīng)用也做了很多嘗試。首先是AlexNet深度學(xué)習(xí)網(wǎng)絡(luò),單機單卡性能可達到848楨每秒的線上識別率。我們也嘗試單機雙卡、三卡到四卡性能加速,在單機四卡情況下,可達到2971幀每秒的線上識別率。而且,從單機到單卡到四卡,它們的性能提升線性度非常好。

另外,我們也構(gòu)建了兩種殘差深度學(xué)習(xí)網(wǎng)絡(luò)加速模型,一種是采用CIFAR-10的57層神經(jīng)網(wǎng)絡(luò),另一種采用ImageNet數(shù)據(jù)集的50層神經(jīng)網(wǎng)絡(luò)。浪潮作為一家服務(wù)器廠商,可以提供包含F(xiàn)PGA板卡、BSP和驅(qū)動、IP算法,同時可以集成在我們的服務(wù)器中給客戶提供一體化的解決方案。

消息來源:浪潮集團
China-PRNewsire-300-300.png
全球TMT
微信公眾號“全球TMT”發(fā)布全球互聯(lián)網(wǎng)、科技、媒體、通訊企業(yè)的經(jīng)營動態(tài)、財報信息、企業(yè)并購消息。掃描二維碼,立即訂閱!
collection