一種多網(wǎng)格并行計算的負(fù)載自動重分區(qū)方法_第1頁
一種多網(wǎng)格并行計算的負(fù)載自動重分區(qū)方法_第2頁
一種多網(wǎng)格并行計算的負(fù)載自動重分區(qū)方法_第3頁
一種多網(wǎng)格并行計算的負(fù)載自動重分區(qū)方法_第4頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

一種多網(wǎng)格并行計算的負(fù)載自動重分區(qū)方法

20年前,計算機技術(shù)取得了快速發(fā)展,但計算水流(cpd)的發(fā)展仍然滿足了需求。于是,既具有強大計算能力又具有低得多的計算費用的網(wǎng)絡(luò)并行計算技術(shù)得到了快速發(fā)展。早期的并行計算是在改變算法的基礎(chǔ)上進行的,這種并行算法耗費了CFD工作人員大量的時間,而且由于早期的并行計算機非常昂貴,因此限制了并行計算的發(fā)展。目前,隨著網(wǎng)絡(luò)技術(shù)的發(fā)展,才使得基于網(wǎng)絡(luò)的并行計算逐漸走進了普通計算實驗室。網(wǎng)絡(luò)并行與大型并行計算機相比雖然在傳輸速度上損失了性能,但由于網(wǎng)絡(luò)系統(tǒng)的建立在價格上的低廉反而提高了系統(tǒng)的性價比。目前由于PVM、MPI等工具只是提供了一套C語言、Fortran語言等的并行編程環(huán)境,在使用上還不能做到自動并行、自動負(fù)載分配等,這樣也限制了網(wǎng)絡(luò)并行在計算流體力學(xué)領(lǐng)域的發(fā)展。使用PVM、MPI等網(wǎng)絡(luò)并行環(huán)境進行并行計算的關(guān)鍵在于負(fù)載分配及數(shù)據(jù)傳輸量,如果負(fù)載分配合理,網(wǎng)絡(luò)傳輸量較小,則網(wǎng)絡(luò)并行的效率會很高,否則就達不到理想的并行效率。目前,國外有一些軟件包如LSF等,可以做到自動動態(tài)負(fù)載分配,但由于這些軟件非常昂貴,因此還不能得到廣泛的應(yīng)用。本文將CFD中的多塊分區(qū)計算的思想與MPI網(wǎng)絡(luò)并行計算環(huán)境相結(jié)合,對某戰(zhàn)斗機繞流進行了并行計算研究。計算將整個流場劃分為13個區(qū)域,生成了13塊網(wǎng)格。由于網(wǎng)絡(luò)塊大小不一,給并行計算中的負(fù)載分配帶來了一定的困難。本文提出了一種自動負(fù)載預(yù)分配的方法,可以根據(jù)處理器的個數(shù)自動對原網(wǎng)格塊重新分區(qū),得到一種負(fù)載均衡的分配方案。計算表明,該方法切實可行,可以較好地提高并行效率。1流場計算方法1.1控制方程及數(shù)值計算方法流場計算的控制方程為三維非定常Euler方程,其積分形式如下?W?t+?Fx?x+?Fy?y+?Fz?z=0?W?t+?Fx?x+?Fy?y+?Fz?z=0其中Fx=????????ρuρu2+pρuvρuwρuH?????????Fy=????????ρvρuvρv2+pρvwρvH?????????Fz=???????????ρwρuwρvwρw2+pρwH???????????Fx=[ρuρu2+pρuvρuwρuΗ]?Fy=[ρvρuvρv2+pρvwρvΗ]?Fz=[ρwρuwρvwρw2+pρwΗ]該方程求解采用中心有限體積格式進行空間離散,時間推進采用五步Runge-Kutta格式。另外還采用了當(dāng)?shù)貢r間步長、焓阻尼、隱式殘值光順等加速收斂技術(shù)。詳細(xì)的求解過程、公式推導(dǎo)及符號含義可參閱文獻。1.2虛擬網(wǎng)格三維多塊網(wǎng)格流場計算程序的基本思想:將流場分為多個計算區(qū)域后,在每一個區(qū)域內(nèi)獨立生成網(wǎng)格,同時保證各塊網(wǎng)格在公共邊界上的網(wǎng)格重合,而在求解過程中。在每一區(qū)域向邊界外延拓兩層虛擬網(wǎng)格(doublehallo)——這樣以保證在網(wǎng)格邊界上四階人工粘性項連續(xù),多塊網(wǎng)格之間的信息通過虛擬網(wǎng)格來傳遞,在適時更新了虛擬網(wǎng)格上的信息后,每塊網(wǎng)格可以獨立求解。多塊網(wǎng)格流場計算程序的并行化正是基于這一特點而實現(xiàn)的:在讀入流場計算參數(shù)后,通過負(fù)載均衡的原則將整個流場計算分配給不同的處理器,由不同的處理器負(fù)責(zé)自己的流場計算,并在適當(dāng)?shù)臅r候與相關(guān)處理器互相通信,傳遞虛擬網(wǎng)格上的信息,直至最后流場收斂。1.3熔噴道接接網(wǎng)格本文采用了某戰(zhàn)斗機的外形(圖1)。主要部件包含融合體機身、機翼與機翼邊條、雙立尾、平尾、帶堵錐的進氣道,腹部的側(cè)力板等部件。外形比較復(fù)雜,因而采用了多塊分區(qū)技術(shù)生成了搭接網(wǎng)格。對于一半構(gòu)型,計算區(qū)域劃分為13個區(qū),對應(yīng)13塊網(wǎng)格,每一塊網(wǎng)格的大小見表1。總的網(wǎng)格單元數(shù)為698592。表中Imax,Jmax,Kmax分別表示每塊網(wǎng)格三個方向的最大單元數(shù),比率表示單塊網(wǎng)格單元數(shù)占總單元數(shù)的百分比。2網(wǎng)格自動重分區(qū)負(fù)載分配是多塊并行計算中的關(guān)鍵,在處理器個數(shù)多于網(wǎng)格塊數(shù)時,每一個處理器分配一塊網(wǎng)格,是一種比較簡單的分配方案,但有可能是并行效率最低的一種方案。這是因為在網(wǎng)格生成時,往往每塊網(wǎng)格的單元數(shù)并不相同,有時甚至相差很大,因此這種方案就會造成負(fù)載不均衡而影響并行計算的效率。為了解決這一問題,本文提出了兩種方法,一種是自動負(fù)載分配,另一種是網(wǎng)格自動重分區(qū)。這兩種方法往往需要結(jié)合使用,才能得到理想的并行效率。自動負(fù)載分配是將網(wǎng)格塊數(shù)及其大小讀入后,根據(jù)處理器的個數(shù)(一般小于網(wǎng)格塊數(shù),否則一個處理器分配一塊網(wǎng)格),對網(wǎng)格進行重新組合,以決定哪些塊可以在同一個CPU上處理,這種分配方案如果在網(wǎng)格塊大小相差很大時,同樣會造成負(fù)載的不均衡。因此本文提出了自動重分區(qū)的概念。自動重分區(qū)是將不利于負(fù)載自動分配的網(wǎng)格塊進行重新分割,以達到負(fù)載均衡的目的。其過程是讀入網(wǎng)格塊數(shù)及其大小后,根據(jù)處理器的個數(shù),決定每個處理器上的負(fù)載大小,然后根據(jù)此值,將大于該值的網(wǎng)格塊進行重分割,分割后組合成了新的網(wǎng)格塊,再進行自動負(fù)載分配,這種方法可以較好地將負(fù)載分配到每個處理器上。2.1u3000計算機本文使用的計算環(huán)境為8臺處理器為PIII600、內(nèi)存為256MB的微機,通過100MB以太網(wǎng)互聯(lián)。系統(tǒng)使用LINUX操作系統(tǒng),并行環(huán)境使用MPI,并使用FORTRAN語言編程。2.2網(wǎng)格重分區(qū)及負(fù)載分配本文進行了兩種負(fù)載分配方案,一種是對原始的13塊網(wǎng)格分別在2,3,4,8個CPU上進行了自動負(fù)載分配,分配結(jié)果見表2。從表中可以看出,利用2個或3個處理器時,負(fù)載均衡比較好,而使用4個或8個處理器時,由于有一個27.7%的負(fù)載,引起整個負(fù)載不平衡。針對這種情況,本文進行了第二種分配方案,即首先進行網(wǎng)格自動重分區(qū),然后再進行自動負(fù)載分配。網(wǎng)格重分區(qū)后的結(jié)果見表3,負(fù)載分配后的結(jié)果見表4。從表4中可以看出,負(fù)載在使用第二種方法分配以后,基本做到了均勻分配,因此可以得到較好的并行效率。3計算與并行效率3.1不同迎角時的阻力比較圖2給出了M=0.6,迎角從0°到20°時的某戰(zhàn)斗機全機氣動特性的計算結(jié)果與實驗結(jié)果的比較。從圖上可以看出,計算得到的升力、力矩在迎角小于12°時與實驗結(jié)果非常吻合,但在較大迎角時,二者有所偏差,而阻力計算在較小迎角時有所差別,而在較大迎角時,二者比較一致。究其原因,在小迎角時,飛機沒有出現(xiàn)超聲速區(qū)或出現(xiàn)超聲速區(qū)但當(dāng)?shù)伛R赫數(shù)較小,激波強度較弱,所以采用無粘計算得到的升力系數(shù)和力矩系數(shù)與實驗一致,但此時,阻力中粘性阻力所占的成份較大,因而計算得到的阻力系數(shù)偏低;當(dāng)迎角較大時,飛機表面波前馬赫數(shù)較大,激波強度較大,而且存在激波-附面層干擾,無粘流動計算得到的激波位置有所偏差,因而計算得到的升力和力矩有一定誤差,但是較大迎角時,阻力中壓差阻力占主要成分,因而計算得到的阻力系數(shù)與實驗比較接近。3.2求解器求解所需時間tp的計算并行計算的效率一般用加速比和并行效率來衡量。他們的定義為Sp=t1tp?Ep=SppSp=t1tp?Ep=Spp其中,Sp為并行加速比,Ep為并行效率,p為并行計算所用的處理器個數(shù),t1為單處理器求解所用的時間,tp為p個處理器并行所用的時間。為便于分析并行計算的效率,在對流場進行計算時,只進行了200步Runge-Kutta迭代(計算馬赫數(shù)0.6,迎角4°)。計算結(jié)果見下表由表5可見。在第一種方案中,使用2個和3個CPU并行計算時,并行效率較高,而使用4個和8個CPU時效率較低,其原因主要是在2個CPU和3個CPU時,負(fù)載分配比較均衡,而分配到4個和8個CPU時,由于有一個較大的負(fù)載,使得其他處理器有一定的空置時間,從而使得效率降低,由于效率與處理器個數(shù)有關(guān),因此使用8個(或以上)CPU在這種情況下毫無意義。在第二

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論