專利名稱:一種基于變分多尺度方法的通用算法及并行計(jì)算系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及高性能計(jì)算機(jī)數(shù)值模擬技術(shù)領(lǐng)域,尤其涉及一種基于變分多尺度方法
的通用算法及并行計(jì)算系統(tǒng)。
背景技術(shù):
計(jì)算機(jī)模擬已成為與理論和實(shí)驗(yàn)并列的第三種科學(xué)研究和技術(shù)開發(fā)的基本方法,也是高性能計(jì)算最主要應(yīng)用方向。但目前高性能計(jì)算系統(tǒng)的研制主要還是由硬件技術(shù)的發(fā)展來驅(qū)動(dòng)的,沒有以計(jì)算機(jī)模擬的共性特征為基本出發(fā)點(diǎn)來設(shè)計(jì)相應(yīng)的計(jì)算機(jī)系統(tǒng)。因此,隨著以集成電路線寬為標(biāo)志的元器件技術(shù)逐漸逼近目前條件下的極限,進(jìn)一步提高計(jì)算能力的瓶頸顯得越來越突出,這主要表現(xiàn)在如下幾個(gè)方面 1)計(jì)算機(jī)的峰值速度與實(shí)際計(jì)算能力間的差距越來越大。目前實(shí)現(xiàn)高性能計(jì)算的主流方式是大規(guī)模并行處理(MPP),由于這樣的系統(tǒng)耗資巨大,如何充分利用其硬件資源是MPP設(shè)計(jì)中需要重點(diǎn)考慮的問題。傳統(tǒng)的思路是讓系統(tǒng)能適應(yīng)許多不同的算法和應(yīng)用問題,即依靠通用性來保證業(yè)務(wù)量的飽滿,使系統(tǒng)資源得以充分利用。為此,原則上應(yīng)實(shí)現(xiàn)全局性的快速數(shù)據(jù)交換,包括處理器與存儲(chǔ)器之間以及處理器之間直接或間接的數(shù)據(jù)交換。在這樣的設(shè)計(jì)思路下,當(dāng)處理器數(shù)量增加時(shí),通信方面的硬件開銷必然非線性地增加,反過來系統(tǒng)的實(shí)際速度卻無法達(dá)到與處理器數(shù)量成線性關(guān)系的增長,從而造成了提高機(jī)器性能的主要瓶頸。系統(tǒng)的規(guī)模由于受到元器件的集成度在技術(shù)上的嚴(yán)重制約而存在一個(gè)極限。目前即使對(duì)單處理器的微型計(jì)算機(jī)來說,處理器的數(shù)據(jù)處理速度和存儲(chǔ)器數(shù)據(jù)存取速度之間的速度差距拉大也使它運(yùn)行許多計(jì)算程序的實(shí)際效率只有其峰值的10X左右,而對(duì)MPP系統(tǒng)來說常常更降低到只有1 2%。 2)計(jì)算方法的精度與模擬對(duì)象的復(fù)雜程度越來越不相適應(yīng)。目前的計(jì)算機(jī)模擬方法總體上是基于還原論的,即認(rèn)為模擬對(duì)象可以被一套方程或一套單元間的作用規(guī)則所描述,如果有足夠的計(jì)算能力求解這套方程或執(zhí)行這套規(guī)則,就能復(fù)現(xiàn)和預(yù)測(cè)模擬對(duì)象的行為。即使不考慮上述判斷是否成立,在大規(guī)模計(jì)算中,比如在對(duì)大系統(tǒng)的長時(shí)間模擬中,無可避免的步長和字長誤差也使計(jì)算結(jié)果的可行信度難以保證。純粹從計(jì)算數(shù)學(xué)理論很難準(zhǔn)確估計(jì)實(shí)際計(jì)算過程的誤差。而且目前很多模擬結(jié)果也難以用實(shí)驗(yàn)方法進(jìn)行有效和全面的檢驗(yàn),實(shí)際上很多系統(tǒng)必須進(jìn)行模擬就是因?yàn)殡y以進(jìn)行實(shí)驗(yàn)研究。模擬對(duì)象和模擬的現(xiàn)象越復(fù)雜,這方面的問題也就越突出。 3)高性能計(jì)算的普及程度與對(duì)高性能計(jì)算的需求差距越來越大。作為理論和實(shí)驗(yàn)之外的第三種研究和開發(fā)手段,高性能計(jì)算已不能局限在少數(shù)幾個(gè)計(jì)算中心,而需要大量走進(jìn)實(shí)驗(yàn)室,走進(jìn)公司企業(yè),走進(jìn)學(xué)校課堂。而且隨著社會(huì)生產(chǎn)生活的不斷發(fā)展,對(duì)高性能計(jì)算的需求也遠(yuǎn)遠(yuǎn)超出了科學(xué)與工程計(jì)算的范疇,社會(huì)、經(jīng)濟(jì)、金融、生態(tài)等"復(fù)雜巨系統(tǒng)"都開始成為需要定量分析、模擬的對(duì)象,否則,不科學(xué)的決策可能帶來難以估量的損失和災(zāi)難。但目前高性能計(jì)算系統(tǒng)的造價(jià)、能耗、占地和維護(hù)費(fèi)用都達(dá)到了十分可觀的程度,高效編程和使用的難度也很大,使大量潛在用戶望而卻步,已成為高性能計(jì)算機(jī)及其應(yīng)用發(fā)展
4的一大障礙。因此,建立更經(jīng)濟(jì)實(shí)用的高性能計(jì)算系統(tǒng)已成為一個(gè)緊迫課題。
為了突破上述瓶頸,我們注意到多尺度結(jié)構(gòu)和離散本質(zhì)是大多數(shù)模擬對(duì)象的共同 特征,而經(jīng)過多年研究,我們發(fā)現(xiàn)系統(tǒng)中多種控制機(jī)制相互協(xié)調(diào)而形成的穩(wěn)定性條件是決 定多尺度結(jié)構(gòu)行為的基本因素。由此,我們通過實(shí)例研究逐步發(fā)現(xiàn)下面的方法對(duì)具有多尺 度結(jié)構(gòu)的復(fù)雜系統(tǒng)的模擬具有普遍性,即 1)在適當(dāng)尺度上將系統(tǒng)離散為大量具有近程可疊加相互作用的簡(jiǎn)單模型單元;
2)除上述單元間的相互作用外,它們還受一個(gè)或多個(gè)變分或極值條件的約束,從 而具有與單獨(dú)運(yùn)動(dòng)時(shí)不同的行為; 3)施加的約束的形式也決定于受約束單元的行為,因此可以設(shè)置更高層次、更復(fù) 雜的模型單元,通過與較低層單元的相互作用來體現(xiàn)這種約束_反饋機(jī)制;
4)上述單元間的關(guān)系可以嵌套,從而形成多層次計(jì)算模型。 針對(duì)上述方法,我們可以設(shè)計(jì)多層次近程連接、自上而下由繁到簡(jiǎn)、由少到多的計(jì) 算單元系統(tǒng),使計(jì)算單元與模型單元、模型單元間的作用與計(jì)算單元間的連接之間建立適 當(dāng)?shù)挠成潢P(guān)系,從而最大限度地發(fā)揮計(jì)算硬件的性能,減少不必要的硬件開銷。同時(shí),采用 這種方法,根據(jù)模擬對(duì)象物理上的穩(wěn)定性條件,我們還可以通過上層單元對(duì)下層單元的約 束來修正計(jì)算誤差,從機(jī)理上保證計(jì)算的精度。在中國專利申i青200510064799. 1,200710099551. 8和200810057259. 4中,我們
主要針對(duì)上述方法中的模型單元間作用,即所謂"粒子方法"提出了一種通用算法及其專用
硬件系統(tǒng)的不同設(shè)計(jì)方案。本發(fā)明將在此基礎(chǔ)上提出更廣義和更完善的變分多尺度方法的
算法及其專用硬件系統(tǒng)的總體設(shè)計(jì)方案,重點(diǎn)解決變分或極值約束的實(shí)現(xiàn)方式和不同層次
計(jì)算單元的差異化設(shè)計(jì)及耦合方式。為更好地闡述本發(fā)明的動(dòng)機(jī)、意義、技術(shù)方案和應(yīng)用前
景,我們首先簡(jiǎn)單介紹變分多尺度和離散模擬方法,然后分析現(xiàn)有的相關(guān)專用軟硬件系統(tǒng),
主要是粒子模擬系統(tǒng)的技術(shù)現(xiàn)狀與發(fā)展趨勢(shì),從而說明我們先前幾個(gè)專利的設(shè)計(jì)思想、存
在的問題,最后介紹本發(fā)明。 — )變分多尺度方法簡(jiǎn)介 這里所謂的變分多尺度方法主要是指我們發(fā)展的一種以穩(wěn)定性條件封閉動(dòng)力學(xué) 方程組的復(fù)雜系統(tǒng)演化模擬方法。 一般的多尺度方法可以分為描述型和關(guān)聯(lián)型兩種前者 是在空間和/或時(shí)間上耦合不同尺度的描述方法,如用分子動(dòng)力學(xué)方法模擬材料微裂紋附 近的行為而用有限元方法描述其塊體的行為。而后者是將從小尺度模擬中獲得的統(tǒng)計(jì)關(guān)聯(lián) 式作為大尺度模擬的模型方程,如從分子動(dòng)力學(xué)模擬得到的流體狀態(tài)方程和本構(gòu)關(guān)系可作 為流體力學(xué)方程組的組成部分。但這兩種方法都沒有顯式地考慮在非平衡狀態(tài)下,作為小 尺度單元集體行為的大尺度行為實(shí)際上會(huì)涌現(xiàn)出新的特性,并對(duì)小尺度行為產(chǎn)生約束,而 另一方面小尺度模型只要不是從第一原理出發(fā)的,就會(huì)顯式或隱含地存在不封閉性,比如 湍流模型。 而變分多尺度方法認(rèn)為,對(duì)非線性非平衡系統(tǒng)而言,系統(tǒng)內(nèi)必然有兩個(gè)以上的控 制機(jī)制在起作用。雖然對(duì)不同的系統(tǒng)這些機(jī)制大多不盡相同,但都可以各自表達(dá)為某種極 值或變分條件。而通過分析各個(gè)控制機(jī)制各自獨(dú)立的極值或變分條件,以及這些條件相互 協(xié)調(diào)的規(guī)律,我們能夠提出系統(tǒng)需要滿足的穩(wěn)定性條件。這種穩(wěn)定性條件正好提供了動(dòng)力 學(xué)描述中缺失的封閉條件。目前,對(duì)于多相流系統(tǒng),我們已經(jīng)找到了氣固、氣液、液液等多種系統(tǒng)中動(dòng)態(tài)多尺度結(jié)構(gòu)的穩(wěn)定性條件。應(yīng)用這些條件就可以封閉通過尺度分解得到的各尺 度上各自的動(dòng)力學(xué)方程,并實(shí)現(xiàn)跨尺度的關(guān)聯(lián)。然后借助數(shù)學(xué)上的多目標(biāo)優(yōu)化,可以求解多 尺度關(guān)聯(lián)的亞微元模型,并認(rèn)識(shí)復(fù)雜系統(tǒng)中多尺度結(jié)構(gòu)產(chǎn)生的機(jī)制及其時(shí)空演變、在臨界 條件的突變等規(guī)律,掌握復(fù)雜系統(tǒng)的產(chǎn)生及演化的本質(zhì)。
二)離散模擬方法簡(jiǎn)介 離散模擬方法提供了描述復(fù)雜系統(tǒng)動(dòng)力學(xué)行為的一種本質(zhì)、普適而簡(jiǎn)便的方式。 其中大部分將模擬系統(tǒng)離散為大量相互作用的粒子,通過動(dòng)力學(xué)計(jì)算描述每個(gè)粒子的行 為,從而直接或通過統(tǒng)計(jì)與組合復(fù)現(xiàn)系統(tǒng)的行為,因而許多也被稱為粒子方法。它們的典型 實(shí)例包括 分子動(dòng)力學(xué)(molecular dynamics, MD)。將原子、原子團(tuán)或分子簡(jiǎn)化為通過有勢(shì) 力和剛性約束等方式相互作用的質(zhì)點(diǎn)來描述分子、分子團(tuán)以至材料的微觀行為,目前已廣 泛應(yīng)用于化學(xué)制劑的合成,生物大分子和新材料的研究、設(shè)計(jì)與制備,對(duì)生命本質(zhì)的探索等 領(lǐng)域。而在廣義上,像中子擴(kuò)散等對(duì)核輻射的模擬也歸入分子動(dòng)力學(xué)方法中。
離散單元法(distinct element method, DEM)。對(duì)像沙石、谷物、各種粉末等固 體顆粒物,其中自然存在的每個(gè)離散顆粒間的相互作用力(如相互接觸產(chǎn)生的壓力和摩擦 力,以及非接觸時(shí)也能存在的靜電力等),并進(jìn)而計(jì)算它們各自的軌跡,這被稱為離散單元 法。目前也在工業(yè)過程、農(nóng)業(yè)工程和地質(zhì)、水文等方面廣泛應(yīng)用。 多體動(dòng)力學(xué)(N-body dynamics)。在宇觀尺度上,從星球、星系,到星系團(tuán)甚至整個(gè) 宇宙,世界的離散的特性也是非常明顯的,后者都可視為組成前者的粒子。多體動(dòng)力學(xué)通過 計(jì)算這些巨大"粒子"間的萬有引力來跟蹤它們的軌跡和集體行為,是天體動(dòng)力學(xué)模擬的一 種主流手段。這種方法為探索宇宙的形成與演化及未來的航天領(lǐng)域提供了有力手段。
粗?;P?Coarse-grained models)。粒子方法也不局限于直觀上能處理為 粒子集合的系統(tǒng)。近年來,對(duì)于流體的流動(dòng)和材料的變形等傳統(tǒng)上采用連續(xù)介質(zhì)方法模 擬的行為,通過構(gòu)造粗?;幕蛘吆?jiǎn)化的模型粒子也提出了很多粒子方法。如介觀的耗 散粒子動(dòng)力學(xué)(dissipative particle dynamics, DPD)方法和格子波爾茲曼(Lattice Boltzma皿,LB)方法,以及宏觀的光滑粒子動(dòng)力學(xué)(smoothed particle hydrodynamics, SPH)方法等。從物理背景上說,這些模型粒子大致是一大團(tuán)分子或一個(gè)物質(zhì)微元的拉格朗 日(Lagrange)表達(dá)。這些模型突破了計(jì)算量隨系統(tǒng)自然含有的粒子數(shù)量必然增大的問題 (這是采用連續(xù)介質(zhì)方法的重要理由),并且特別適合處理復(fù)雜邊界、多相介質(zhì)和大變形等 對(duì)連續(xù)介質(zhì)方法具有挑戰(zhàn)性的問題,目前已在艦船、飛行器和車輛的設(shè)計(jì),核武器與反應(yīng)堆 的研究與設(shè)計(jì),能源、化工、水利、地質(zhì)勘探開發(fā),氣象和海洋預(yù)報(bào)等廣泛的領(lǐng)域中獲得大量 應(yīng)用。 實(shí)際上,很多連續(xù)介質(zhì)模型的顯式數(shù)值計(jì)算模型從物理的角度也可理解為離散模 擬的模型。而在社會(huì)、經(jīng)濟(jì)等系統(tǒng)的模擬中常用的所謂Agent模型也可以認(rèn)為是相對(duì)復(fù)雜 的離散模擬模型。因此,離散模擬的覆蓋面是相當(dāng)廣泛的。
二 )針對(duì)不同離散模型的專用軟硬件系統(tǒng) 目前針對(duì)變分多尺度方法的通用軟件和專業(yè)硬件還沒有出現(xiàn),但是國際上對(duì)不 同的粒子方法已提出了一些專用軟硬件系統(tǒng)。較早的如美國專利US4740894(1988-04-26 公開)提出了一種具有多輸入輸出端口的處理單元,而美國專利US3970993 (1976-07-20公開)則采用單向鏈通道(ChainingChannel)將處理單元串聯(lián)起來,使數(shù)據(jù)可以傳到下 一處理單元。這樣的單元都可以用來組成適合一些簡(jiǎn)單的粒子算法的處理器陣列。這方 面一個(gè)比較典型的例子是美國專利US5432718(1995-07-11公開)提出的采用組合邏輯 (combination logic)和雙重網(wǎng)格計(jì)算規(guī)則格子上粒子運(yùn)動(dòng)的方法與系統(tǒng),它對(duì)應(yīng)LGA是 非常高效的,通過適當(dāng)改造,也可適用于LBM等其它一些基于格子的粒子方法。但處理器陣 列的局限性也顯而易見。每個(gè)處理單元原則上只能處理其硬件預(yù)先設(shè)定的少數(shù)幾種運(yùn)算, 而不具備存儲(chǔ)和解釋指令、從而獨(dú)立運(yùn)行程序的功能,因此它的通用性很差。
近年來IBM與日本理化研究所(Institute of Chemical Research, RIKEN)合作 研發(fā)了專門用于N-body問題和分子動(dòng)力學(xué)模擬的MD-GRAPE(Molecular Dynamics GRAvity PipE的縮寫)系列芯片、板卡和專用計(jì)算機(jī)。它們將這些問題中典型的粒子間作用算法固 化為專門的硬件流水線,每個(gè)芯片有大量能并行處理的流水線而每條流水線能并行處理多 個(gè)粒子間的作用。后期的流水線還采用了可編程門陣列(FPGA)器件以根據(jù)不同粒子間作 用算法重構(gòu)不同的硬件流水線,提高其效率和通用性。 MD-GRAPE芯片的前身是在1995禾P 1996兩年曾獲IEEE ComputerSociety最快計(jì) 算機(jī)Gordon Bell獎(jiǎng)的GRAPE芯片,MD-GRAPE芯片經(jīng)過優(yōu)化設(shè)計(jì),專門用來計(jì)算在N-body 問題和分子子動(dòng)力學(xué)模擬中的粒子間相互作用力的計(jì)算,它內(nèi)部提供4條并行的計(jì)算流水 線,每條流水線可以同時(shí)進(jìn)行6個(gè)粒子的相互作用力計(jì)算,芯片同時(shí)可以存儲(chǔ)100萬個(gè)粒子 的信息。MD-GRAPE與RIKEN后來設(shè)計(jì)的其他專用芯片配合構(gòu)建了專門用于N-body問題和 分子動(dòng)力學(xué)模擬的100Tflops/s速度的計(jì)算機(jī)系統(tǒng)。 為了方便用戶使用MD-GRAPE的強(qiáng)大的N-body問題和分子動(dòng)力學(xué)模擬專用計(jì)算能 力,還設(shè)計(jì)了能直接插到計(jì)算機(jī)擴(kuò)展插槽的MD-GRAPE板卡,板卡采用PCI接口 ,可以直接插 到從用戶的個(gè)人計(jì)算機(jī)直至IBM RS6000SP高性能計(jì)算機(jī)中。板卡集成了 4塊MD-GRAPE芯 片,在PC或者RISC工作站上提供64Gflops/s的計(jì)算能力,并為用戶提供FORTRAN和C語 言程序庫接口。 第二代MD-GRAPE芯片集成了 900萬個(gè)晶體管,采用IBM公司的O. 25iim技術(shù)、2. 5V 技術(shù),在100M主頻下的功率是15瓦,同樣是4條計(jì)算流水線,提供64Gf lops的計(jì)算能力。第 三代MD-GRAPE芯片具有20條計(jì)算流水線,試運(yùn)行頻率的不同可以提供165或者200Gflops 的計(jì)算能力。MD3-PCIX板卡集成了兩塊MD-GRAPE3芯片,計(jì)算能力是330Gf lops,可以直接 插到用戶計(jì)算機(jī)中使用。 除了芯片和板卡,還有MD-GRAPE-3專用處理機(jī),處理機(jī)集成了 12塊MD-GRAPE3芯 片,它的外部尺寸是2U、19英寸,通過10Gbits/s的專用通信線與插在宿主計(jì)算機(jī)PCIX插 槽的接口卡連接。每個(gè)MD-GRAPE-3芯片的計(jì)算能力是200Gflops,整臺(tái)計(jì)算機(jī)的計(jì)算峰值 達(dá)到了 1Pflops,計(jì)算機(jī)的功率為300kW,在低功耗前提下實(shí)現(xiàn)了計(jì)算的高性能。
QCDOC是是IBM研制的專門用于量子色動(dòng)力學(xué)QCD (QuantumChromoDynamics)計(jì)算 的專用芯片,多家實(shí)驗(yàn)室采用QCDOC芯片建立了 QCDOC專用計(jì)算機(jī)。 QCDOC芯片是一種在PowerPC內(nèi)核的基礎(chǔ)上研制的專用集成電路芯片(ASIC)。它 包含一個(gè)500MHz 440PowerPC處理器,提供1Gflops的64位浮點(diǎn)計(jì)算能力,集成了 4Mbytes 的存儲(chǔ)器EDRAM,用于在進(jìn)行標(biāo)準(zhǔn)lattice QCD計(jì)算時(shí)存儲(chǔ)代碼和數(shù)據(jù),計(jì)算內(nèi)核到EDRAM 有一條峰值帶寬為8GByte/s的數(shù)據(jù)傳輸通路。同時(shí)ASIC具備DMA功能,可以在EDRAM和外部存儲(chǔ)器之間自動(dòng)傳輸數(shù)據(jù),并且支持結(jié)點(diǎn)間通信,包含一個(gè)用于引導(dǎo)、診斷和I/O網(wǎng)絡(luò) 的Ethernet控制器。 QCDOC專用計(jì)算機(jī)是一個(gè)計(jì)算結(jié)點(diǎn)采用QCDOC芯片的并行計(jì)算機(jī),計(jì)算結(jié)點(diǎn)間采 用6維mesh的torus結(jié)構(gòu)互連,每個(gè)結(jié)點(diǎn)與其12個(gè)鄰居結(jié)點(diǎn)以全雙工500Mbit/s的速度 相連,連接線路采用鎖相接收器,具備單bit錯(cuò)誤檢測(cè)自動(dòng)重傳功能,可以進(jìn)行相鄰結(jié)點(diǎn)內(nèi) 存的直接DMA存取。另外QCDOC專用計(jì)算機(jī)還有一個(gè)lOOMbit/s快速Ethernet網(wǎng)絡(luò)用于 引導(dǎo)、診斷和管理用的一般性I/O。 QCDOC專用計(jì)算機(jī)使用為QCD計(jì)算而專門設(shè)計(jì)的QOS操 作系統(tǒng)。 目前有3臺(tái)QCDOC專用計(jì)算機(jī)分別安裝在Columbia University (1024結(jié)點(diǎn))、 RIKEN BNL Research Center (12288結(jié)點(diǎn))禾口 DOE BrookhavenNational Laboratory,其中 后兩臺(tái)QCDOC計(jì)算機(jī)的速度都達(dá)到了 lOTflops。 Tilera公司2007年發(fā)布了一款采用64nm技術(shù)的64核處理器Tile64,工作頻率 是600 900MHz。在現(xiàn)有多核處理器中,各個(gè)內(nèi)核之間主要通過總線來通信,如果有16個(gè) 或更多內(nèi)核,總線的數(shù)據(jù)傳輸速度就將成為瓶頸,從而處理器的性能也將大打折扣。Tile64 并沒有中央總線,而是將每個(gè)內(nèi)核直接相連,有效地避免了現(xiàn)有處理器架構(gòu)的速度瓶頸,并 且可以在更低功耗下運(yùn)行。此外,Tile64的每一個(gè)內(nèi)核都是一個(gè)功能完整的處理器,可以 單獨(dú)運(yùn)行一個(gè)操作系統(tǒng)。下圖是Tile64芯片的內(nèi)部構(gòu)造示意圖。Tilera' s Multicore Development Environment (MDE)是用于Tile64芯片的開 發(fā)環(huán)境。目前Tilera公司提供兩種型號(hào)的板卡,TILExpress-64和TILExpress-20G,它們 主要用于多媒體流數(shù)據(jù)處理和網(wǎng)絡(luò)流量檢測(cè)等應(yīng)用。
三)本發(fā)明的前期研究 上述幾種系統(tǒng)在某些方面考慮了粒子方法的特點(diǎn),采用了近程連接(Tile64和 QCD0C)和專用流計(jì)算技術(shù)(MD-Gr即e),但尚未提出針對(duì)離散模擬的通用軟硬件系統(tǒng)的設(shè) 計(jì)方案,當(dāng)然也還沒有考慮實(shí)際復(fù)雜系統(tǒng)多尺度離散的共性和不同層次模擬單元間的變分 約束,實(shí)現(xiàn)多尺度算法和多層次體系結(jié)構(gòu)的耦合。 為了在計(jì)算模型和軟件的層面顯著減少直接離散模擬的計(jì)算量并擴(kuò)大系統(tǒng)的應(yīng) 用范圍,實(shí)現(xiàn)目前主流的多線程共享內(nèi)存及流計(jì)算并行計(jì)算技術(shù)與高可擴(kuò)展性近程網(wǎng)絡(luò)連 接方式的結(jié)合,充分利用它們各自的優(yōu)勢(shì)并能取長補(bǔ)短,在中國專利申請(qǐng)200510064799. 1, 200710099551. 8和200810057259. 4中,我們總結(jié)了離散模擬的如下共同特征,并提出了相 應(yīng)的計(jì)算系統(tǒng)設(shè)計(jì)方案。 首先,我們所考慮的模型單元,無論是自然存在的粒子還是人為構(gòu)造的模型粒子, 以至很多復(fù)雜的Agent,它們之間的作用強(qiáng)度普遍隨距離(或某種邏輯距離)的增長而迅速 降低。物理粒子間的作用本質(zhì)上無非是四種基本力造成的(實(shí)為三種或更少),其中引力 和電磁力的強(qiáng)度與質(zhì)點(diǎn)間距離平方成反比,而強(qiáng)和弱相互作用的衰減更快,因此一般可忽 略相距足夠遠(yuǎn)的粒子間的作用,或者通過估計(jì)大量粒子的合力來代替每對(duì)粒子間的受力計(jì) 算。這就導(dǎo)致了局部性,即盡管整個(gè)系統(tǒng)可擁有任意多個(gè)模型單元,但直接決定任一模型單 元瞬時(shí)運(yùn)動(dòng)的模型單元卻主要是很少量的鄰近模型單元。 同時(shí),一對(duì)模型單元間的作用函數(shù)一般可通過一個(gè)或一組代數(shù)或常微分方程描 述,而一個(gè)模型單元同時(shí)受到的各對(duì)作用是可迭加的。也就是說,我們可以按任意順序分別
8獨(dú)立處理每對(duì)單元間的作用,通過簡(jiǎn)單的加和得到單元所受的總體作用。雖然在對(duì)硬球粒 子或由多個(gè)粒子通過一些約束組成的復(fù)合粒子(如鏈狀的高分子),以及社會(huì)、經(jīng)濟(jì)系統(tǒng)中 的一些Agent的具體處理上并非那么簡(jiǎn)單,但在稍大的尺度上,如對(duì)復(fù)合粒子的整體,其算 法總體上依然具有此性質(zhì)。 由此可以發(fā)現(xiàn),離散模擬方法具有普遍的應(yīng)用,而針對(duì)此類方法的軟硬件設(shè)計(jì)能 顯著優(yōu)化。即各種模型單元間的作用方式可模塊化地嵌入通用的總體算法和數(shù)據(jù)結(jié)構(gòu)中; 而通過空間分區(qū),離散模擬方法幾乎可獲得線性加速比,且硬件系統(tǒng)的每個(gè)計(jì)算單元可只 提供對(duì)特定的極少數(shù)相鄰計(jì)算單元的內(nèi)存共享或消息傳遞,可相當(dāng)簡(jiǎn)便地大規(guī)模擴(kuò)展;同 時(shí)計(jì)算單元的復(fù)雜性和規(guī)??纱蟠蠼档?如可以只有緩存,沒有主存),從而提高處于計(jì)算 操作中的元器件的比例,即提高其使用效率,降低成本。與一般的通用高性能計(jì)算機(jī)相比, 針對(duì)這種框架設(shè)計(jì)的硬件系統(tǒng)應(yīng)用范圍雖然有所縮小,但仍會(huì)有大量的需求。而硬件成本 的降低和效率的提高所產(chǎn)生的效益將遠(yuǎn)遠(yuǎn)超過前者造成的影響。因此這類系統(tǒng)將具有非常 廣闊的前景。 根據(jù)這些特點(diǎn),中國發(fā)明專利申請(qǐng)200510064799. 1提出了一種包括多個(gè)計(jì)算和 存儲(chǔ)單元,分別形成陣列,使每個(gè)存儲(chǔ)單元與多個(gè)與其鄰近的計(jì)算單元連接;每個(gè)計(jì)算單元 與多個(gè)與其鄰近的存儲(chǔ)單元連接的可擴(kuò)展并行體系結(jié)構(gòu),以局部內(nèi)存共享模式考慮了粒子 近程作用和可疊加的共性。而中國發(fā)明專利申請(qǐng)200710099551. 8提供了一種面向粒子模
模擬的多層直連集群并行計(jì)算系統(tǒng)。該系統(tǒng)由排成一層或多層的一維或多維陣列的多個(gè)計(jì) 算單元組成,同層的相鄰計(jì)算單元之間直接進(jìn)行通信連接,不同層的計(jì)算單元通過交換機(jī) 進(jìn)行通信連接,在考慮近程作用的同時(shí)初步考慮了粒子間作用的多尺度性。同時(shí)中國發(fā)明 專利申請(qǐng)200810057259. 4對(duì)這種集群并行系統(tǒng)中的計(jì)算單元提出了具體的設(shè)計(jì)方案,特 別是對(duì)計(jì)算單元內(nèi)以共享內(nèi)存方式大規(guī)模并行的流處理芯片(如圖形處理器-一GPU)和小 規(guī)模多線程并行的通用計(jì)算芯片(如中央處理器-一CPU)的耦合使用提出了具體的軟硬件 解決方案。 上述專利申請(qǐng)中雖然考慮了多尺度作用(多層直連和不同性質(zhì)處理芯片的耦合) 和近程作用模型的通用化(局部內(nèi)存共享和近程直連模式),但還沒有系統(tǒng)地考慮更普遍 意義下的多尺度離散模擬系統(tǒng)的專用計(jì)算系統(tǒng);雖然利用上下層單元間的連接來處理模型 單元間的長程關(guān)聯(lián),但還沒有提出以變分多尺度方法約束模型單元間的作用,簡(jiǎn)化計(jì)算,提 高效率的系統(tǒng)方式,以及對(duì)大規(guī)模并行的可靠性、靈活性,以至計(jì)算、存儲(chǔ)與通信速度匹配 的優(yōu)化等更深入的問題。而本發(fā)明將針對(duì)這些問題提出具體解決方案。
發(fā)明內(nèi)容
—)要解決的技術(shù)問題 有鑒于此,本發(fā)明的主要目的在于提供一種面向多尺度復(fù)雜系統(tǒng),基于變分多尺 度方法的算法與計(jì)算機(jī)系統(tǒng)總體設(shè)計(jì),以提煉和優(yōu)化針對(duì)大量復(fù)雜系統(tǒng)模擬有普遍性的算 法、簡(jiǎn)化高性能計(jì)算機(jī)系統(tǒng)的設(shè)計(jì)、提高高性能計(jì)算機(jī)系統(tǒng)的效率。
二 )技術(shù)方案 為達(dá)到上述目的,本發(fā)明提供了一種模擬復(fù)雜系統(tǒng)的通用算法及其計(jì)算機(jī)軟硬件 系統(tǒng)的設(shè)計(jì)方案。
該算法將被模擬系統(tǒng)離散為不同層次上相互關(guān)聯(lián)的模型單元。較低層模型單元間 發(fā)生相對(duì)簡(jiǎn)單的近程相互作用,而同時(shí)較高層模型單元會(huì)約束較低層模型單元的運(yùn)動(dòng)。
所述模型單元可以用一組特定的變量描述,稱為狀態(tài)變量。 一個(gè)模型單元的各狀 態(tài)變量的一組特定取值被稱為該模型單元的一個(gè)狀態(tài)。模型單元狀態(tài)通過模型單元間的相 互作用而改變。 所述較高層模型單元對(duì)較低層模型單元的約束表現(xiàn)為一種極值或變分約束,即所
涉及的各較低層模型單元總體上要滿足決定于這些模型單元的狀態(tài)的一個(gè)或多個(gè)變量或
函數(shù)的極值或變分條件,而當(dāng)存在多個(gè)極值或變分條件時(shí)它們之間也互為約束條件。 所述較低層模型單元間的作用具有并行性,即對(duì)任意兩個(gè)較低層模型單元間的作
用的處理可同時(shí)進(jìn)行,由被處理模型單元的狀態(tài)和與之作用的另一模型單元的部分或全部
狀態(tài)信息可計(jì)算另一模型單元對(duì)被處理模型單元狀態(tài)變化的貢獻(xiàn)。 所述較低層同層模型單元間的作用具有可疊加性,即較低層各同層模型單元對(duì)一 個(gè)被處理模型單元的狀態(tài)變化的總貢獻(xiàn)是這些模型單元各自對(duì)被處理模型單元狀態(tài)變化 的貢獻(xiàn)的函數(shù)。 所述較低層同層模型單元間的作用具有近程性,即每個(gè)較低層模型單元僅與不超 過特定上限個(gè)數(shù)的同層模型單元相互作用,這些模型單元被稱為該模型單元的鄰居模型單 元,與這些鄰居模型單元相鄰的模型單元被稱為二重鄰居模型單元,三重、四重及更多重的 鄰居模型單元的定義依次類推。每個(gè)模型單元的鄰居模型單元的特定上限個(gè)數(shù)不隨同層模 型單元數(shù)量的增長而增長;同時(shí)每個(gè)模型單元的各鄰居模型單元之間也互為有限重的鄰居 模型單元,該重?cái)?shù)的上限不隨同層模型單元數(shù)的增長而增長。 所述較低層模型單元與較高層模型單元間的作用為反饋_約束機(jī)制,即與較高層 模型單元有直接連接的各較低層模型單元向該較高層模型單元傳遞部分或全部的狀態(tài)信 息。各較低層模型單元對(duì)該較高層模型單元狀態(tài)變化的總貢獻(xiàn)是這些信息的函數(shù)。較高層 模型單元狀態(tài)對(duì)各較低層模型單元狀態(tài)變化的貢獻(xiàn)是較高層模型單元狀態(tài)及其變化量的 函數(shù)。 所述模型單元狀態(tài)的變化具有遞進(jìn)性,即每一個(gè)模型單元的新狀態(tài)決定于各同層 模型單元對(duì)該模型單元狀態(tài)變化的總貢獻(xiàn)及該模型單元的較低層和較高層模型單元對(duì)其 狀態(tài)變化的貢獻(xiàn),而各模型單元的新狀態(tài)以同樣的方式?jīng)Q定該模型單元的更新的狀態(tài)。
根據(jù)上述算法,其相應(yīng)的計(jì)算機(jī)硬件系統(tǒng)包括不同層次上的計(jì)算單元,它們能與 一定范圍內(nèi)的同層鄰近計(jì)算單元或鄰近層的若干對(duì)應(yīng)計(jì)算單元交換或共享信息。較低層的 計(jì)算單元具有較多的數(shù)量和較簡(jiǎn)單的邏輯電路,能進(jìn)行相對(duì)簡(jiǎn)單的計(jì)算。較高層的計(jì)算單
元具有較少的數(shù)量和較復(fù)雜的邏輯電路,能進(jìn)行較復(fù)雜的計(jì)算。
上述計(jì)算機(jī)硬件系統(tǒng)的組成方式包括 a)該系統(tǒng)由多個(gè)計(jì)算單元群組成,每個(gè)計(jì)算單元群含一套通信交換機(jī)構(gòu)和多個(gè)與 之有直接通信連接的計(jì)算單元。所述通信交換機(jī)構(gòu)在邏輯上排成一層或多層的一維或多維 陣列,同層的相鄰交換機(jī)構(gòu)之間建立直接的通信連接。多個(gè)下層的交換機(jī)構(gòu)還與特定的上 層交換機(jī)構(gòu)有直接通信連接。 b)該系統(tǒng)由一層或多層的一維或多維計(jì)算單元陣列組成,每個(gè)計(jì)算單元與兩個(gè)以 上的交換機(jī)構(gòu)有直接通信連接,以保證在陣列中相鄰的同層計(jì)算單元間都至少有一條僅通
10過一臺(tái)交換機(jī)構(gòu)的間接連接,而下層的每個(gè)計(jì)算單元與上一層的一個(gè)特定計(jì)算單元間都至 少有一條僅通過一 臺(tái)交換機(jī)構(gòu)的間接連接。 所述計(jì)算單元為具有獨(dú)立的運(yùn)算和通信功能的邏輯結(jié)構(gòu)單元,包括芯片、芯片組、 可編程門陣列(FPGA)芯片,板卡和獨(dú)立計(jì)算機(jī)中的任意一個(gè)或任意多個(gè)的組合;而且這些 芯片、芯片組、可編程門陣列板卡和獨(dú)立計(jì)算機(jī)的下級(jí)結(jié)構(gòu)本身也可采用所述的并行計(jì)算 系統(tǒng)的組織方式。 所述較高層計(jì)算單元含有少量能處理各種復(fù)雜算法的通用處理器;而較低層計(jì)算 單元含有大量僅適合處理某類問題的專用處理器,包括單指令多數(shù)據(jù)的流處理器,專用處 理器可以不帶有存儲(chǔ)器或共享少量的存儲(chǔ)器,但能將計(jì)算結(jié)果傳遞到通用處理器;某些中 間層計(jì)算單元可以同時(shí)含有上述兩類處理器。 所述陣列為可任意擴(kuò)展的陣列,或?yàn)榘慈魏慰芍貜?fù)的排列方式組成的陣列,至少 包括按矩形或長方體、三角形或四面體、六邊形或十四面體形式形成的陣列。所述陣列的邊 緣為開放的,或?yàn)榕c對(duì)應(yīng)邊相連的。 所述通信連接適用于所述計(jì)算單元間的任何連接方式,至少包括通信總線、交叉
開關(guān)、網(wǎng)卡與網(wǎng)絡(luò)連接線、串口或并口與串口或并口連接線、USB 口及其連接線。 所述的信息共享方式適用于所述計(jì)算單元間的任何信息共享方式,至少包括共享
主存、共享顯存、共享緩存或共享寄存器等方式。 所述通信交換機(jī)構(gòu)為支持所述通信連接的任何多路輸入、單路輸出或多路輸入、 多路輸出的通信交換機(jī)構(gòu)。 該通用算法在該系統(tǒng)上執(zhí)行時(shí),該算法中模型單元間的拓?fù)潢P(guān)系與該并行系統(tǒng)計(jì) 算單元間的拓?fù)潢P(guān)系相對(duì)應(yīng)。即,一個(gè)或多個(gè)較低層模型單元的狀態(tài)變量保存在一個(gè)較低 層的計(jì)算單元中,具有鄰居關(guān)系的模型單元的狀態(tài)變量也保存在具有鄰居關(guān)系的計(jì)算單元 中或在同一個(gè)計(jì)算單元中;而這些模型單元對(duì)應(yīng)的較高層模型單元的狀態(tài)變量保存在所述 較低層計(jì)算單元對(duì)應(yīng)的較高層計(jì)算單元中。關(guān)于一個(gè)模型單元的狀態(tài)變化的主要計(jì)算在保 存其狀態(tài)變量的計(jì)算單元中進(jìn)行,較下層計(jì)算單元的計(jì)算結(jié)果可直接送入較高層計(jì)算單元 中并得到即時(shí)應(yīng)用。
三)有益效果 1.從上述技術(shù)方案可以看出,本發(fā)明提供的這種變分多尺度模擬計(jì)算系統(tǒng)能概括 大量不同的復(fù)雜系統(tǒng),大到星體星系系統(tǒng)、小到分子原子系統(tǒng)的基本特征,即多尺度離散結(jié) 構(gòu),具有很強(qiáng)的通用性。 2.通過提供切合離散結(jié)構(gòu)模擬的算法和計(jì)算硬件,本發(fā)明簡(jiǎn)化了高性能計(jì)算系統(tǒng) 的設(shè)計(jì)、提高了其可擴(kuò)展性、從根本上擺脫了元器件計(jì)算水平對(duì)計(jì)算性能設(shè)置的上限、降低 了其制造和使用成本與能耗,同時(shí)提高了模擬系統(tǒng)的實(shí)際效率。 3.同時(shí)系統(tǒng)提供的多層次變分約束和反饋算法及相應(yīng)的硬件結(jié)構(gòu)也切合模擬對(duì) 象的多尺度特征和內(nèi)在作用機(jī)理,能有效地簡(jiǎn)化計(jì)算模型、極大地減少模擬的計(jì)算量、顯著 提高計(jì)算精度。 4.以上兩方面總體上使本發(fā)明提供的并行計(jì)算系統(tǒng)又具有鮮明的專門性,即為一 類有顯著特點(diǎn)的算法-變分多尺度模擬算法提供了非常適合其執(zhí)行的計(jì)算系統(tǒng)。而它與第 l方面通用性的結(jié)合則為解決高性能計(jì)算領(lǐng)域通用性與計(jì)算效率的重大矛盾提供了很好的解決途徑。
圖1為本發(fā)明提供的變分多尺度算法的邏輯結(jié)構(gòu)示意圖;其中,1為模型單元,2為 近程相互作用,3為上層模型單元,4為與上層模型單元的相互作用,5為上層模型單元間的 相互作用,6為與更上層模型單元的相互作用; 圖2為用本發(fā)明提供的算法和并行計(jì)算系統(tǒng)解優(yōu)化問題的示意圖;其中21為自由 參數(shù)空間,22為穩(wěn)定性準(zhǔn)則,23為穩(wěn)定性準(zhǔn)則的極值點(diǎn),24為方程組,25為下層計(jì)算單元, 26為上層計(jì)算單元,27為一批坐標(biāo)點(diǎn)及其穩(wěn)定性準(zhǔn)則的數(shù)值,28為新的一批坐標(biāo)點(diǎn)及其穩(wěn) 定性準(zhǔn)則的數(shù)值,29為非線性方程的根,30為更下層計(jì)算單元,31為不同自變量下的函數(shù) 值,32為有根區(qū)間,33為下步計(jì)算采用的自變量; 圖3為采用本發(fā)明提供的算法和并行計(jì)算系統(tǒng)進(jìn)行描述型多尺度計(jì)算的示意圖; 其中36為整體的材料,37為采用有限元方法計(jì)算的區(qū)域,38為局部的缺陷或裂紋,39為采 用分子動(dòng)力學(xué)模擬的區(qū)域,40為重疊區(qū)域,41為上下層計(jì)算單元間的參數(shù)傳遞;
圖4為采用本發(fā)明提供的解非平衡演化問題的示意圖;其中45為計(jì)算的初始狀 態(tài),46為滿足穩(wěn)定性條件的真實(shí)解,47為近似解,48為測(cè)試解的范圍,49為更好的近似解;
圖5為本發(fā)明提供的并行計(jì)算系統(tǒng)的總體結(jié)構(gòu)圖;其中51為管理控制及輸入輸出 單元等,52為頂層交換機(jī)構(gòu),53為層間連接; 圖6為由Nvidia計(jì)算加速單元和宿主機(jī)構(gòu)成的計(jì)算結(jié)點(diǎn)示意圖;其中60為計(jì)算 加速單元,61為專業(yè)計(jì)算卡,62為PCI-Exl6插槽,63為交換子卡,64為PCI-E X16 Gen 2 插槽上的接口卡,65為宿主機(jī); 圖7為輸入輸出及后處理結(jié)點(diǎn)示意圖;其中71為GTX280顯卡,72為機(jī)架式服務(wù) 器,73為存儲(chǔ)適配卡,74為存儲(chǔ)盤陣,75為大屏幕顯示器; 圖8為本發(fā)明提供的計(jì)算單元間連接的第一種方式;其中81為交換機(jī)構(gòu),82為交 換機(jī)構(gòu)間的互聯(lián),83為上層交換機(jī)構(gòu); 圖9為本發(fā)明提供的計(jì)算單元間連接的第二種方式;其中91、92分別為計(jì)算單元 陣列中兩個(gè)相互錯(cuò)位重疊的區(qū)域,93、94為分別連接92和94區(qū)域中計(jì)算單元的交換機(jī)構(gòu), 95為交換機(jī)構(gòu)間的互聯(lián)。
具體實(shí)施例方式
為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚明白,以下結(jié)合具體實(shí)施例,并參照 附圖,對(duì)本發(fā)明進(jìn)一步詳細(xì)說明。
— )算法的實(shí)施 在前述的變分多尺度模擬算法中,大量離散的模型單元(1)間發(fā)生近程相互作用 (2),同時(shí)與若干上層模型單元(3)相互作用(4),而上層模型單元間又發(fā)生近程作用(5), 并與更上層的模型單元相互作用(6),以此類推組成多尺度結(jié)構(gòu)系統(tǒng),它可以用圖1形象地 示意。可以說,這幾乎是所有需要高性能計(jì)算的復(fù)雜系統(tǒng)的共同特征。比如,社會(huì)系統(tǒng)有最 基本的組成單元_人,人大多與他/她周圍的人關(guān)系較密切,遠(yuǎn)程的則聯(lián)系較少。但社會(huì)不 僅是單個(gè)人之間的作用,每個(gè)人還會(huì)參加不同的團(tuán)體和組織,如家庭、工作單位、社區(qū)、倶樂部等等,它們對(duì)組成或參與它們的個(gè)體的行為有約束作用,同時(shí)作為整體也會(huì)發(fā)生相互關(guān)
系,并且能組成更高層次的團(tuán)體。在物質(zhì)世界中,從基本粒子到整個(gè)宇宙也有相似的特征。
利用此框架,代表各種應(yīng)用的各種單元間的作用方式可模塊化地嵌入通用的總體算法和數(shù)
據(jù)結(jié)構(gòu)中,而無需獨(dú)立編寫相應(yīng)的計(jì)算軟件。
這種模擬框架的一些具體應(yīng)用環(huán)境可以列舉如下 1)在多尺度離散系統(tǒng)中,上層單元原則上都會(huì)對(duì)組成它的下層單元有約束和影 響,使之與完全獨(dú)立的個(gè)體行為不同,比如人類社會(huì)中個(gè)人要受組織的領(lǐng)導(dǎo)和管理,要受其 制度和法規(guī)的約束。因此任何反映這種現(xiàn)實(shí)的模擬都自然地需要與上層單元建立反饋_約 束機(jī)制。同時(shí)上層單元間也會(huì)發(fā)生鄰近的相互作用,比如人類社會(huì)中單位對(duì)單位、國家對(duì)國 家間的合作與競(jìng)爭(zhēng)等。再有,就是這種關(guān)系是可以嵌套的,即存在多級(jí)的上下層單元關(guān)系。 這時(shí),上述變分多尺度模擬算法就是最合理與自然的描述。 一般來說,越是上層的單元數(shù)量 越少,但相互作用方式越復(fù)雜,所以它們會(huì)更多地依靠少量的通用處理單元來模擬,而大量 相對(duì)簡(jiǎn)單的下層單元間作用通過大量專用處理器來模擬。 根據(jù)變分多尺度原理,很多物理系統(tǒng)中的這種約束機(jī)制表現(xiàn)為下層各模型單元總 體上要滿足某種穩(wěn)定性條件,數(shù)學(xué)上則表達(dá)為多目標(biāo)變分問題。在計(jì)算機(jī)模擬中,這個(gè)多目 標(biāo)變分問題會(huì)最終轉(zhuǎn)化為有限自由度上的優(yōu)化問題。此時(shí)較上層的復(fù)雜計(jì)算單元可考慮 對(duì)最優(yōu)化算法的專門優(yōu)化,其計(jì)算結(jié)果會(huì)以某種修正量的形式反饋到相關(guān)較低層計(jì)算單元 中。 比如在SPH、宏觀擬顆粒模擬(MaPPM)和移動(dòng)粒子半隱式(MPS)等宏觀粒子模擬方 法中,每個(gè)粒子物理上代表了一個(gè)流體微團(tuán),而其狀態(tài)是根據(jù)周圍一定范圍內(nèi)的其它粒子 演化后的狀態(tài)按照某個(gè)權(quán)函數(shù)平均得到的。而數(shù)學(xué)上滿足收斂要求的權(quán)函數(shù)有無窮多個(gè), 此時(shí),根據(jù)流動(dòng)的穩(wěn)定條件就為篩選權(quán)函數(shù)提供了泛函變分條件。比如,流動(dòng)在局部應(yīng)滿足 黏性耗散最小的變分條件,因此可以比較使用不同權(quán)函數(shù)獲得的局部黏性耗散統(tǒng)計(jì)值來判 斷權(quán)函數(shù)的優(yōu)劣并選擇和優(yōu)化。在簡(jiǎn)化的條件下,可根據(jù)經(jīng)驗(yàn)預(yù)選帶有一定參數(shù)的候選函 數(shù)形式,再通過迭代求解最小局部黏性耗散對(duì)應(yīng)的參數(shù)值。這樣雖然每個(gè)時(shí)間不的計(jì)算要 引入迭代,但由于權(quán)函數(shù)的優(yōu)化可能顯著提高精度,而這種提高以前需要用更小、更多的粒 子和更小的時(shí)間步長獲得,因此總體來講計(jì)算量仍可能明顯減小。 2)優(yōu)化問題本身也可利用本發(fā)明的算法和計(jì)算機(jī)硬件來快速求解。在多尺度模 型中往往出現(xiàn)方程數(shù)少于模型涉及的變量數(shù),而需要引入經(jīng)驗(yàn)關(guān)聯(lián)式的情況,比如在湍流 模型中,由于一階模型的不封閉性需要引入二階近似假設(shè)來封閉,而二階模型也難以封閉 時(shí),則需引入更復(fù)雜的三階近似。避免采用經(jīng)驗(yàn)假設(shè)的一種方法是引入物理的穩(wěn)定性條件 提供封閉。如圖2所示,其算法總體上就是在一定維數(shù)的自由參數(shù)空間(21)中尋找穩(wěn)定性 準(zhǔn)則(22)的極值點(diǎn)(23),而該空間中每個(gè)坐標(biāo)點(diǎn)(27)上該準(zhǔn)則的數(shù)值要通過求解一個(gè)方 程組獲得,例如在氣固和氣液流動(dòng)系統(tǒng)的能量最小多尺度(E匪S)模型中自由參數(shù)的數(shù)量 分別為2和3,而方程組的階數(shù)分別為6和3。此時(shí)大量坐標(biāo)點(diǎn)上的準(zhǔn)則數(shù)值就可以通過單 指令多數(shù)據(jù)的方式,通過大量下層計(jì)算單元(25)獨(dú)立地并行計(jì)算,而根據(jù)這些結(jié)點(diǎn)的計(jì)算 結(jié)果,上層計(jì)算單元(26)可以采用較復(fù)雜的尋找極值點(diǎn)的算法,比如模擬退火、遺傳算法 等,給出新一批需要計(jì)算的坐標(biāo)點(diǎn)(28),如此迭代,逐步接近極值點(diǎn)。同時(shí)尋找非線性方程 的根(29)的過程也可利用大量更下層的計(jì)算單元(30)以單指令多數(shù)據(jù)的方式分別計(jì)算不
13同自變量下的函數(shù)值(31),然后由較下層計(jì)算單元(25)確定有根區(qū)間(32)和下步計(jì)算采 用的自變量(33),經(jīng)過數(shù)次迭代獲得準(zhǔn)確的根。當(dāng)存在多個(gè)需要求解的方程時(shí),較高層和 較低層計(jì)算單元間還可以建立流水線機(jī)制,使較低層計(jì)算單元在并行計(jì)算某方程的函數(shù)值 時(shí),較高層計(jì)算單元能同時(shí)判斷另一方程的有根區(qū)間和下步迭代采用的自變量。
此類算法還適用于蛋白質(zhì)和多相復(fù)雜介質(zhì)體系穩(wěn)定結(jié)構(gòu)的預(yù)測(cè)、金融產(chǎn)品收益率 預(yù)測(cè)、圖形圖像處理等大批符合"海量獨(dú)立計(jì)算_分析判斷_重新計(jì)算"模式的應(yīng)用。
3)在有些情況下或?yàn)榱四撤N模擬目的,盡管相隔較遠(yuǎn)的粒子間的作用力較小,遠(yuǎn) 程的相互作用也不能被忽略,而需要用一種簡(jiǎn)化的方式來處理。其中大部分簡(jiǎn)化方式從本 質(zhì)上說就是考慮多對(duì)粒子間作用的集體效果。另一方面,即使遠(yuǎn)程相互作用可以被忽略,為 了減少計(jì)算量也會(huì)只直接計(jì)算盡可能少的鄰近相互作用而其余的只考慮其集體效果。因 此,在多尺度離散模擬系統(tǒng)中,單元間的鄰近作用來下層結(jié)點(diǎn)中主要依靠專用處理器計(jì)算, 而遠(yuǎn)程作用的集體效果主要依靠上層結(jié)點(diǎn)或/和通用處理器計(jì)算。 這種方式在描述型多尺度方法中也能得到應(yīng)用。如圖3所示,此時(shí),同一模擬中要 采用多種不同尺度的方法,比如在材料力學(xué)中,整體的材料(36)變形采用有限元方法計(jì)算 (37)而局部的材料缺陷或裂紋(38)采用分子動(dòng)力學(xué)模擬(39)。由于后者的計(jì)算空間區(qū)域 雖小但計(jì)算量巨大且算法相對(duì)簡(jiǎn)單,所以正好適合在上層計(jì)算單元(26)進(jìn)行有限元計(jì)算 而在下層計(jì)算單元(25)進(jìn)行分子動(dòng)力學(xué)模擬。為了實(shí)現(xiàn)兩種計(jì)算方法的耦合,一般需要一 個(gè)重疊區(qū)域(40),下層計(jì)算單元分子動(dòng)力學(xué)計(jì)算的統(tǒng)計(jì)結(jié)果要傳遞給上層的計(jì)算單元作為 狀態(tài)的輸入,同時(shí)上層計(jì)算單元根據(jù)新的計(jì)算結(jié)果要對(duì)下層計(jì)算單元中各分子的運(yùn)動(dòng)狀態(tài) 進(jìn)行修正和約束(41)。這種耦合方式正好與本發(fā)明提供的計(jì)算單元組織結(jié)構(gòu)一致。
同樣,這種方式也能應(yīng)用于關(guān)聯(lián)型多尺度方法中。該方法將小尺度上模擬結(jié)果的 統(tǒng)計(jì)性質(zhì)作為大尺度模型的參數(shù)。廣義上,從分子動(dòng)理學(xué)獲得流體力學(xué)方程組的本構(gòu)關(guān)系, 再從流體力學(xué)方程的平均化獲得多孔介質(zhì)滲流的達(dá)西定律的過程也屬于關(guān)聯(lián)型多尺度方 法。但是對(duì)簡(jiǎn)單系統(tǒng),小尺度行為的統(tǒng)計(jì)性質(zhì)可以顯式地表達(dá)為關(guān)聯(lián)式或圖表,使得大尺度 計(jì)算在具體算例中可以不直接依賴于小尺度計(jì)算。而對(duì)于一些復(fù)雜體系,比如一些聚合物 的非牛頓流,物性的決定因素眾多而且與流動(dòng)狀態(tài)密切相關(guān),難以用簡(jiǎn)單的關(guān)聯(lián)式或圖表 表達(dá),必須直接由小尺度計(jì)算"現(xiàn)場(chǎng)"提供,這就是基于關(guān)聯(lián)型多尺度方法中耦合計(jì)算的典 型情況。此時(shí),正如在描述型多尺度方法的重疊區(qū)域,下層和上層的計(jì)算單元可分別進(jìn)行小 尺度和大尺度的計(jì)算,而通過層間的參數(shù)統(tǒng)計(jì)、傳遞和分配實(shí)現(xiàn)多尺度耦合。
4)很多連續(xù)介質(zhì)模型的數(shù)值求解。因?yàn)閿?shù)值求解最終表現(xiàn)為一組離散網(wǎng)格點(diǎn)之間 的"作用",即數(shù)值依賴關(guān)系,而很多情況下,主要是在顯格式下,具有這種依賴關(guān)系的網(wǎng)格 也可以理解為某種特殊的靜止粒子系統(tǒng)。更有意義的是,傳統(tǒng)上顯式數(shù)值方法雖然簡(jiǎn)單而 且并行性好,但因?yàn)樵诜€(wěn)定性和/或計(jì)算精度上較差,應(yīng)用不及隱格式普遍,而變分多尺度 模擬為解決該問題帶來了可能性。 連續(xù)介質(zhì)模型本身具有無限自由度,而由此建立的數(shù)值計(jì)算模型僅具備有限自由 度,即離散網(wǎng)格數(shù)與每個(gè)格點(diǎn)上定義的變量書以及計(jì)算步數(shù)之積。因此數(shù)值計(jì)算求解的方 程組并不是對(duì)物理問題的封閉描述,雖然它本身在數(shù)學(xué)上是封閉的。同時(shí)由機(jī)器字長引起 的舍入誤差和有限計(jì)算網(wǎng)格與步長造成的計(jì)算誤差也會(huì)使模擬結(jié)果偏離實(shí)際狀態(tài),特別是 在計(jì)算規(guī)模較大、時(shí)間較長時(shí)。但是如果它相應(yīng)的物理模型真實(shí)地反映了現(xiàn)實(shí)過程,在相同的初始條件下,它應(yīng)該在較短時(shí)間內(nèi)能提供現(xiàn)實(shí)過程的粗化和近似描述。而同時(shí),如果我們 能找到現(xiàn)實(shí)過程演化的穩(wěn)定性條件,就可以把它作為這個(gè)物理上不封閉的數(shù)值計(jì)算模型的 變分約束條件,并從機(jī)理上限制和抑制數(shù)值誤差,使之更接近現(xiàn)實(shí)過程?,F(xiàn)舉兩例說明
a)任何孤立系統(tǒng)的熵始終是增加的,如果對(duì)這類系統(tǒng)的模擬出現(xiàn)了系統(tǒng)的熵減少 的結(jié)果,可利用這個(gè)原理按一定規(guī)則修正模擬結(jié)果,使系統(tǒng)的熵至少不出現(xiàn)減少,以獲得合 理的近似解。 b)如圖4所示,線性非平衡過程在一定條件下滿足熵產(chǎn)生最小的穩(wěn)定性條件,如 果從初始狀態(tài)(45)開始數(shù)值計(jì)算模型能給出足夠接近真實(shí)解(46)的近似解(47),我們就 可以在該近似解周圍較小范圍內(nèi)生成多個(gè)測(cè)試解(48),然后計(jì)算其熵產(chǎn)率,其最小者可認(rèn) 為是更好的近似解(49)。 在上述過程中,對(duì)原近似解的求解可在大量較低層計(jì)算單元上快速并行計(jì)算,而 對(duì)穩(wěn)定性條件的指標(biāo)(如熵值和熵產(chǎn)生量)及修正量的計(jì)算因?yàn)樯婕叭值臍w約和交換, 需要在較高層計(jì)算單元的協(xié)同下進(jìn)行。
二 )硬件設(shè)計(jì)實(shí)例 如權(quán)利要求9所述的變分多尺度模擬計(jì)算硬件系統(tǒng)可以從元器件組,芯片、板卡、 服務(wù)器或工作站結(jié)點(diǎn)等不同硬件層次上實(shí)現(xiàn)。其總體結(jié)構(gòu)如圖5所示,其中下層計(jì)算單元 (25)、上層計(jì)算單元(26)是相對(duì)于兩層結(jié)構(gòu)而言,而一般意義上可以允許多層計(jì)算單元。 但總體上較高層的計(jì)算單元較為復(fù)雜,側(cè)重處理"決策與組織"類型的任務(wù),如極值與變分 約束的計(jì)算與反饋;中間層的計(jì)算單元相對(duì)簡(jiǎn)單,側(cè)重"實(shí)施與協(xié)調(diào)"類型的任務(wù),主要計(jì)算 復(fù)雜粒子間作用長程作用計(jì)算;較低層的計(jì)算單元主要任務(wù)是"執(zhí)行"上層單元分配的簡(jiǎn) 單計(jì)算任務(wù),如簡(jiǎn)單粒子間的作用。下面介紹從結(jié)點(diǎn)層次實(shí)現(xiàn)的一套具體方案,并介紹其中 各部分的一些變通或替代技術(shù)。此方案基本可以通過現(xiàn)有計(jì)算機(jī)器件和部件的裝配集成實(shí) 現(xiàn),其它硬件層次上實(shí)施的具體方案也由類似之處,但需要更多專門的工程設(shè)計(jì)。
1)計(jì)算結(jié)點(diǎn) 計(jì)算結(jié)點(diǎn)是該系統(tǒng)的主體和主要功能載體,是本發(fā)明中計(jì)算單元的具體實(shí)現(xiàn)形 式。在結(jié)點(diǎn)的層次上,可以采用商用的個(gè)人計(jì)算機(jī)、工作站和服務(wù)器(包括機(jī)架式、刀片 式等),這些結(jié)點(diǎn)一般能配置1, 2或4顆x86體系結(jié)構(gòu)的中央處理器(CPU),作為本發(fā)明 中結(jié)點(diǎn)的通用處理器;同時(shí),這些結(jié)點(diǎn)一般具有多條符合外設(shè)總線互聯(lián)標(biāo)準(zhǔn)(Peripheral Componentlnterconnection)的擴(kuò)展插槽, 一般有5 7條,并能滿足多種標(biāo)準(zhǔn)的版本,如 PCI, PCI-X, PCI-E等。在這些擴(kuò)展槽上可插接網(wǎng)卡和計(jì)算加速卡等,分別提供本發(fā)明方案 中的通信連接所要求的網(wǎng)絡(luò)接口卡和專用處理器。 目前市場(chǎng)上已出現(xiàn)了多款安裝了通用計(jì)算圖形處理器(GPGPU)的計(jì)算加速卡,同
時(shí)許多帶圖形處理器(GPU)的顯卡實(shí)際上也能作為計(jì)算加速卡使用。這些產(chǎn)品主要包括Nvidia公司 授權(quán)生產(chǎn)的多種GeForce顯卡 如GeForce8800GTX、9800GX2和GTX280等; Quadra專業(yè)顯卡,如FX5600等; 專業(yè)計(jì)算加速卡,如Telsa C870和C1060 ; 獨(dú)立的計(jì)算加速單元,如Telsa S870和S1070, S1075。[O109] ATI公司(已被AMD公司收購)Radeon HD3870, HD4870, HD4870X2等顯卡;FireStream 9250等專業(yè)計(jì)算加速卡。 Intel公司正在研發(fā)的類x86多核計(jì)算架構(gòu)Larrabee。 另夕卜IBM公司還開發(fā)了 Cell Broadband Engine系列刀片式服務(wù)器QS20, QS21, QS22等,其中結(jié)合了通用和專用處理器。 針對(duì)這些計(jì)算硬件,各公司還開發(fā)了相應(yīng)的編程環(huán)境與工具,如Nvidia公司的 CUDA(Compute Unified Device Architecture), AMD/ATI的CAL(Compute Abstraction Layer) , IBM的Cell BE SDK和Intel的Ct等;以及第三方軟件Brook等。它們能與通用 處理器常用的C和C++的語言編譯和開發(fā)環(huán)境,以及MPI (Message Passing Interface)和 0penMP等并行計(jì)算標(biāo)準(zhǔn)耦合使用。 如果直接在結(jié)點(diǎn)的擴(kuò)展槽上插接計(jì)算加速卡或顯卡,可選用Nvidia公司的 GTX280,它有240個(gè)流處理器,工作頻率1. 35GHz,峰值速度0. 933Tf lops (單精度),顯存 1GB ;或C1060,它也擁有240個(gè)流處理器,工作頻率1.5GHz,峰值速度1. 08Tf lops (單精 度),顯存4GB。也可選用AMD/ATI公司推出的專業(yè)計(jì)算加速卡Firestream 9250,它有800 個(gè)流處理器,但其顯存容量較小,只有1G ;或一般顯卡HD4870,或HD4870x2,它們分別有800 和1600個(gè)流處理器,工作頻率750MHz,顯存1GB,峰值速度分別達(dá)到1. 2和2. 4Tf lops (單 精度),或0. 24和0. 48Tf lops (雙精度)。 根據(jù)計(jì)算需求和主板上擴(kuò)展槽的配置,一般可插接2 4塊上述計(jì)算加速卡或顯 卡,其中多數(shù)產(chǎn)品要求最好插接在PCI-Ex16 Gen2插槽上。由于目前多數(shù)產(chǎn)品還要求最好 每個(gè)CPU核(線程)控制一個(gè)GPU。結(jié)點(diǎn)可配置一到四顆四核CPU,如Intel采用45nm技 術(shù)制造的最新一代4核處理器Harpertown,主頻已達(dá)3. 0G以上。這樣在CPU與GPU進(jìn)行數(shù) 據(jù)交換和監(jiān)控的同時(shí),還有充足的資源與其它結(jié)點(diǎn)交換數(shù)據(jù)并承擔(dān)部分上層計(jì)算任務(wù)。結(jié) 點(diǎn)應(yīng)配置較大的內(nèi)存,故需配置約8條DI匪槽,以容納最多64GB帶ECC校驗(yàn)的DDR內(nèi)存。 這樣顯存與主存間可經(jīng)過多次讀寫后再要求結(jié)點(diǎn)間的數(shù)據(jù)交換,實(shí)現(xiàn)較好的速度匹配,隱 藏通信時(shí)間。硬盤可根據(jù)不同計(jì)算要求配置2 4塊容量100GB以上的SAS或SATA硬盤 并做RAID1 。同時(shí)配置板載雙口千兆網(wǎng)卡和PCI-Ex8槽位上的InfiniBand或千兆以太網(wǎng)接 口卡,及顯示、鍵盤、鼠標(biāo)接口。由于計(jì)算加速卡和顯卡的體積和功率限制,上述結(jié)點(diǎn)一般需 設(shè)計(jì)成3 4U高度的工業(yè)標(biāo)準(zhǔn)機(jī)架式服務(wù)器,在寬度和深度上有減小余地。圖?為此類計(jì) 算結(jié)點(diǎn)的示意圖。 如果要進(jìn)一步提高安裝密度、改善電磁屏蔽和散熱性能,可以采用具有獨(dú)立機(jī)箱、 供電和散熱裝置,內(nèi)置多塊計(jì)算加速卡的獨(dú)立計(jì)算加速單元,由一個(gè)或多個(gè)計(jì)算加速單元 與一臺(tái)宿主機(jī)組成一個(gè)計(jì)算結(jié)點(diǎn)。其中Nvidia公司最新推出的Tesla S1070計(jì)算加速單 元內(nèi)含四塊專業(yè)計(jì)算加速卡,每卡含一個(gè)GT200系列GPU。該GPU采用65nm集成電路制造 技術(shù),擁有512bit的顯存位寬和142GB/s的顯存帶寬,線程處理器達(dá)240個(gè),時(shí)鐘頻率可達(dá) 1. 5GHz,峰值速度超過1Tflops,顯存容量高達(dá)4GB。因此,整個(gè)計(jì)算加速單元在標(biāo)準(zhǔn)機(jī)柜1U 的高度內(nèi)可提供超過4Tflops的單精度計(jì)算能力和16GB GDDR3顯存,而整機(jī)的典型功耗僅 約700瓦。如圖6所示,一個(gè)計(jì)算加速單元(60)四塊專業(yè)計(jì)算卡(61)通過PCIeX16插槽 (62)分兩組與兩個(gè)交換子卡(63)連接,這兩個(gè)子卡分別與宿主機(jī)的一個(gè)PCIeX16 Gen2的插槽上的接口卡(64)相連。由于Nvidia的專利設(shè)計(jì),子卡的交換過程對(duì)傳輸性能基本沒 有影響。相應(yīng)的宿主機(jī)(65)可采用定制的機(jī)架式工業(yè)標(biāo)準(zhǔn)服務(wù)器,除了擴(kuò)展槽上不是直接 插接計(jì)算加速卡或顯卡,而是插接體積較小的交換子卡外,配置可與上述結(jié)點(diǎn)基本相同,但 體積可大大縮小,一般設(shè)計(jì)高度可為iu。 根據(jù)結(jié)點(diǎn)在本發(fā)明提出的并行計(jì)算系統(tǒng)中的位置不同,它可采用上面介紹的各種 可能性中的不同配置。如作為較高層計(jì)算單元時(shí),可配置較強(qiáng)的通用計(jì)算能力,如可配置四 顆高主頻的四核CPU,和較大的內(nèi)存,如16GB以上,及較大的硬盤,如500GB以上,同時(shí)可不 選配GPU等加速部件。而作為較低層的計(jì)算單元時(shí),可配置較低的通用計(jì)算能力,如單顆四 核的低主頻CPU, 4GB左右的內(nèi)存,以及50GB左右的硬盤,但可選配較強(qiáng)大的加速部件,如4 顆以至8顆以上的GPU。這種差異的具體確定需要根據(jù)當(dāng)時(shí)的市場(chǎng)和具體的應(yīng)用情況靈活 調(diào)整,但其基本原則是由本發(fā)明的提供的系統(tǒng)總體結(jié)構(gòu)確定的。 上面的各方案都是基于市場(chǎng)現(xiàn)有計(jì)算加速卡和顯卡。但本發(fā)明的技術(shù)方案也覆蓋 了采用專門的主板設(shè)計(jì),將GPU和CPU更緊密地結(jié)合在同一主板內(nèi)以至同一芯片內(nèi)的方案。 或者說,結(jié)點(diǎn)的可行設(shè)計(jì)包含了單指令多數(shù)據(jù)與多指令多數(shù)據(jù)處理的各種耦合方式。
2)輸入輸出兼前后處理結(jié)點(diǎn) 為了形成完整的計(jì)算機(jī)系統(tǒng),還需要配置高性能的數(shù)據(jù)輸入輸出結(jié)點(diǎn)或結(jié)點(diǎn)組, 并且需要對(duì)數(shù)據(jù)進(jìn)行前后處理的能力,為此,設(shè)置輸入輸出兼前后處理結(jié)點(diǎn)。它們一方面通 過樹形網(wǎng)與計(jì)算結(jié)點(diǎn)互連,同時(shí)通過存儲(chǔ)域網(wǎng)與存儲(chǔ)單元互連。為滿足后處理需求,如圖7 所示,每個(gè)結(jié)點(diǎn)(71)可采用三塊Nvidia授權(quán)OEM的顯卡GeForce GTX280 (72),它可直接 插接在PCI-Exl6的擴(kuò)展槽上,占用兩個(gè)全高全長的槽位。該顯卡同樣采用GT200GPU,工作 頻率為1. 33GHz,相應(yīng)的峰值速度為933Gf lops,顯存容量1GB,峰值功率160W。其優(yōu)勢(shì)在 于它除了能進(jìn)行浮點(diǎn)運(yùn)算還具備正常的文本和圖形顯示驅(qū)動(dòng)功能。每個(gè)結(jié)點(diǎn)擬采用4U高 度的定制機(jī)架式服務(wù)器。利用4U結(jié)點(diǎn)配置可以比較全面的優(yōu)勢(shì),此類結(jié)點(diǎn)將可支持PCI-E 和Inf iniband等高速接口 ,結(jié)點(diǎn)將配置大容量內(nèi)存和硬盤并外插存儲(chǔ)適配卡(73),以實(shí)現(xiàn) 與存儲(chǔ)盤陣(74)連接。同時(shí)可為每塊GTX280顯卡配置兩臺(tái)大屏幕顯示器(75) (30英寸, 2560x1600分辨率液晶顯示屏),由此構(gòu)建的用戶終端單臺(tái)即可組成超過24兆像素的顯示 陣列,而通過4到6個(gè)用戶終端的并行處理,可建立1億像素以上的動(dòng)態(tài)顯示能力,滿足高 分辨率海量數(shù)據(jù)處理的需求。這些結(jié)點(diǎn)的總體結(jié)構(gòu)如圖?所示。
3)通信網(wǎng)絡(luò)設(shè)計(jì) 網(wǎng)絡(luò)是粒子模擬計(jì)算集群中各個(gè)結(jié)點(diǎn)相互連接和協(xié)同工作的基礎(chǔ)。目前進(jìn)入 T0P500的集群系統(tǒng)中高速網(wǎng)主要采用千兆以太網(wǎng)、10G Ethernet、 Quadrics、 Myrinet、 Infiniband、 PathScale的Infinipath、 IBM的SP網(wǎng)絡(luò)、Dolphin SCI、 SGI的N麗-Link、 Gray的R即idArray等。其中在Linux集群中廣泛使用的高速通信網(wǎng)絡(luò)有千兆以太網(wǎng)、 Myrinet、 Infini-band等三種,這三種網(wǎng)絡(luò)一般均使用交換機(jī)連接各結(jié)點(diǎn)。
千兆以太網(wǎng)是現(xiàn)在應(yīng)用最廣泛的網(wǎng)絡(luò),可用于Li皿x集群管理,也可用于Li皿x集 群結(jié)點(diǎn)間數(shù)據(jù)交換和通信。雖然其網(wǎng)絡(luò)帶寬和延遲等性能不如Myrinet、Infiniband,但它 容易搭建,可以較低的成本滿足大部分應(yīng)用需求,在目前進(jìn)入Top500的高性能計(jì)算系統(tǒng)中 仍占據(jù)一半以上的份額。 Myrinet網(wǎng)絡(luò)的設(shè)計(jì)目標(biāo)是要在局域網(wǎng)環(huán)境中獲得系統(tǒng)域網(wǎng)絡(luò)的性能。因此,它采用了MPP系統(tǒng)中數(shù)據(jù)包通信和交換技術(shù),在設(shè)計(jì)時(shí)充分考慮了并行系統(tǒng)內(nèi)部互連網(wǎng)絡(luò)傳輸 距離近、出錯(cuò)率低的應(yīng)用環(huán)境,使用簡(jiǎn)化的鏈路控制協(xié)議實(shí)現(xiàn)數(shù)據(jù)傳送,減小了數(shù)據(jù)傳輸時(shí) 的協(xié)議開銷;采用無阻塞的Clos網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu),減少了數(shù)據(jù)包在網(wǎng)絡(luò)中的沖突;網(wǎng)絡(luò)適配 器處理機(jī)對(duì)網(wǎng)絡(luò)的自動(dòng)映像和路由選擇功能,可以提高網(wǎng)絡(luò)的可靠性。
InfiniBand是一種交換結(jié)構(gòu)I/O技術(shù),其設(shè)計(jì)思路是通過一套中心機(jī)構(gòu)(中心 InfiniBand交換機(jī))在遠(yuǎn)程存貯器、網(wǎng)絡(luò)以及服務(wù)器等設(shè)備之間建立一個(gè)單一的連接鏈 路,并由中心InfiniBand交換機(jī)來指揮流量,它的結(jié)構(gòu)設(shè)計(jì)得非常緊密,大大提高了系統(tǒng) 的性能、可靠性和有效性,能緩解各硬件設(shè)備之間的數(shù)據(jù)流量擁塞。 在中國專利申請(qǐng)200710099551. 8和200810057259. 4中,對(duì)所提出的多層直連網(wǎng) 絡(luò)結(jié)構(gòu)建議通過千兆以太網(wǎng)卡的mesh或cubic連接(在每臺(tái)計(jì)算機(jī)上安裝4/6個(gè)千兆以太 網(wǎng)端口。鄰近結(jié)點(diǎn)的千兆以太網(wǎng)端口間不通過交換機(jī)直接連接)實(shí)施。這主要是考慮到, 離散模擬中,傳遞的消息往往包含數(shù)百個(gè)粒子的參數(shù),單次傳遞數(shù)據(jù)量較大,網(wǎng)絡(luò)延遲對(duì)計(jì) 算影響不大,相對(duì)來說網(wǎng)絡(luò)帶寬更為重要。而在大規(guī)模離散模擬并行中采用的空間區(qū)域劃 分和Shift通信模式(僅鄰近結(jié)點(diǎn)有數(shù)據(jù)交換、只需極少量全局通信)是主流模式。此時(shí) 采用該直連模式雖然需要結(jié)點(diǎn)的物理拓?fù)渑c進(jìn)程拓?fù)涞牧己脤?duì)應(yīng),結(jié)點(diǎn)的任務(wù)劃分不太靈 活,但通信模擬簡(jiǎn)單、通信負(fù)載易于平衡,可無限擴(kuò)展,總的通信開銷反而較低,特別是對(duì)整 個(gè)系統(tǒng)同時(shí)求解單一模擬問題的大規(guī)模計(jì)算而言能獲得最佳的性能價(jià)格比。
但是對(duì)于更大規(guī)模的系統(tǒng)建造,如果對(duì)系統(tǒng)的可靠性、容錯(cuò)能力和效率有更高的 要求,基于Myrinet或InfiniBand建立更高性能的可擴(kuò)展近程連接和多尺度樹形網(wǎng)路也是 可行的方案。為此可采用兩類方案來實(shí)現(xiàn)本發(fā)明根據(jù)權(quán)利要求2所述的并行計(jì)算系統(tǒng)中計(jì) 算結(jié)點(diǎn)間的連接,當(dāng)然這兩類方法依然可以用以太網(wǎng)實(shí)現(xiàn) a)如圖8所示,某一層計(jì)算單元陣列中一個(gè)區(qū)域的多個(gè)計(jì)算單元(30)與一套交換 機(jī)構(gòu)(81)相連,而對(duì)應(yīng)該計(jì)算單元陣列各區(qū)域的交換機(jī)構(gòu)也相應(yīng)地組成陣列(但交換機(jī)構(gòu) 數(shù)量比計(jì)算單元數(shù)量少得多),相鄰的交換機(jī)構(gòu)間通過一個(gè)或多個(gè)端口 (82)互聯(lián),從而形 成交換機(jī)構(gòu)陣列上的mesh或cubic網(wǎng)絡(luò)。由于交換機(jī)構(gòu)陣列是可擴(kuò)展的,所以它所連接的 計(jì)算單元陣列也是可擴(kuò)展的,并且任何在該計(jì)算單元陣列中相鄰的計(jì)算單元通過最多兩套 交換機(jī)構(gòu)能夠進(jìn)行通信。 b)如圖9所示,某一層計(jì)算單元陣列中一個(gè)區(qū)域(91)的多個(gè)計(jì)算單元與一套交換 機(jī)構(gòu)(92)相連,而與之部分重疊的另一個(gè)區(qū)域(93)中的多個(gè)計(jì)算單元又與另一套交換機(jī) 構(gòu)(94)相連,這樣可以使計(jì)算單元陣列中任何一對(duì)相鄰的計(jì)算單元總有一套共同直接連 接的交換機(jī)構(gòu),從而通過最多一套交換機(jī)構(gòu)實(shí)現(xiàn)通信。如圖9a所示,一種對(duì)二維或三維的 正交計(jì)算單元陣列的可行布置是,劃分計(jì)算單元陣列的一組矩形或長方體區(qū)域(如91及其 同類區(qū)域)也組成一個(gè)二維或三維陣列,每個(gè)區(qū)域?qū)?yīng)一套交換機(jī)構(gòu)(92及其同類交換機(jī) 構(gòu))。同時(shí)計(jì)算單元陣列也被與上述矩形或長方體區(qū)域陣列在行、列(和層)方向分別錯(cuò)位 半個(gè)區(qū)域的另一個(gè)矩形或長方體區(qū)域陣列(如93及其同類區(qū)域)劃分,其中的每個(gè)區(qū)域中 的計(jì)算單元也連接一套交換機(jī)構(gòu)(94及其同類交換機(jī)構(gòu))。這樣每個(gè)計(jì)算單元都連接了兩 套交換機(jī)構(gòu)。此時(shí)對(duì)不跨越任何區(qū)域邊界的一對(duì)計(jì)算單元,可同時(shí)擁有兩條僅通過一套交 換機(jī)構(gòu)的通信連接,可同時(shí)工作也可互為備份。而且如果端口數(shù)量允許,交換機(jī)構(gòu)陣列也可 像前一方案(a) —樣建立鄰近連接(95),這樣對(duì)任何一對(duì)鄰近計(jì)算單元對(duì)存在兩條最多經(jīng)
18過兩套交換機(jī)構(gòu)的通信連接。這就進(jìn)一步提高了通信速度和可靠性,當(dāng)然成本是增加了交 換機(jī)構(gòu)和網(wǎng)絡(luò)接口卡的數(shù)量。為此,如圖9b所示,當(dāng)一套交換機(jī)構(gòu)可連接的計(jì)算單元數(shù)量 較多時(shí),僅將處于區(qū)域邊界上的計(jì)算單元連接到若干套交換機(jī)構(gòu)上,從而大多數(shù)計(jì)算單元 僅需一套交換機(jī)構(gòu)與之連接并僅需一塊網(wǎng)絡(luò)接口卡。而如圖9c所示,如果所有邊界上的計(jì) 算單元都連接到一套交換機(jī)構(gòu)上,則能保證任何對(duì)角線上相鄰的計(jì)算單元也能通過一套交 換機(jī)構(gòu)建立通信連接。 在上述方案中,上層計(jì)算單元也連接到下層計(jì)算單元所連接的交換機(jī)構(gòu)上,而 同時(shí)上層計(jì)算單元也可以按上述方式連接,以此類推形成多層次結(jié)構(gòu)全局網(wǎng)絡(luò)連接,即 樹形網(wǎng)絡(luò),實(shí)現(xiàn)非鄰近通信和指令的傳播。當(dāng)然,上述兩個(gè)方案也可用中國專利申請(qǐng) 200710099551. 8所提出的多層直連網(wǎng)絡(luò)實(shí)現(xiàn),但上述方案在保留了無限的可擴(kuò)展性(即隨 著計(jì)算單元數(shù)的增加,相鄰計(jì)算單元間的通信速度不會(huì)相應(yīng)增長)的同時(shí)提高了系統(tǒng)的可 靠性和容錯(cuò)能力,即當(dāng)一個(gè)計(jì)算單元出現(xiàn)故障時(shí),連接到同一套交換機(jī)構(gòu)的其它計(jì)算單元 可以方便地替代它的作業(yè)任務(wù)。而通過一套交換機(jī)構(gòu)的延遲對(duì)Myrinet和Infini Band來 講是可以接受的。如果采用千兆以太網(wǎng),為了提高傳輸速率和降低延遲,可采用簡(jiǎn)化的消息 傳遞接口,以屏蔽與直連通信無關(guān)或不必要的通信作業(yè)和服務(wù),以最大限度地提高實(shí)際性 能。如采用EMP、 PM/Ethernet、 M-VIA和GAMMA等輕量級(jí)協(xié)議。 除了通信量較大的數(shù)據(jù)網(wǎng)絡(luò),為了提高系統(tǒng)效率、穩(wěn)定性和易用性,最好有獨(dú)立的 管理網(wǎng)用于連接所有的計(jì)算單元、輸入輸出及前后處理單元、管理和登錄單元。由于傳輸量 相對(duì)較小、并且主要在特定時(shí)段進(jìn)行,但涉及比較復(fù)雜的通信模式,故仍可采用普通的千兆 以太網(wǎng)技術(shù)。該網(wǎng)絡(luò)可配置多套交換機(jī)構(gòu),交換機(jī)構(gòu)間實(shí)現(xiàn)多端口高速互聯(lián)。
上述系統(tǒng)的其它設(shè)計(jì),如管理、監(jiān)控系統(tǒng)等基本在已有技術(shù)上建立,不再贅 述。值得指出的是,盡管目前提出的硬件組織方式更系統(tǒng)、完整,但中國發(fā)明專利申請(qǐng) 200510064799. 1,200710099551. 8和200810057259. 4中提出的局部共享內(nèi)存和多層直 連等技術(shù)也可在不同層次上建立相應(yīng)的計(jì)算系統(tǒng)并可運(yùn)行本發(fā)明提出的算法。對(duì)此,為 了更高的效率和可靠性,還可進(jìn)行很多后續(xù)開發(fā)工作,比如將InfiniBand用于與結(jié)點(diǎn)間 的直連以代替現(xiàn)有技術(shù)能實(shí)現(xiàn)的千兆以太網(wǎng),或在中國發(fā)明專利申請(qǐng)200510064799. 1和 200710099551. 8的樹型網(wǎng)絡(luò)設(shè)計(jì)中弓|入同層交換機(jī)間的互聯(lián),從而耦合使用本發(fā)明與這兩 個(gè)發(fā)明,實(shí)現(xiàn)更靈活、可靠的網(wǎng)絡(luò)連接。 以上所述的具體實(shí)施例,對(duì)本發(fā)明的目的、技術(shù)方案和有益效果進(jìn)行了進(jìn)一步詳 細(xì)說明,所應(yīng)理解的是,以上所述只是對(duì)本發(fā)明的權(quán)利要求的若干典型實(shí)現(xiàn)方式的說明,并 不用于限制本發(fā)明。本領(lǐng)域的技術(shù)人員凡在本發(fā)明的精神和原則之內(nèi)提出的不同的其它實(shí) 現(xiàn)方式,如采用不同的通信軟硬件和不同的結(jié)點(diǎn)配置等,以及所做的任何修改、等同替換、 改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
一種基于變分多尺度方法的通用算法,該算法中模擬系統(tǒng)被離散為不同層次上相互關(guān)聯(lián)的模型單元,較低層模型單元間發(fā)生相對(duì)簡(jiǎn)單的近程相互作用,較高層模型單元約束和修正較低層模型單元的運(yùn)動(dòng)。
2. 根據(jù)權(quán)利要求l所述的算法,其特征在于,所述模型單元被一組特定的變量-一狀態(tài) 變量描述, 一個(gè)模型單元的各狀態(tài)變量的一組特定取值該模型單元的一個(gè)狀態(tài),模型單元 狀態(tài)通過模型單元之間的作用而改變。
3. 根據(jù)權(quán)利要求1所述的算法,其特征在于,所述較高層模型單元對(duì)較低層模型單元 的約束為一種極值或變分約束,即所涉及的各較低層模型單元總體上滿足決定于這些模型 單元的狀態(tài)的一個(gè)或多個(gè)變量或函數(shù)的極值或變分條件,而當(dāng)存在多個(gè)極值或變分條件時(shí) 它們互為約束條件。
4. 根據(jù)權(quán)利要求1所述的算法,其特征在于,所述較低層模型單元間的作用具有并行 性,即對(duì)任意兩個(gè)較低層模型單元間的作用的處理同時(shí)進(jìn)行,由被處理模型單元的狀態(tài)和 與之作用的另一模型單元的部分或全部狀態(tài)信息計(jì)算另一模型單元對(duì)被處理模型單元狀 態(tài)變化的貢獻(xiàn)。
5. 根據(jù)權(quán)利要求1所述的算法,其特征在于,所述較低層同層模型單元間的作用具有 可疊加性,即較低層各同層模型單元對(duì)一個(gè)被處理模型單元的狀態(tài)變化的總貢獻(xiàn)是這些模 型單元各自對(duì)被處理模型單元狀態(tài)變化的貢獻(xiàn)的函數(shù)。
6. 根據(jù)權(quán)利要求1所述的算法,其特征在于,所述較低層同層模型單元間的作用具有 近程性,即每個(gè)較低層模型單元僅與不超過特定上限個(gè)數(shù)的同層模型單元相互作用,每個(gè) 模型單元的鄰居模型單元的特定上限個(gè)數(shù)不隨同層模型單元數(shù)量的增長而增長;同時(shí)每個(gè) 模型單元的各鄰居模型單元之間也互為有限重的鄰居模型單元,該重?cái)?shù)的上限不隨同層模 型單元數(shù)的增長而增長。
7. 根據(jù)權(quán)利要求1所述的算法,其特征在于,所述較低層模型單元與較高層模型單元 間的作用為反饋_約束機(jī)制,即與較高層模型單元有直接連接的各較低層模型單元向該較 高層模型單元傳遞部分或全部的狀態(tài)信息;各較低層模型單元對(duì)該較高層模型單元狀態(tài)變 化的總貢獻(xiàn)是這些信息的函數(shù);較高層模型單元狀態(tài)對(duì)各較低層模型單元狀態(tài)變化的貢獻(xiàn) 是較高層模型單元狀態(tài)及其變化量的函數(shù)。
8. 根據(jù)權(quán)利要求1所述的算法,其特征在于,所述模型單元狀態(tài)的變化具有遞進(jìn)性,即 每一個(gè)模型單元的新狀態(tài)決定于各同層模型單元對(duì)該模型單元狀態(tài)變化的總貢獻(xiàn)及該模 型單元的較低層和較高層模型單元對(duì)其狀態(tài)變化的貢獻(xiàn),而各模型單元的新狀態(tài)以同樣的 方式?jīng)Q定該模型單元的更新的狀態(tài)。
9. 一種根據(jù)權(quán)利要求1所述的算法的并行計(jì)算系統(tǒng),該系統(tǒng)包括不同層次上的計(jì)算單 元,它們能與一定范圍內(nèi)的同層鄰近計(jì)算單元或鄰近層的若干對(duì)應(yīng)計(jì)算單元交換或共享信 息,較低層的計(jì)算單元具有較多的數(shù)量和較簡(jiǎn)單的邏輯電路,能進(jìn)行相對(duì)簡(jiǎn)單的計(jì)算;而較 高層的計(jì)算單元具有較少的數(shù)量和較復(fù)雜的邏輯電路,能進(jìn)行較復(fù)雜的計(jì)算。
10. 根據(jù)權(quán)利要求9所述的并行計(jì)算系統(tǒng),其特征在于其組成方式至少包括以下方式 a)該系統(tǒng)由多個(gè)計(jì)算單元群組成,每個(gè)計(jì)算單元群含一套通信交換機(jī)構(gòu)和多個(gè)與之有直接通信連接的計(jì)算單元,所述通信交換機(jī)構(gòu)排成一層或多層的一維或多維陣列,同層的 相鄰交換機(jī)構(gòu)之間建立直接的通信連接。多個(gè)下層的交換機(jī)構(gòu)還與特定的上層交換機(jī)構(gòu)有直接通信連接;b)該系統(tǒng)由一層或多層的一維或多維計(jì)算單元陣列組成,每個(gè)計(jì)算單元與兩個(gè)以上的 交換機(jī)構(gòu)有直接通信連接,而在陣列中相鄰的同層計(jì)算單元間都至少有一條僅通過一臺(tái)交 換機(jī)構(gòu)的間接連接,下層的每個(gè)計(jì)算單元與上一層的一個(gè)特定計(jì)算單元間都至少有一條僅 通過一 臺(tái)交換機(jī)構(gòu)的間接連接。
11. 根據(jù)權(quán)利要求9所述的并行計(jì)算系統(tǒng),其特征在于,所述計(jì)算單元為具有獨(dú)立的運(yùn) 算和通信功能的邏輯結(jié)構(gòu)單元,包括芯片、芯片組、可編程門陣列芯片,板卡和獨(dú)立計(jì)算機(jī) 中的任意一個(gè)或任意多個(gè)的組合;而且這些芯片、芯片組、可編程門陣列板卡和獨(dú)立計(jì)算機(jī) 的下級(jí)結(jié)構(gòu)本身也可采用權(quán)利要求9所述的組織方式。
12. 根據(jù)權(quán)利要求9所述的并行計(jì)算系統(tǒng),其特征在于,所述較高層計(jì)算單元含有少量 能處理各種復(fù)雜算法的通用處理器;而較低層計(jì)算單元含有大量僅適合處理某類問題的專 用處理器,包括單指令多數(shù)據(jù)的流處理器;專用處理器可以不帶有存儲(chǔ)器或共享少量的存 儲(chǔ)器,但能將計(jì)算結(jié)果傳遞到通用處理器;某些中間層計(jì)算單元可以同時(shí)含有上述兩類處 理器。
13. 根據(jù)權(quán)利要求9所述的并行計(jì)算系統(tǒng),其特征在于,所述陣列為可任意擴(kuò)展的陣 列,或?yàn)榘慈魏慰芍貜?fù)的排列方式組成的陣列,至少包括按矩形或長方體、三角形或四面 體、六邊形或十四面體形式形成的陣列,所述陣列的邊緣為開放的,或?yàn)榕c對(duì)應(yīng)邊相連的。
14. 根據(jù)權(quán)利要求9所述的并行計(jì)算系統(tǒng),其特征在于,所述通信連接適用于所述計(jì)算 單元間的任何連接方式,至少包括通信總線、交叉開關(guān)、網(wǎng)卡與網(wǎng)絡(luò)連接線、串口或并口與 串口或并口連接線、USB 口及其連接線。
15. 根據(jù)權(quán)利要求9所述的并行計(jì)算系統(tǒng),其特征在于,所述的信息共享方式適用于所 述計(jì)算單元間的任何信息共享方式,至少包括共享主存、共享顯存、共享緩存或共享寄存器 等方式。
16. 根據(jù)權(quán)利要求9所述的并行計(jì)算系統(tǒng),其特征在于,所述通信交換機(jī)構(gòu)為支持所述 通信連接的任何多路輸入、單路輸出或多路輸入、多路輸出的通信交換機(jī)構(gòu)。
17. 根據(jù)權(quán)利要求9所述的并行計(jì)算系統(tǒng),其特征在于,根據(jù)權(quán)利要求1所述的通用 算法在該系統(tǒng)上執(zhí)行時(shí),該算法中模型單元間的拓?fù)潢P(guān)系與該并行系統(tǒng)計(jì)算單元間的拓?fù)?關(guān)系相對(duì)應(yīng),即一個(gè)或多個(gè)較低層模型單元的狀態(tài)變量保存在一個(gè)較低層的計(jì)算單元中, 具有鄰居關(guān)系的模型單元的狀態(tài)變量也保存在具有鄰居關(guān)系的計(jì)算單元中或在同一個(gè)計(jì) 算單元中;而這些模型單元對(duì)應(yīng)的較高層模型單元的狀態(tài)變量保存在所述較低層計(jì)算單元 對(duì)應(yīng)的較高層計(jì)算單元中;關(guān)于一個(gè)模型單元的狀態(tài)變化的主要計(jì)算在保存其狀態(tài)變量的 計(jì)算單元中進(jìn)行,較下層計(jì)算單元的計(jì)算結(jié)果可直接送入較高層計(jì)算單元中并得到即時(shí)應(yīng) 用。
全文摘要
本發(fā)明涉及高性能計(jì)算機(jī)技術(shù)領(lǐng)域,公開了一種基于變分多尺度方法的計(jì)算軟硬件系統(tǒng)。該系統(tǒng)針對(duì)現(xiàn)實(shí)世界中復(fù)雜系統(tǒng)的多尺度結(jié)構(gòu)和離散本質(zhì),提出了以離散模型單元描述系統(tǒng)底層行為,以變分約束描述大量模型單元群體行為所遵循的穩(wěn)定性條件的計(jì)算模式,從而能夠較單純的底層離散模擬節(jié)省大量計(jì)算量,而較單層次的平均化模擬顯著提高計(jì)算精度。以此設(shè)計(jì)的多層次計(jì)算硬件直接反映了這種計(jì)算模式,采用大量簡(jiǎn)單處理器計(jì)算模型單元間的相互作用,而以復(fù)雜通用處理器計(jì)算作用于大量模型單元的變分約束,從而顯著提高此類問題的解算速度和計(jì)算規(guī)模。
文檔編號(hào)G06F17/50GK101727512SQ200810224328
公開日2010年6月9日 申請(qǐng)日期2008年10月17日 優(yōu)先權(quán)日2008年10月17日
發(fā)明者李靜海, 葛蔚 申請(qǐng)人:中國科學(xué)院過程工程研究所