在前不久剛剛結(jié)束的國際高性能計(jì)算咨詢委員會第二屆中國研討會上,委員會主席Gilad Shainer先生與俄亥俄州立大學(xué)的Dhabaleswar K.Panda教授就時(shí)下高性能計(jì)算領(lǐng)域的幾個(gè)主要熱點(diǎn)做了探討:GPU計(jì)算在高性能計(jì)算中的日益激增、云計(jì)算與高性能計(jì)算的關(guān)系等。
中國高性能計(jì)算成長迅速 率先采用GPU非常明智
美國俄亥俄州立大學(xué)的Panda教授是全球范圍內(nèi)高性能計(jì)算領(lǐng)域的專家,其在MPI計(jì)算優(yōu)化領(lǐng)域做出了杰出的貢獻(xiàn)。他表示,中國高性能計(jì)算這兩年發(fā)展迅猛,與中國經(jīng)濟(jì)的穩(wěn)步增長有密切關(guān)系。另一方面,中國高性能計(jì)算的爆發(fā)式增長尤其是GPU+CPU計(jì)算模式的領(lǐng)先,主要原因有兩點(diǎn):
美國俄亥俄州立大學(xué) Dhabaleswar K.Panda教授
1、GPU雖然有編程通用性差等弊病還處在應(yīng)用邊緣,但對于高性能計(jì)算來說GPU龐大數(shù)目的流處理器非常適用于浮點(diǎn)運(yùn)算。中國的高性能計(jì)算系統(tǒng)規(guī)劃和建造者們早于其他國家認(rèn)識到了這一點(diǎn),因此這樣的異構(gòu)計(jì)算機(jī)在中國出現(xiàn)如此大規(guī)模的部署(指“天河一號”)也為全球HPC工作者做了榜樣。
2、目前很多Top10里的高性能計(jì)算機(jī)采用的是升級換代的模式,因此包括Juguar在內(nèi)的高性能計(jì)算系統(tǒng)你可以看到他們在升級處理器和內(nèi)存來提升性能。這樣做的好處是節(jié)省了重新構(gòu)建系統(tǒng)的成本,缺點(diǎn)是他們不能做架構(gòu)調(diào)整。因此升級處理器帶來的性能提升幅度有限,卻又受制于系統(tǒng)架構(gòu)不能采用GPU計(jì)算。所以這一點(diǎn)上中國的高性能計(jì)算更有遠(yuǎn)見。
另一個(gè)層面上來看,包括Nvidia Tesla所支持的CUDA環(huán)境,AMD Streaming系列計(jì)算卡所支持的OpenCL以及英特爾Knights Ferry系列所支持的x86通用編程環(huán)境。所有這些編程環(huán)境都在試圖讓使用GPU的人更輕松的對“小核”做并行編程。
云計(jì)算與高性能計(jì)算共存 用GPU-Direct為GPU計(jì)算加速
國際高性能計(jì)算咨詢委員會主席Gilad先生認(rèn)為,云計(jì)算并不是新概念尤其是在高性能計(jì)算領(lǐng)域里——早先各地的計(jì)算人員就以云的方式在提交作業(yè)。從服務(wù)器農(nóng)場到網(wǎng)格再到云計(jì)算,實(shí)際上是云計(jì)算這種技術(shù)背后的模式正在逐步走向商業(yè)化,并得到人們的重視。
國際高性能計(jì)算咨詢委員會主席Gilad Shainer先生
據(jù)Gilad先生介紹,很多云計(jì)算廠商將自身的云計(jì)算環(huán)境部署在超級計(jì)算機(jī)上,如Amazon的EC2和Oracle Sun Exadata和Exalogic兩套數(shù)據(jù)庫專用系統(tǒng)中都采用了基于Infiniband的超級計(jì)算機(jī)(規(guī)模不同)。Gilad認(rèn)為,云計(jì)算里面使用高性能計(jì)算可以有效降低用戶的租用成本。
另一方面,從長遠(yuǎn)來看云計(jì)算目前還處于概念定型和啟動階段。商業(yè)環(huán)境決定了私有云必然是自主建設(shè),或自行研發(fā)或采用成熟解決方案,而云環(huán)境對計(jì)算性能的渴求使得高性能計(jì)算必然會應(yīng)用其中??梢赃@么說,云計(jì)算不一定可以做高性能計(jì)算(系統(tǒng)延遲、負(fù)載和高可用等不符合高性能計(jì)算標(biāo)準(zhǔn));但是高性能計(jì)算系統(tǒng)一定可以作為云計(jì)算的重要節(jié)點(diǎn)。
對于GPU計(jì)算的優(yōu)化,Gilad先生所在的Mellanox公司做了很多努力。其中最突出的貢獻(xiàn)要數(shù)通過ConnectX-2 Core-Direct技術(shù)隊(duì)GPU通訊進(jìn)行優(yōu)化。這里簡單說說新傳輸方式與舊方式的區(qū)別(如下圖):
本圖體現(xiàn)了GPU計(jì)算過程中數(shù)據(jù)是如何傳遞的:CPU從內(nèi)存中讀取需要GPU計(jì)算的原始數(shù)據(jù),傳遞給北橋芯片的PCI-E控制器,北橋芯片將數(shù)據(jù)傳給GPU,GPU將其存入緩存,計(jì)算的結(jié)果也存入GPU緩存(注意這一過程是不斷進(jìn)行的,動態(tài)的);計(jì)算結(jié)果再從GPU緩存流經(jīng)GPU傳回給北橋控制器,北橋傳回CPU,CPU將之存入內(nèi)存。
如果說以上過程足夠繁瑣,效率很低的話。那么來看看GPU計(jì)算好的結(jié)果是如何傳輸?shù)摹狢PU從內(nèi)存里重新讀取GPU計(jì)算的結(jié)果,將需要傳輸?shù)牟糠衷俅嫒雰?nèi)存中網(wǎng)絡(luò)模塊讀取的指定區(qū)域——infiniband網(wǎng)卡通過CPU再讀取相關(guān)信息傳出去。因此可以說,GPU計(jì)算時(shí)的數(shù)據(jù)傳輸是最大瓶頸。
Mellanox的解決方案很簡單,在不改變現(xiàn)有IT架構(gòu)的情況下——意即原先那套計(jì)算流程不變。變化只有一點(diǎn)點(diǎn):GPU計(jì)算結(jié)果在存儲到內(nèi)存之后,直接被infiniband讀取傳輸走,減少了再次通過CPU讀取轉(zhuǎn)存的步驟。從而降低了數(shù)據(jù)傳輸?shù)臅r(shí)延——這一點(diǎn)點(diǎn)的改進(jìn)使得GPU之間的時(shí)延降低30%,消除了數(shù)據(jù)在infiniband和GPU之間的拷貝,用心良苦可以想見。
本文轉(zhuǎn)載自:http://server.it168.com/a2010/1111/1124/000001124704.shtml
【 發(fā)表評論 1條 】