两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

一種面向粒子模型的多層直連集群并行計算系統(tǒng)的制作方法

文檔序號:6608794閱讀:183來源:國知局
專利名稱:一種面向粒子模型的多層直連集群并行計算系統(tǒng)的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及高性能計算機(jī)數(shù)值模擬技術(shù)領(lǐng)域,尤其涉及一種面向粒子 模型的多層直連集群并行計算系統(tǒng)。
背景技術(shù)
目前實現(xiàn)高性能計算的主流方式是大規(guī)模并行處理(MPP),由于這 樣的系統(tǒng)耗資巨大,如何充分利用其硬件資源是MPP設(shè)計中需要重點考 慮的問題。傳統(tǒng)的思路是讓系統(tǒng)能適應(yīng)許多不同的算法和應(yīng)用問題,即依 靠通用性來保證業(yè)務(wù)量的飽滿,使系統(tǒng)資源得以充分利用。
為此,原則上應(yīng)實現(xiàn)全局性的快速數(shù)據(jù)交換,包括處理器與存儲器之 間以及處理器之間直接或間接的數(shù)據(jù)交換。在這樣的設(shè)計思路下,當(dāng)處理 器數(shù)量增加時,通信方面的硬件開銷必然非線性地增加,反過來系統(tǒng)的實 際速度卻無法達(dá)到與處理器數(shù)量成線性關(guān)系的增長,從而造成了提高機(jī)器 性能的主要瓶頸。
系統(tǒng)的規(guī)模由于受到元器件的集成度在技術(shù)上的嚴(yán)重制約而存在一 個極限。目前即使對單處理器的微型計算機(jī)來說,處理器的數(shù)據(jù)處理速度 和存儲器數(shù)據(jù)存取速度之間的速度差距拉大也使它運行許多計算程序的 實際效率只有其峰值的10%左右,而對MPP系統(tǒng)來說常常更降低到只有 1 2%。另一方面,雖然存在一些針對特定算法和問題的專用并行計算機(jī), 但因為其應(yīng)用面狹窄,業(yè)務(wù)量小,導(dǎo)致無法成批生產(chǎn)和充分利用,經(jīng)濟(jì)性 很差,所以也沒有得到重點發(fā)展。
本發(fā)明的動機(jī)就在于尋找介于通用和專用設(shè)計的高性能設(shè)備之間的 第三條道路。我們希望找到一種能夠涵蓋盡可能多的數(shù)學(xué)物理模型的算法 框架,以盡量擴(kuò)大其應(yīng)用范圍,而同時又希望這種框架有很突出的專門性 和簡單性,使針對它進(jìn)行的硬件設(shè)計能極大地簡化。

發(fā)明內(nèi)容
(一) 要解決的技術(shù)問題
有鑒于此,本發(fā)明的主要目的在于提供一種面向粒子模型的多層直連 集群并行計算系統(tǒng),以簡化高性能計算機(jī)系統(tǒng)的設(shè)計,提高高性能計算機(jī) 系統(tǒng)的效率。
(二) 技術(shù)方案
為達(dá)到上述目的,本發(fā)明提供了一種面向粒子模型的多層直連集群并 行計算系統(tǒng),該系統(tǒng)由多個節(jié)點組成,所述節(jié)點在邏輯上排成一層或多層 的一維或多維陣列,同層的相鄰節(jié)點之間直接進(jìn)行通信連接,不同層的節(jié) 點通過交換機(jī)進(jìn)行通信連接。
上述方案中,所述節(jié)點為具有獨立的運算、存儲與通信功能的邏輯結(jié) 構(gòu)單元,包括芯片、芯片組、板卡和獨立計算機(jī)中的任意一個或任意多個
的組合;所述節(jié)點間具有網(wǎng)格狀連通的高速mesh網(wǎng)絡(luò)和樹狀連通的低速 tree網(wǎng)絡(luò);鄰近數(shù)據(jù)通信在mesh網(wǎng)上進(jìn)行,全局?jǐn)?shù)據(jù)通信以及統(tǒng)計或控 制信息與指令的交換在tree網(wǎng)上進(jìn)行。
上述方案中,所述陣列為可任意擴(kuò)展的陣列,或為按任何可重復(fù)的排 列方式組成的陣列,至少包括按矩形或長方體、三角形或四面體、六邊形 或十四面體形式形成的陣列;所述陣列的邊緣為開放的,或為與對應(yīng)邊相 連的。
上述方案中,所述通信連接適用于所述節(jié)點間的任何連接方式,至少 包括通信總線、交叉開關(guān)、網(wǎng)卡與網(wǎng)絡(luò)連接線、串口或并口與串口或并口 連接線、USB 口及其連接線連接方式。
上述方案中,所述交換機(jī)為支持所述通信連接的任何多路輸入、單路 輸出或多路輸出的交換設(shè)備。
上述方案中,所述同層的節(jié)點被分為若干組,每組分別通過交換機(jī)與 上層的一個節(jié)點實現(xiàn)通信連接。
上述方案中,該系統(tǒng)的并行計算采用多層次空間分解,各層的維數(shù)均 等于或低于同層節(jié)點陣列的維數(shù),且計算區(qū)域間的拓?fù)潢P(guān)系與相應(yīng)節(jié)點或 節(jié)點組間的拓?fù)潢P(guān)系相同。上述方案中,該系統(tǒng)的并行計算采用由節(jié)點對應(yīng)的區(qū)域四周向中心逐 步向后續(xù)時間步推進(jìn),消除小尺度上的負(fù)載波動,每個節(jié)點處理的流程為
a、 檢查是否有數(shù)據(jù)準(zhǔn)備己完成的可計算的邊界區(qū)段;
b、 如沒有,先向能提供數(shù)據(jù)的節(jié)點發(fā)出請求,然后開始計算一個不
依賴于其它節(jié)點數(shù)據(jù)的區(qū)段,算完后在回到步驟a;
C、如果有,計算該區(qū)段,然后將數(shù)據(jù)發(fā)送給需要的相鄰節(jié)點,并回
到步驟a。
上述方案中,該系統(tǒng)的并行計算在大范圍的負(fù)載平衡時采用調(diào)整各節(jié) 點計算區(qū)域大小的方式,具體包括-
1) 負(fù)載信息經(jīng)過逐層歸約上傳至根節(jié)點;
2) 根節(jié)點據(jù)此計算形成調(diào)度指令回傳給各節(jié)點;
3) 實際的數(shù)據(jù)傳遞由節(jié)點間的直連通信完成。
(三)有益效果
從上述技術(shù)方案可以看出,本發(fā)明提供的這種面向粒子模型的多層直 連集群并行計算系統(tǒng),采用多層次空間分解,各層的維數(shù)均等于或低于同 層節(jié)點陣列的維數(shù),且計算區(qū)域間的拓?fù)潢P(guān)系與相應(yīng)節(jié)點或節(jié)點組間的拓 撲關(guān)系相同,通過這種設(shè)計和粒子模擬的特點,簡化了高性能計算機(jī)系統(tǒng) 的設(shè)計,提高了高性能計算機(jī)系統(tǒng)的效率,并使本發(fā)明還具有以下優(yōu)點
1) 各節(jié)點上的計算與通信操作邏輯上能夠充分重疊;
2) 能大量減少系統(tǒng)中數(shù)據(jù)交換設(shè)備的使用;
3) 各節(jié)點同步地對不同方向的區(qū)域依次計算,避免了通信與內(nèi)存訪 問的沖突;同時允許計算由節(jié)點對應(yīng)的區(qū)域四周向中心逐步向后續(xù)時間步 推進(jìn),從而消除了小尺度上的負(fù)載波動;
4) 大范圍的負(fù)載平衡通過將負(fù)載信息經(jīng)過逐層歸約上傳至根節(jié)點, 據(jù)此計算形成調(diào)度指令回傳給各節(jié)點;并由節(jié)點間的直連通信完成實際的 數(shù)據(jù)傳遞。這種設(shè)計能在較小的投入下顯著提高粒子方法在大規(guī)模并行系 統(tǒng)中的實際運行速度;
5) 以本技術(shù)方案建造的并行計算系統(tǒng)具有高可擴(kuò)展性,理論上對粒 子算法有完全線性的可擴(kuò)展性。


圖1為本發(fā)明提供的面向粒子模型的多層直連集群并行計算系統(tǒng)總體
結(jié)構(gòu)的示意圖;其中,CE為控制節(jié)點,TM為用戶終端,DM為數(shù)據(jù)管 理節(jié)點,PE為處理節(jié)點;
圖2為本發(fā)明提供的面向粒子模型的多層直連集群并行計算系統(tǒng)中節(jié) 點與交換機(jī)連接的示意圖3為本發(fā)明提供的面向粒子模型的二維劃分的多層直連集群并行計 算系統(tǒng)中計算區(qū)域與節(jié)點的對應(yīng)關(guān)系的示意圖 ,
圖4為本發(fā)明提供的面向粒子模型的二維劃分的多層直連集群并行計 算系統(tǒng)中處理節(jié)點局部分時通信的時序示意圖5為本發(fā)明提供的面向粒子模型的多層直連集群并行計算系統(tǒng)中一
個計算節(jié)點對應(yīng)的計算區(qū)域的處理順序示意圖6為本發(fā)明提供的面向粒子模型的二維劃分的多層直連集群并行計 算系統(tǒng)中處理節(jié)點局部直連通信硬件復(fù)用的示意圖。
具體實施例方式
為使本發(fā)明的目的、技術(shù)方案和優(yōu)點更加清楚明白,以下結(jié)合具體實 施例,并參照附圖,對本發(fā)明進(jìn)一步詳細(xì)說明。
本發(fā)明應(yīng)用的領(lǐng)域是采用各種"粒子方法"進(jìn)行的各種計算機(jī)數(shù)值模 擬,而"粒子方法"是我們對這樣一類模擬方法特定的統(tǒng)稱。它們將模擬 系統(tǒng)離散為大量相互作用的粒子,通過動力學(xué)計算描述每個粒子的行為, 從而直接或通過統(tǒng)計與組合復(fù)現(xiàn)系統(tǒng)的行為。雖然目前已經(jīng)出現(xiàn)了多種具 體的粒子方法和大量相應(yīng)的實例模擬,但學(xué)術(shù)界對這些方法的統(tǒng)稱還缺乏 共識。為此先對粒子方法的特征和涵蓋的范圍作更具體的表述。
實際上,有幾種典型的粒子方法已廣為人知,并且是非常直觀的。如 分子動力學(xué)(molecular dynamics, MD)方法通過將原子、原子團(tuán)或分子簡化 為通過有勢力和剛性約束等方式相互作用的質(zhì)點來描述分子、分子團(tuán)以至 材料的微觀行為,目前已廣泛應(yīng)用于化學(xué)制劑的合成,生物大分子和新材 料的研究、設(shè)計與制備,對生命本質(zhì)的探索等領(lǐng)域。而在廣義上,像中子 擴(kuò)散等對核輻射的模擬也歸入分子動力學(xué)方法中。而對像沙石、谷物、各種粉末等固體顆粒物,模擬它們的集體運動最 直觀的方法就是計算其中自然存在的每個離散顆粒間的相互作用力(如相 互接觸產(chǎn)生的壓力和摩擦力,以及非接觸時也能存在的靜電力等),并進(jìn)
而計算它們各自的軌跡,這被成為離散單元法(distinct element method, DEM)。目前也在工業(yè)過程、農(nóng)業(yè)工程和地質(zhì)、水文等方面廣泛應(yīng)用。
而在更大的尺度上,我們也不難發(fā)現(xiàn),從星球、星系,到星系團(tuán)甚至 整個宇宙,世界的離散的特性也是非常明顯的,后者都可視為組成前者的 粒子。而事實上,天體動力學(xué)模擬的一種主流手段就是通過計算這些巨大 "粒子"間的萬有引力來跟蹤它們的軌跡和集體的行為。這種方法為探索宇 宙的形成與演化及未來的航天領(lǐng)域提供了有力手段。
粒子方法也不局限于直觀上能處理為粒子集合的系統(tǒng)。近年來,對于 流體的流動和材料的變形等傳統(tǒng)上采用連續(xù)介質(zhì)方法模擬的行為,通過構(gòu) 造粗?;幕蛘吆喕哪P土W右蔡岢隽撕芏嗔W臃椒?。如介觀的耗散粒 子動力學(xué)(dissipative particle dynamics, DPD)方法和格子波爾茲曼(Lattice Boltzmann, LB)方法,以及宏觀的光滑粒子動力學(xué)(smoothed particle hydrodynamics, SPH)方法等。從物理背景上說,這些模型粒子大致可以被 理解為一大團(tuán)分子或一個物質(zhì)微元的拉格朗日(Lagrange)表達(dá)。這些采用 模型粒子突破了計算量隨系統(tǒng)自然含有的粒子數(shù)量必然增大的問題(這是 采用連續(xù)介質(zhì)方法的重要理由),并且特別適合處理復(fù)雜邊界、多相介質(zhì) 和大變形等對連續(xù)介質(zhì)方法具有挑戰(zhàn)性的問題,目前已在艦船、飛行器和 車輛的設(shè)計,核武器與反應(yīng)堆的研究與設(shè)計,能源、化工、水利、地質(zhì)勘 探開發(fā),氣象和海洋預(yù)報等廣泛的領(lǐng)域中獲得大量應(yīng)用。
在一些文獻(xiàn)中還可以找到對更多粒子方法的介紹。粒子方法雖然種類 繁多,應(yīng)用廣泛,但在算法上卻有很突出的共性。本發(fā)明中提出的并行計 算系統(tǒng)考慮了它們?nèi)缦碌墓餐卣?br> 首先,無論是自然存在的粒子還是人為構(gòu)造的模型粒子,它們之間的 作用強(qiáng)度普遍隨距離的增長而迅速降低。物理粒子間的作用本質(zhì)上無非是 四種基本力造成的(實為三種或更少),其中引力和電磁力的強(qiáng)度與質(zhì)點間
距離平方成反比,而強(qiáng)和弱相互作用的衰減更快,因此一般可忽略相距足夠 遠(yuǎn)的粒子間的作用,或者通過估計大量粒子的合力來代替每對粒子間的受力計算。這就導(dǎo)致了局部性,即盡管整個系統(tǒng)可擁有任意多個粒子,但直接 決定任一粒子瞬時運動的粒子卻主要是很少量的鄰近粒子。
同時一對粒子間的作用函數(shù)一般可通過常微分方程描述,而一個粒子 同時受到的各對作用是可迭加的。也就是說,我們可以按任意順序分別獨 立處理每對粒子間的作用,通過簡單的加和得到粒子的合力。雖然在對硬 球粒子或由多個粒子通過一些約束組成的復(fù)合粒子(如鏈狀的高分子)的 具體處理上并非那么簡單,但在稍大的尺度上,如對復(fù)合粒子的整體,其 算法總體上依然具有此性質(zhì)。
另外,在相當(dāng)于或大于粒子間作用特征時空尺度的范圍內(nèi),粒子系統(tǒng) 常接近均勻狀態(tài),而在兩者中間的時空尺度上系統(tǒng)表現(xiàn)出較強(qiáng)的非均勻 性,并且是動態(tài)變化的。這是物理世界的結(jié)構(gòu)層次性在模型中的自然表現(xiàn)。
值得指出的是,任何連續(xù)介質(zhì)模型除非解析求解,最終也都要按一定 的離散格式數(shù)值求解的。而很多離散格式,主要是顯格式,也可以理解為 某種特殊的靜止粒子系統(tǒng),而這些特殊粒子間的作用也符合上面的幾個特 點,因此它們也屬于本發(fā)明提出的并行計算系統(tǒng)適用的范圍。它具體包括
了很多所謂無網(wǎng)格方法(Meshless Methods),神經(jīng)網(wǎng)絡(luò)(Neural Network)算法,
和很多信號與圖像處理算法。雖然許多隱格式具有更高的效率和更好的穩(wěn) 定性,但是當(dāng)計算量很大時,它并行性差的缺點往往足以掩蓋這些優(yōu)點。 因此隨著高性能計算的發(fā)展,目前那些可以粒子化的顯格式已越來越受到 關(guān)注。因此粒子方法的算法框架的適用面是相當(dāng)寬泛的。
總結(jié)上面的說明可以發(fā)現(xiàn),粒子方法突出地具有應(yīng)用上的普遍性和對 硬件設(shè)計的專門性和簡單性。即各種粒子間的作用方式可模塊化地嵌入通 用的總體算法和數(shù)據(jù)結(jié)構(gòu)中;而通過空間分區(qū),粒子方法幾乎可獲得線性 加速比,且硬件系統(tǒng)的每個節(jié)點可只提供對特定的極少數(shù)相鄰節(jié)點的內(nèi)存 共享或消息傳遞,可相當(dāng)簡便地大規(guī)模擴(kuò)展;并保持接近峰值的實測速度。 同時節(jié)點的復(fù)雜性和規(guī)模可大大降低(如可以只有緩存,沒有主存),從 而提高處于計算操作中的元器件的比例,即提高其使用效率,降低成本。 與一般的通用高性能計算機(jī)相比,針對這種框架設(shè)計的硬件系統(tǒng)應(yīng)用范圍 雖然有所縮小,但仍會有大量的需求。而硬件成本的降低和效率的提高所 產(chǎn)生的效益將遠(yuǎn)遠(yuǎn)超過前者造成的影響。因此發(fā)展這樣的系統(tǒng)將具有非常廣闊的前景。
在并行計算領(lǐng)域發(fā)展較早的是所謂處理器陣列。它的基本思想是將大 量比較簡單的處理單元組成陣列,在統(tǒng)一的控制下對不同的數(shù)據(jù)執(zhí)行相同
的操作,即所謂的單指令多數(shù)據(jù)(single instruction multiple data, SIMD)模
式。這些組成單元一般擁有少量存儲器和執(zhí)行一種或幾種邏輯運算的硬 件,如加法器、加乘運算器等。由于它的簡單性,它們之間可以非常緊密 地耦合,并大量集成到同一芯片上。對于特定運算,這種方式能達(dá)到非常 高的并行度和計算速度。
實際上一些具體的簡單粒子方法,如格子氣(Lattice Gas Automaton, LGA),格子波爾茲曼和許多圖像處理過程就特別適合這種模式實現(xiàn)。由 于這些方法中的粒子實際上只和鄰近格點上的其它粒子有作用,這些處理 單元也只要提供與相鄰單元的連接,因此系統(tǒng)的設(shè)計可以相當(dāng)簡化。如美 國專利US4740894(1988-04-26公開)就提出了一種具有多各輸入輸出端口 的處理單元,而美國專利US3970993(1976-07-20公開)則采用單向鏈通道 (Chaining Channel)將處理單元串聯(lián)起來,使數(shù)據(jù)可以傳到下一處理單元。 這樣的單元都可以用來組成適合一些簡單的粒子算法的處理器陣列。這方 面一個比較典型的例子是美國專利US5432718(1995-07-ll公幵)提出的采 用組合邏輯(combination logic)和雙重網(wǎng)格計算規(guī)則格子上粒子運動的方 法與系統(tǒng),它對應(yīng)LGA是非常高效的,通過適當(dāng)改造,也可適用于LBM 等其它一些基于格子的粒子方法。
但處理器陣列的局限性也是顯而易見的。由于每個處理單元原則上只 能處理其硬件預(yù)先設(shè)定的少數(shù)幾種運算,而不具備存儲和解釋指令、從而 獨立運行程序的功能,因此它的通用性很差。實際上,在執(zhí)行通用程序時, 宿主計算機(jī)只是將適合處理器陣列處理的有關(guān)陣列運算的那些指令傳遞 給它執(zhí)行,而其它計算仍由宿主計算機(jī)完成,此時,它的利用率可能會很 低甚至根本未被使用。所以并行計算技術(shù)的后續(xù)發(fā)展更多地集中在所謂多 處理器系統(tǒng)和多計算機(jī)系統(tǒng)方面。顧名思義,這些系統(tǒng)中的基本構(gòu)造單元 是能獨立運行程序的處理器及相應(yīng)的存儲器和輸入輸出設(shè)備,或者能獨立 使用的完整的計算機(jī)。因此它們可以按多指令多數(shù)據(jù)(multiple instructions
10multiple data, MIMD)方式運行。
采用更復(fù)雜的構(gòu)造單元自然能通用地處理更復(fù)雜的計算問題,但如果 不想對各種可能性加以限制,那么單元間連接方式也不可避免地同樣需要 更加復(fù)雜而通用。目前總體上有兩類連接方式,即共享存儲和消息傳遞。 共享存儲是讓多個處理器能夠共同訪問一個存儲器。 一種比較簡單的情況 是為系統(tǒng)中的每個處理器提供完全等同的連接方式來訪問所有的存儲器, 這稱為對稱多處理(Symmetric Memory Processing, SMP), 一般通過總線或 交叉開關(guān)來實現(xiàn)。但這兩種方式本質(zhì)上都是對數(shù)據(jù)存取的模式不加任何限 制,或者說不考慮數(shù)據(jù)存取的特定路徑結(jié)構(gòu)的通用方法,只是總線是完全 分時共享而交叉開關(guān)具有部分的并行數(shù)據(jù)交換能力,但都無法避免接入的 節(jié)點數(shù)量增加時硬件復(fù)雜度或訪問延時非線性增加的問題,即缺乏可擴(kuò)展 性。
因此在需要進(jìn)一步擴(kuò)大并行計算的規(guī)模時,只能在系統(tǒng)中采用幾種不 同的連接方式,即所謂非統(tǒng)一的內(nèi)存訪問(Non-uniform memory access, NUMA)。 一個處理器可以和若干存儲器有較緊密的耦合,訪問延時較短, 而與其它存儲器連接較松散,訪問延時較大。 一種典型的方法是采用多級 總線或開關(guān)網(wǎng)絡(luò),如美國專利US5983323(1999-ll-09公開)提出了處理節(jié) 點(ProcessorNode)的概念,采用局部總線連接各處理器和網(wǎng)絡(luò)總線連接 各局部存儲器的方式來提高共享內(nèi)存并行處理器存儲效率,并分級構(gòu)造更 大規(guī)模的并行系統(tǒng)。又如美國專利US6457100 (2002-09-24公開)提出了 采用局部總線減少全局共享存儲中訪問沖突和解決緩存一致性的方法,它 本質(zhì)上也體現(xiàn)了這種分級構(gòu)造的思想。
消息傳遞方式主要用在多計算系統(tǒng)中,它顯式的輸入輸出操作來完成 處理器間的通信。在共享存儲方式中這樣的通信則可以通過兩個處理器先 后分別寫和讀被共享的存儲器中同一地址的數(shù)據(jù)來隱式地實現(xiàn)。由于顯式 的通信需要按協(xié)議執(zhí)行不少打包和解包操作量、偵聽、同步和中間轉(zhuǎn)存過 程,速度難以和共享存儲方式相比,特別是對少量數(shù)據(jù)的傳遞,這些輔助 操作帶來的延時會占很大的比例。當(dāng)然它也有系統(tǒng)構(gòu)建和并行編程方面的 靈活性。
雖然共享存儲和消息傳遞方式在并行編程的角度看是明顯不同的方式,但在硬件實現(xiàn)上現(xiàn)在也出現(xiàn)了日益融合的趨勢。消息傳遞中的網(wǎng)絡(luò)接 口雖然屬于輸入輸出設(shè)備,但也越來越深地集成到了存儲系統(tǒng)中,比如可 以直接按地址傳送數(shù)據(jù)到另一臺機(jī)器,而共享存儲方式下的遠(yuǎn)程訪問也可 以通過底層的消息傳遞實現(xiàn)。因此也不難理解,當(dāng)并行節(jié)點的數(shù)量增多時 消息傳遞方式也需要采用分級的方式來實現(xiàn)任意兩個節(jié)點間的通信。
無論是在共享存儲還是消息傳遞方式下,即使采用分級的方式,硬件 連接的復(fù)雜性和延時還是要隨系統(tǒng)規(guī)模而增長的。而對共享存儲方式,如 何高效地解決呈幾何級數(shù)增長的訪問沖突可能性和存儲內(nèi)容一致性問題 是一個更加棘手的問題。對消息傳遞方式也存在類似的通信沖突、路由選 擇和同步等待問題,特別是它的動態(tài)負(fù)載平衡問題比消息傳遞方式會更突 出。
如果不對系統(tǒng)的應(yīng)用對象作任何假設(shè),從而也不能對各種通信或共享 模式加以任何限定,僅僅依靠硬件技術(shù)與設(shè)計和系統(tǒng)軟件設(shè)計來解決這些 問題是存在本質(zhì)的困難的。而本發(fā)明的基本思想就是要根據(jù)粒子方法的特 點,首先簡化系統(tǒng)的設(shè)計要求,然后根據(jù)這個更容易實現(xiàn)的目標(biāo)找到更加 優(yōu)化的解決方案。
有鑒于此,本發(fā)明提供了一種面向粒子模型的多層直連集群并行計算 系統(tǒng),該系統(tǒng)由多個節(jié)點組成,所述節(jié)點在邏輯上排成一層或多層的一維 或多維陣列,同層的相鄰節(jié)點之間直接進(jìn)行通信連接,不同層的節(jié)點通過 交換機(jī)進(jìn)行通信連接。
其中,節(jié)點為具有獨立的運算、存儲與通信功能的邏輯結(jié)構(gòu)單元,包 括芯片、芯片組、板卡和獨立計算機(jī)中的任意一個或任意多個的組合。節(jié)
點間具有網(wǎng)格狀連通的高速mesh網(wǎng)絡(luò)和樹狀連通的低速tree網(wǎng)絡(luò);鄰近 數(shù)據(jù)通信在mesh網(wǎng)上進(jìn)行,全局?jǐn)?shù)據(jù)通信以及統(tǒng)計或控制信息與指令的 交換在tree網(wǎng)上進(jìn)行。
陣列為可任意擴(kuò)展的陣列,或為按任何可重復(fù)的排列方式組成的陣 列,至少包括按矩形或長方體、三角形或四面體、六邊形或十四面體形式 形成的陣列。陣列的邊緣為開放的,或為與對應(yīng)邊相連的。
通信連接適用于所述節(jié)點間的任何連接方式,至少包括通信總線、交叉開關(guān)、網(wǎng)卡與網(wǎng)絡(luò)連接線、串口或并口與串口或并口連接線、USB 口及 其連接線連接方式等。
交換機(jī)為支持所述通信連接的任何多路輸入、單路輸出或多路輸出的 交換設(shè)備。
同層的節(jié)點被分為若干組,每組分別通過交換機(jī)與上層的一個節(jié)點實 現(xiàn)通信連接。
另外,該系統(tǒng)的并行計算采用多層次空間分解,各層的維數(shù)均等于或 低于同層節(jié)點陣列的維數(shù),且計算區(qū)域間的拓?fù)潢P(guān)系與相應(yīng)節(jié)點或節(jié)點組 間的拓?fù)潢P(guān)系相同。
該系統(tǒng)的并行計算采用由節(jié)點對應(yīng)的區(qū)域四周向中心逐步向后續(xù)時 間步推進(jìn),消除小尺度上的負(fù)載波動,每個節(jié)點處理的流程為
a、 檢査是否有數(shù)據(jù)準(zhǔn)備已完成的可計算的邊界區(qū)段;
b、 如沒有,先向能提供數(shù)據(jù)的節(jié)點發(fā)出請求,然后開始計算一個不 依賴于其它節(jié)點數(shù)據(jù)的區(qū)段,算完后在回到步驟a;
c、 如果有,計算該區(qū)段,然后將數(shù)據(jù)發(fā)送給需要的相鄰節(jié)點,并回
到步驟a。
該系統(tǒng)的并行計算在大范圍的負(fù)載平衡時采用調(diào)整各節(jié)點計算區(qū)域 大小的方式,具體包括
1) 負(fù)載信息經(jīng)過逐層歸約上傳至根節(jié)點;
2) 根節(jié)點據(jù)此計算形成調(diào)度指令回傳給各節(jié)點;
3) 實際的數(shù)據(jù)傳遞由節(jié)點間的直連通信完成。
各種粒子方法在具體相互作用計算、粒子運動跟蹤、約束條件的給定 以及數(shù)據(jù)的在線統(tǒng)計分析上有很大的差別。既有像格子氣那樣非常簡單的 布爾運算,也有像高分子聚合物分子動力學(xué)模擬那樣非常復(fù)雜的迭代運 算。因此面向這類方法的通用計算機(jī)應(yīng)該以能獨立執(zhí)行程序的通用處理器 和具有足夠容量的存儲器為基本的構(gòu)造單元,而不應(yīng)采用處理器陣列中那 樣的簡單處理單元。但同時也要根據(jù)粒子方法的共同特點簡化單元間的連 接方式,以提高并行效率和可擴(kuò)展性。為實現(xiàn)上述目的,本發(fā)明的典型實 施措施包括a)節(jié)點的組織
考慮到粒子方法在區(qū)域分解算法下數(shù)據(jù)的相互依賴關(guān)系主要集中在 邏輯上相鄰的節(jié)點間,而且總體上邏輯距離越遠(yuǎn)數(shù)據(jù)依賴關(guān)系越弱,可以 弱化目前分級構(gòu)造的多處理(計算機(jī))系統(tǒng)中提供的遠(yuǎn)程訪問或通信能力 而強(qiáng)化鄰近節(jié)點間的連接。為此在并行系統(tǒng)的邏輯布置上,節(jié)點被組織為 可任意擴(kuò)展的陣列。如圖1所示,節(jié)點陣列在D維排列時,每個節(jié)點分別 有2Z)個相鄰的節(jié)點。實際上,如果有必要節(jié)點也可以按其它能無縫且無 重疊地延展的最小重復(fù)單元周期性地排列,如三角形排列方式。邏輯上相 鄰的各節(jié)點通過以太網(wǎng)卡、串口的直連實現(xiàn)點對點通信。同時所有PE還 可通過普通的局域以太網(wǎng)通信。即形成網(wǎng)格狀連通的較高速網(wǎng)絡(luò)(即mesh 網(wǎng)絡(luò))和樹狀連通的較低速網(wǎng)絡(luò)(即tree網(wǎng)絡(luò))的組合。大量的鄰近數(shù)據(jù)通信 在mesh網(wǎng)上進(jìn)行而少量的全局?jǐn)?shù)據(jù)通信以及統(tǒng)計或控制信息與指令的交 換在tree網(wǎng)上進(jìn)行。每各PE可以是在無網(wǎng)路情況下也能獨立運行的完整 微型計算機(jī),可分布式地存放應(yīng)用程序和中間結(jié)果,并進(jìn)行前后處理。
以獨立計算機(jī)作為節(jié)點的情況為例,如圖4所示的技術(shù)方案能比較直 接地實現(xiàn)這種組織方式。每個節(jié)點配置2D塊千兆以太網(wǎng)卡并通過直連線 與鄰近節(jié)點的相應(yīng)網(wǎng)卡連接,而不同通過任何交換設(shè)備。在通過tree網(wǎng)廣 播的同步信號控制下,不同方向的連接可依次同步地進(jìn)行發(fā)送和接收。通 過2D組這樣的通信可實現(xiàn)相鄰節(jié)點的所有數(shù)據(jù)交換。與通過交換機(jī)的傳 統(tǒng)通信方式相比,這種即避免了轉(zhuǎn)發(fā)的延遲,也避免了由于交換機(jī)的轉(zhuǎn)發(fā) 順序無法控制而可能造成的沖突。為了減少網(wǎng)絡(luò)硬件投資,還可考慮用如 圖6所示的多路復(fù)用裝置,使每個節(jié)點只需配置一塊千兆網(wǎng)卡。這種復(fù)用 裝置實際相當(dāng)于簡化的交換機(jī),它受程序的控制按固定的時序切換到不同 的輸出,延遲很小且不存在沖突問題。
每個節(jié)點同時通過一臺交換機(jī)或多臺交換機(jī)的堆疊實現(xiàn)所有節(jié)點間 的分級互連,即構(gòu)成tree網(wǎng)。如圖1所示,每一級交換機(jī)上可再連接多個 節(jié)點,而這些節(jié)點間也排成陣列并在鄰近節(jié)點間直連通信,即構(gòu)成上一級 的mesh網(wǎng)。這些節(jié)點可以進(jìn)行歸約信息的前處理和長程作用的計算。而 在"樹根"上也可連接若干以mesh網(wǎng)連接的或者"獨立"的節(jié)點,作為專 門的控制、全局計算和前后處理節(jié)點以及用戶終端使用。b) 通信的優(yōu)化
粒子系統(tǒng)的并行計算釆用低于PE陣列維數(shù)的空間區(qū)域分解方式,邏 輯上相鄰的PE處理物理上相鄰的空間區(qū)域。有關(guān)粒子的數(shù)據(jù)存儲在邏輯 位置與粒子的物理空間位置相對應(yīng)節(jié)點的存儲器中(參見圖3)。由于直連 節(jié)點間的通信是確定路徑的點對點通信,且時序可以由根節(jié)點控制,與一 般的局域網(wǎng)通信相比,可以采用相對簡化的、較底層的通信協(xié)議,以便根 據(jù)傳輸數(shù)據(jù)的特點優(yōu)化傳輸方式,盡量減少數(shù)據(jù)緩沖和打包、開包的開銷。 同時根據(jù)這個特點可設(shè)計相應(yīng)的接口軟硬件,盡可能減少通信中CPU的 參與,盡可能多地使用直接內(nèi)存存取(DMA)。
c) 負(fù)載的平衡
大規(guī)模并行時,負(fù)載平衡是保證效率的重要因素,它主要包括三方面
1. 通信與計算操作的重疊。在通過網(wǎng)卡進(jìn)行消息傳遞的模式下,CPU 在參與網(wǎng)卡間的連接的建立后一般可再轉(zhuǎn)到計算上來。網(wǎng)卡可直接讀取或 寫入要發(fā)送或接收的數(shù)據(jù),但問題是要取得對內(nèi)存訪問的控制權(quán)。因此,
此時CPU在計算中如需要訪問內(nèi)存就會引起沖突而出現(xiàn)等待。在一般的
計算模式下,這種狀況是很難避免的。但由于粒子模擬中數(shù)據(jù)依賴的局部 性、粒子間作用的可加性和時間顯式格式等特點,我們可以優(yōu)化各節(jié)點上 進(jìn)程的算法,使得通信進(jìn)行時計算能基本采用緩存甚至寄存器中的數(shù)據(jù)而 不訪問主存,盡量避免出現(xiàn)這種情況。
2. 局部負(fù)載波動的抑制。即使在整體負(fù)載平衡的條件下,由于計算 本質(zhì)上是多指令多數(shù)據(jù)(MIMD)的,計算量在各時間布也會由漲落,并隨 劃分的粒度變細(xì)而增大。這里可以我們以前提出的一種設(shè)想來抑制。每一 步中計算先從各節(jié)點對應(yīng)的計算區(qū)域的邊緣開始,逐漸轉(zhuǎn)向中間區(qū)域(參 見圖5)。這樣相對較慢的節(jié)點總是在計算與鄰近節(jié)點的新數(shù)據(jù)無關(guān)的區(qū) 域,而同樣,算得較快得節(jié)點也可以接著計算其中心區(qū)域中以后得時間步。 如果各節(jié)點的負(fù)載在不太長的時間尺度上是平衡的,即如果一個節(jié)點在某 個或某幾個時間步是落后的,則它也有同樣的可能在其它時間步是領(lǐng)先 的,那么這種處理就能在很大程度上避免等待的出現(xiàn)。對于某些節(jié)點長期 負(fù)載較重或較輕的情況,此方法不能奏效,而需調(diào)整計算區(qū)域的劃分。
具體來說(參見圖5),當(dāng)粒子方法采用空間分割時,每個節(jié)點的計算區(qū)域被分成由邊界到中心的若干環(huán)形區(qū)域,每個環(huán)區(qū)又分為若干區(qū)段???近邊界的一些環(huán)區(qū)在下一步計算中要用到相鄰節(jié)點上靠近邊界的一些區(qū) 段在當(dāng)前步的粒子信息。每個節(jié)點處理的流程為
a) 檢査是否有可計算(數(shù)據(jù)準(zhǔn)備已完成)的邊界區(qū)段;
b) 如沒有,先向能提供數(shù)據(jù)的節(jié)點發(fā)出請求,然后開始計算一個不依 賴于其它節(jié)點數(shù)據(jù)的區(qū)段(如果沒有則等待),算完后在回到步驟a;
C)如果有,計算該區(qū)段,然后將數(shù)據(jù)發(fā)送給需要的相鄰節(jié)點,并回到
注意在步驟b中,只要數(shù)據(jù)準(zhǔn)備完成,內(nèi)部環(huán)區(qū)的計算可能推進(jìn)到當(dāng) 前步以后的若干步,越接近區(qū)域中心,可能推進(jìn)的步數(shù)就越多,以此可以 緩解小尺度上的負(fù)載波動。
3.大尺度的動態(tài)負(fù)載平衡。當(dāng)上面抑制負(fù)載波動的方法不足以防止 出現(xiàn)等待時,就需要對一些節(jié)點所對應(yīng)的計算區(qū)域進(jìn)行調(diào)整。這可以由各 節(jié)點將負(fù)載量的統(tǒng)計信息通過tree網(wǎng)傳遞給到某一層次的控制節(jié)點,再由 后者進(jìn)行評估和決策。計算區(qū)域調(diào)整的指令通過tree網(wǎng)再傳遞給各節(jié)點。 而實際的數(shù)據(jù)遷移是在鄰近節(jié)點間通過mesh網(wǎng)進(jìn)行的,遷移的數(shù)據(jù)量只 是與原劃分不同的邊界部分。同時,這種主從模式也適合對少量粒子間長 程作用的簡化計算。此步驟如同普通的計算步,也可以沿不同空間方向并 行地進(jìn)行,不會沖突。每一計算時間步中,各PE通過mesh網(wǎng)同步地在不 同方向進(jìn)行鄰近數(shù)據(jù)交換,從而避免傳統(tǒng)上通過tree網(wǎng)交換可能出現(xiàn)的沖 突和延遲(參見圖4)。通過先計算各PE對應(yīng)的物理區(qū)域周邊的粒子運動 而后擴(kuò)展到中心的順序,將核心區(qū)域的計算推進(jìn)到后續(xù)的時間步,從而自 動消除小尺度負(fù)載波動(參見圖5)。大范圍的負(fù)載平衡通過各PE對應(yīng)區(qū)域 的調(diào)整完成。
d)物理的布置
一般為了保持通用性,節(jié)點可都采用三維排布,而在運行中通過屏蔽 mesh網(wǎng)中的部分連接動態(tài)地配置為更簡單的一維或二維排布。當(dāng)各維數(shù) 上節(jié)點數(shù)量都很多時,可采用多排機(jī)柜布置,連線可分別走機(jī)柜的頂部和 底部。而在節(jié)點數(shù)較少或者二維布置時可采用單個或單排機(jī)柜布置。
如果盡可能多地使用現(xiàn)有技術(shù),則每個節(jié)點都可以是一臺完整的網(wǎng)絡(luò)服務(wù)器,有獨立的內(nèi)存、硬盤、I/O接口,但不配置專門的顯示終端,各 自安裝操作系統(tǒng)。因為算例的前后處理也主要是通過并行節(jié)點分別處理, 而且處理后的最終實用信息量較小,因此在保證各節(jié)點的適當(dāng)規(guī)模的配置 外,可以不設(shè)置硬盤陣列和磁帶庫等集中海量存儲設(shè)備。但在控制和若干 前端機(jī)上可配置較大的硬盤組長期存儲一些重要的計算結(jié)果。
綜上所述,本發(fā)明針對粒子方法提出的高性能計算機(jī)系統(tǒng)簡化設(shè)計、 提高效率的主要途徑是邏輯上排成多層次的多維陣列的計算節(jié)點只與其 相鄰的同層節(jié)點建立高速的直接連接,而通過交換機(jī)與對應(yīng)的上層節(jié)點建 立連接,并籍此在任意節(jié)點間交換少量的控制信息和指令。并行計算采用 多層次空間分解,各層的維數(shù)均等于或低于同層節(jié)點陣列的維數(shù),且計算 區(qū)域間的拓?fù)潢P(guān)系與相應(yīng)節(jié)點或節(jié)點組間的拓?fù)潢P(guān)系相同。通過這種設(shè)計 和粒子模擬的特點,可以實現(xiàn)
1) 各節(jié)點上的計算與通信操作邏輯上能夠充分重疊;
2) 直接連接方式下的通信基本無需節(jié)點中央處理器(CPU)的參與,能 大量減少系統(tǒng)中數(shù)據(jù)交換設(shè)備的使用;
3) 各節(jié)點同步地對不同方向的區(qū)域依次計算,避免了通信與內(nèi)存訪 問的沖突;同時允許計算由節(jié)點對應(yīng)的區(qū)域四周向中心逐步向后續(xù)時間步 推進(jìn),從而消除了小尺度上的負(fù)載波動;
4) 大范圍的負(fù)載平衡通過將負(fù)載信息經(jīng)過逐層歸約上傳至根節(jié)點, 據(jù)此計算形成調(diào)度指令回傳給各節(jié)點;并由節(jié)點間的直連通信完成實際的 數(shù)據(jù)傳遞。這種設(shè)計能在較小的投入下顯著提高粒子方法在大規(guī)模并行系 統(tǒng)中的實際運行速度
5) 以本技術(shù)方案建造的并行計算系統(tǒng)具有高可擴(kuò)展性,理論上對粒 子算法有完全線性的可擴(kuò)展性。
以上所述的具體實施例,對本發(fā)明的目的、技術(shù)方案和有益效果進(jìn)行 了進(jìn)一步詳細(xì)說明,所應(yīng)理解的是,以上所述只是對本發(fā)明的權(quán)利要求的 若干典型實現(xiàn)方式的說明,并不用于限制本發(fā)明。本領(lǐng)域的技術(shù)人員凡在 本發(fā)明的精神和原則之內(nèi)提出的不同的其它實現(xiàn)方式,如采用不同的通信 軟硬件和不同的節(jié)點配置等,以及所做的任何修改、等同替換、改進(jìn)等, 均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
1、 一種面向粒子模型的多層直連集群并行計算系統(tǒng),其特征在于, 該系統(tǒng)由多個節(jié)點組成,所述節(jié)點在邏輯上排成一層或多層的一維或多維 陣列,同層的相鄰節(jié)點之間直接進(jìn)行通信連接,不同層的節(jié)點通過交換機(jī) 進(jìn)行通信連接。
2、 根據(jù)權(quán)利要求1所述的面向粒子模型的多層直連集群并行計算系統(tǒng),其特征在于,所述節(jié)點為具有獨立的運算、存儲與通信功能的邏輯結(jié) 構(gòu)單元,包括芯片、芯片組、板卡和獨立計算機(jī)中的任意一個或任意多個的組合;所述節(jié)點間具有網(wǎng)格狀連通的高速mesh網(wǎng)絡(luò)和樹狀連通的低速tree 網(wǎng)絡(luò);鄰近數(shù)據(jù)通信在mesh網(wǎng)上進(jìn)行,全局?jǐn)?shù)據(jù)通信以及統(tǒng)計或控制信 息與指令的交換在tree網(wǎng)上進(jìn)行。
3、 根據(jù)權(quán)利要求1所述的面向粒子模型的多層直連集群并行計算系 統(tǒng),其特征在于,所述陣列為可任意擴(kuò)展的陣列,或為按任何可重復(fù)的排 列方式組成的陣列,至少包括按矩形或長方體、三角形或四面體、六邊形 或十四面體形式形成的陣列;所述陣列的邊緣為開放的,或為與對應(yīng)邊相連的。
4、 根據(jù)權(quán)利要求1所述的面向粒子模型的多層直連集群并行計算系 統(tǒng),其特征在于,所述通信連接適用于所述節(jié)點間的任何連接方式,至少 包括通信總線、交叉開關(guān)、網(wǎng)卡與網(wǎng)絡(luò)連接線、串口或并口與串口或并口 連接線、USB 口及其連接線連接方式。
5、 根據(jù)權(quán)利要求1所述的面向粒子模型的多層直連集群并行計算系 統(tǒng),其特征在于,所述交換機(jī)為支持所述通信連接的任何多路輸入、單路 輸出或多路輸出的交換設(shè)備。
6、 根據(jù)權(quán)利要求1所述的面向粒子模型的多層直連集群并行計算系 統(tǒng),其特征在于,所述同層的節(jié)點被分為若干組,每組分別通過交換機(jī)與 上層的一個節(jié)點實現(xiàn)通信連接。
7、 根據(jù)權(quán)利要求1所述的面向粒子模型的多層直連集群并行計算系 統(tǒng),其特征在于,該系統(tǒng)的并行計算采用多層次空間分解,各層的維數(shù)均等于或低于同層節(jié)點陣列的維數(shù),且計算區(qū)域間的拓?fù)潢P(guān)系與相應(yīng)節(jié)點或 節(jié)點組間的拓?fù)潢P(guān)系相同。
8、 根據(jù)權(quán)利要求1所述的面向粒子模型的多層直連集群并行計算系 統(tǒng),其特征在于,該系統(tǒng)的并行計算采用由節(jié)點對應(yīng)的區(qū)域四周向中心逐 步向后續(xù)時間步推進(jìn),消除小尺度上的負(fù)載波動,每個節(jié)點處理的流程為a、 檢查是否有數(shù)據(jù)準(zhǔn)備已完成的可計算的邊界區(qū)段;b、 如沒有,先向能提供數(shù)據(jù)的節(jié)點發(fā)出請求,然后開始計算一個不 依賴于其它節(jié)點數(shù)據(jù)的區(qū)段,算完后在回到步驟a;C、如果有,計算該區(qū)段,然后將數(shù)據(jù)發(fā)送給需要的相鄰節(jié)點,并回到步驟a。
9、 根據(jù)權(quán)利要求1所述的面向粒子模型的多層直連集群并行計算系統(tǒng),其特征在于,該系統(tǒng)的并行計算在大范圍的負(fù)載平衡時采用調(diào)整各節(jié)點計算區(qū)域大小的方式,具體包括1) 負(fù)載信息經(jīng)過逐層歸約上傳至根節(jié)點;2) 根節(jié)點據(jù)此計算形成調(diào)度指令回傳給各節(jié)點;3) 實際的數(shù)據(jù)傳遞由節(jié)點間的直連通信完成。
全文摘要
本發(fā)明涉及高性能計算機(jī)數(shù)值模擬技術(shù)領(lǐng)域,公開了一種面向粒子模型的多層直連集群并行計算系統(tǒng),該系統(tǒng)由多個節(jié)點組成,所述節(jié)點在邏輯上排成一層或多層的一維或多維陣列,同層的相鄰節(jié)點之間直接進(jìn)行通信連接,藉此在相鄰的同層節(jié)點間高速傳遞數(shù)據(jù),不同層的節(jié)點通過交換機(jī)進(jìn)行通信連接。利用本發(fā)明,簡化了高性能計算機(jī)系統(tǒng)的設(shè)計,提高了高性能計算機(jī)系統(tǒng)對粒子方法及類似算法的計算效率,并且避免了通信與內(nèi)存訪問的沖突,使各節(jié)點上的計算與通信操作能夠充分重疊;同時允許計算由節(jié)點對應(yīng)的區(qū)域四周向中心逐步向后續(xù)時間步推進(jìn),從而有效緩解了小尺度上的負(fù)載波動。
文檔編號G06F15/173GK101311917SQ20071009955
公開日2008年11月26日 申請日期2007年5月24日 優(yōu)先權(quán)日2007年5月24日
發(fā)明者李靜海, 蔚 葛, 力 郭 申請人:中國科學(xué)院過程工程研究所
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
同德县| 昌都县| 乳山市| 于田县| 鸡西市| 铁力市| 南溪县| 若羌县| 盐山县| 岢岚县| 邵东县| 英吉沙县| 洪洞县| 潍坊市| 贵阳市| 武山县| 曲周县| 静乐县| 尚志市| 英德市| 柞水县| 宁武县| 晋城| 宜兰县| 莱州市| 镶黄旗| 青铜峡市| 凤城市| 德昌县| 新绛县| 和田市| 彰化县| 衢州市| 息烽县| 大关县| 徐水县| 体育| 于都县| 同江市| 宁强县| 乐安县|