01
超級計算機和FPGA
1、超算?
大數(shù)據(jù)、基因科學(xué)、金融工程、人工智能、新材料設(shè)計、制藥和醫(yī)療工程、氣象災(zāi)害預(yù)測等領(lǐng)域所涉及的計算處理,家用個人計算機級別的性能是遠遠不夠的。超級計算機(以下簡稱超算)就是為了解決這種超大規(guī)模的問題而開發(fā)的。超算并沒有一個明確的定義, 通常所說的超算大致是性能在家用計算機的1000倍以上,或者理論性能在50 TFLOPST以上的系統(tǒng)。
FPGA作為可以提高超算能效比的通用器件受到了廣泛關(guān)注。從性能、靈活性和功耗效率方面,CPU、FPGA和ASIC里面FPGA走的是中間路線。FPGA的功耗效率是高于CPU的,靈活性高于ASIC;從功耗效率、性能保障性和算法適用性來看,F(xiàn)PGA應(yīng)該是碾壓GPU的。GPU適用的算法非常有限,拿到一個算法,能否達到最終的性能是有風險的;早期GPU的實現(xiàn)算法非常容易,但是自從Xilinx在高層次綜合HLS方面深度耕耘后,F(xiàn)PGA的編程容易度也降低了很多。其優(yōu)勢是不但可以作為運算加速器,還可以作為連接器件讓超算中眾多的運算處理器和運算加速器更緊密地結(jié)合。此外,IoT技術(shù)正在推動硬件基礎(chǔ)設(shè)施的升級,今后運算和數(shù)據(jù)的集中化和分散化進程都會加速發(fā)展。在這個進程當中,為了運用超算技術(shù),也要求數(shù)據(jù)中心具備更加嶄新和有效的方法和技術(shù)口。除了大規(guī)模計算以外,從強化升級社會IT基礎(chǔ)建設(shè)的角度上看,超算技術(shù)也越來越必要。因此,PLD/FPGA必將會在超算中得到更廣泛的運用。
02
超算中的FPGA應(yīng)用案例
1、首先是筑波大學(xué)20世紀70年代開始研發(fā)用于科學(xué)計算的并行計算機PACS/PAX,而HA-PACS是該系列的第8代。PACS/PAX系列自開發(fā)之初就以實現(xiàn)了CPU和內(nèi)存間的高速互聯(lián)架構(gòu)而聞名。HA-PACS是PACS/PAX系列中首次采用GPU作為運算加速器的超算。用GPU提高超算性能,還必須要實現(xiàn)能夠充分發(fā)揮GPU高運算性能的并行系統(tǒng)架構(gòu)。然而,HA-PACS開發(fā)時的GPU存在些問題,導(dǎo)致難以實現(xiàn)高效的并行系統(tǒng)架構(gòu)。例如在多個GPU間共享數(shù)據(jù)時,傳輸前后需要在宿主CPU的主存中進行數(shù)據(jù)復(fù)制。還有將數(shù)據(jù)傳輸從PCle轉(zhuǎn)為其他通信方式時,很難削減通信延遲。為了改善這些問題,HA-PACS系統(tǒng)基于PEARL ( PCI Express Adaptive and Reliable Link)概念提出了TCA ( Tightly Coupled Accelerato-rs) 技術(shù),并開始開發(fā)實現(xiàn)TCA的PEACH2板卡。
那么由CPU+GPU+FPGA組成的異構(gòu)系統(tǒng)的性能又如何呢? HA-PACS/TCA是一個只有64個節(jié)點的小規(guī)模系統(tǒng),理論性能為364.3TFLOPS,實測性能為277.1 TFLOPS, 2013年11月位列TOP500的第134名。另外,由于該系統(tǒng)達到了3.52 GFLOPS/W的高能效比,在2013年11月和2014年6月的Green500榜中位列第3名。HA-PACS/TCA的基礎(chǔ)部分采用GPU和CPU組合來實現(xiàn)高性能、低功耗的運算,再加上基于FPGA的PEACH2的使用,進一步提高了跨學(xué)科合作應(yīng)用中的運算性能。
PEACH2提供了可以讓多個GPU直接互聯(lián)通信的框架。具體來說,PEACH2擴展了PCle通信連接,并實現(xiàn)了GPU間的直接通信,從而達到了提高數(shù)據(jù)傳輸效率的目的”。技術(shù)上,PEACH2實現(xiàn)了一種路由,可以將PCIe協(xié)議中Root Complex和多個End Point間的數(shù)據(jù)包在多個節(jié)點間傳輸。
原本的數(shù)據(jù)傳輸路徑GPUmem→CPUmem→(InfiniBand/MPI)→CPUmem→GPU mem, 縮短為了GPU mem→(PCIe/PEACH2)→GPU mem,即GPU間的直連傳輸。此外,通信協(xié)議的統(tǒng)一也實現(xiàn)了比InfiniBand更低的延遲。
下面一起看一下PEACH2的通信性能。PEACH2具備4個PCleGen2 x8 (8通路)端口。這里的端口數(shù)量上的限制并非源于PEACH2本身,而是因為所采用的FPGA器件的物理限制,這點可以通過FPGA制造技術(shù)的提升而改善。PEACH2中GPU對GPU的DMA的Ping-pong延遲為2.0us ( 100萬分之2秒),CPU對CPU的延遲為1.8 us,可以說通信延遲十分小了。PEACH2能達到這種性能要歸功于使用了PLD/FPGA,正因如此它才能將傳輸開銷降低到2.0 us的程度。這個性能和MVAPICH2 v2.0-GDR ( 帶GDR : 4.5us ;不帶GDR : 19 us) 相比已經(jīng)足夠了。FPGA的采用實現(xiàn)了輕量化協(xié)議、多RootComplex互聯(lián)、Block-Stride通信硬件,從而獲得了高應(yīng)用性能。此外,在Ping-pong帶寬方面,PEACH2 的CPU對CPU的DMA傳輸性能約為3.5 GB/s,達到了理論性能的95%;GPU對GPU的DMA性能約為2.8GB/s。然而,當負載大小超過512 KB時MVAPICH2 v2.0-GDR的性能更高,可以在實際應(yīng)用時根據(jù)需求進行選擇。綜上,無論研究領(lǐng)域或商業(yè)系統(tǒng),今后都會繼續(xù)探索能夠發(fā)揮PLD/FPGA優(yōu)勢的高效方法,從而提高系統(tǒng)的整體性能。
2、其次是Cray Research,該公司的超級計算機:XD1就有用上FPGA,XD1用的是Xilinx(賽靈思)公司的VIRTEX系列FPGA。XD1機內(nèi)有所謂的FPGA應(yīng)用程序加速模塊(FPGA ApplicaTIon AcceleraTIon Module),模塊等于是機內(nèi)的一個小型輔助運算系統(tǒng),VIRTEX是模塊內(nèi)的主控芯片,等于是一個協(xié)同處理器(Co-Processor),只不過這個協(xié)同處理器與ASIC型式的協(xié)同處理器不同,F(xiàn)PGA具有可程序化的功效,因此VIRTEX是一顆可程序化的協(xié)同處理器。運算模塊內(nèi)除了有FPGA的協(xié)同處理器外,處理器也必須搭配內(nèi)存才能行使運算,所以FPGA會再連接4顆QDR II SRAM(極高速性的內(nèi)存),然后模塊一方面用HyperTransport與XD1的主處理器相連,另一方面也連往XD1的特有高速I/O界面:RapidArray。
接著,由于高效運算多是執(zhí)行大量重復(fù)性的運算,例如氣象預(yù)測、風洞測試等,所以可以將執(zhí)行的應(yīng)用程序轉(zhuǎn)化成FPGA內(nèi)的組態(tài)(ConfiguraTIon)程序,以硬件線路方式來執(zhí)行運算,如此將比過往用純軟件方式執(zhí)行快上數(shù)倍至數(shù)十倍的效能,甚至在特定的應(yīng)用運算上能達一百倍以上的效能。
更仔細而言,其實是將整個應(yīng)用程序中重復(fù)性最高、且最經(jīng)常用的函數(shù)庫進行轉(zhuǎn)化,并以FPGA的硬件線路執(zhí)行,如此就能獲得最大的加速效果。
Cray如此,與Cray同為高效運算市場的另一家業(yè)者:SGI(視算科技)也實行相同的作法,SGI提出所謂的RASC(Reconfigurable ApplicaTIon Specific Computing,可組態(tài)化應(yīng)用程序性運算,)RASC也是以模塊方式讓原有的超級計算機能獲得加速效果。
SGI的作法與Cray有部分相同也有部分不同,Cray是將模塊設(shè)置在原有超級計算機的機內(nèi),而SGI則是運用既有超級計算機機箱的上部來加搭加速模塊,不過就功效機制而言兩者異曲同工,此外兩者都使用Xilinx的VIRTEX系列FPGA,但是內(nèi)存與I/O部分兩家也實行不同的設(shè)計,Cray是使用QDR II SRAM,SGI則是可實行QDR SRAM,或者也可用DDR2 SDRAM,前者容量少(80MB)但速度快,后者容量大(20GB)而速度慢,提供兩種選擇的原因是可依據(jù)不同的應(yīng)用程序特性來選用。
另外,高效運算業(yè)者通常有獨門的機內(nèi)通訊傳輸技術(shù),RapidArray即是Cray的獨家技術(shù),而SGI自身也有獨家的傳輸技術(shù),即NUMAlink 4(已是第四代技術(shù)),所以SGI的RASC不是使用RapidArray,而是使用NUMAlink 4。
其實Cray系統(tǒng)內(nèi)所用的FPGA模塊是與DRC Computer公司技術(shù)合作而成,因此DRC Computer自身也有提供相近方案,DRC的RPU(Reconfigurable Processor Units)同樣也是用FPGA來加速,一樣是用Xilinx VIRTEX FPGA,但與主系統(tǒng)間的連接接口改成AMD Opteron處理器的接座接口,如此一般使用AMD Opteron處理器的x86服務(wù)器也可以加裝RPU來提升高效運算的效能。
原文標題:FPGA應(yīng)用案例——超級計算機
文章出處:【微信公眾號:FPGA技術(shù)聯(lián)盟】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
責任編輯:haq
-
FPGA
+關(guān)注
關(guān)注
1629文章
21736瀏覽量
603421 -
計算機
+關(guān)注
關(guān)注
19文章
7494瀏覽量
87962 -
人工智能
+關(guān)注
關(guān)注
1791文章
47279瀏覽量
238511
原文標題:FPGA應(yīng)用案例——超級計算機
文章出處:【微信號:gh_873435264fd4,微信公眾號:FPGA技術(shù)聯(lián)盟】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論