網(wǎng)絡(luò)并行計(jì)算在多層快速多極子法中的應(yīng)用
3 MPI軟件包及網(wǎng)絡(luò)并行計(jì)算技術(shù)
MPI(Message Passing Interface)是消息傳遞并行程序設(shè)計(jì)標(biāo)準(zhǔn)之一。指定該標(biāo)準(zhǔn)的主要目的是為了提高并行程序的可移植性和使用的方便性。有了標(biāo)準(zhǔn),并行計(jì)算環(huán)境下的應(yīng)用軟件庫(kù)以及軟件工具就可以透明的移植。各個(gè)廠商可以依據(jù)標(biāo)準(zhǔn)提供獨(dú)具特色和優(yōu)勢(shì)的軟件實(shí)現(xiàn)和硬件支持,從而提高并行處理的能力。
我們選用國(guó)內(nèi)外較流行的MPICH2版本與Compaq Visual FORTRAN 66相結(jié)合進(jìn)行并行程序設(shè)計(jì)。MPICH2具有通用性強(qiáng)、系統(tǒng)規(guī)模小、成熟度高、可以免費(fèi)獲得等優(yōu)點(diǎn),非常適合數(shù)值計(jì)算。
使用主從結(jié)構(gòu)模式實(shí)現(xiàn)并行MLFMA,主機(jī)主要功能為初始化、任務(wù)的管理分配和最終結(jié)果的輸出,不參與具體計(jì)算;中間計(jì)算由從機(jī)負(fù)責(zé)。
并行算法可以用很多標(biāo)準(zhǔn)來(lái)評(píng)價(jià),如加速比和并行效率[7,8]。
加速比定義為
并行效率定義為
搭建高性能高效率的并行計(jì)算機(jī)網(wǎng)絡(luò)平臺(tái),計(jì)算機(jī)主要配置為Pentium IV雙核1.86GHz CPU,2GMB內(nèi)存,Microsoft Windows XP操作系統(tǒng),千兆以太網(wǎng)交換機(jī)。我們開發(fā)的并行多層快速多極子程序,用9臺(tái)計(jì)算機(jī)參加并行計(jì)算,其中1臺(tái)為主機(jī),參加實(shí)際計(jì)算的為8臺(tái)從機(jī)。
4 數(shù)值結(jié)果
算例一:入射波頻率為1.6GHz,金屬球直徑17.067λ,未知量數(shù)目為172,680,計(jì)算出其雙站RCS曲線,見圖1。為了使曲線簡(jiǎn)潔明了、易于辨認(rèn),僅給出0°~30°部分。計(jì)算結(jié)果與Mie解吻合較好。由表Ⅱ中數(shù)據(jù)算得并行加速比為7.78,并行效率為97%。
算例二:入射波頻率為1.6GHZ,金屬球直徑85.333λ,未知量數(shù)目為2,402,328,計(jì)算出其雙站RCS曲線,見圖2。為了使曲線簡(jiǎn)潔明了、易于辨認(rèn),僅給出0°~30°部分。計(jì)算結(jié)果與Mie解吻合較好。每臺(tái)從機(jī)內(nèi)存消耗為1.6GB。
表2 串行、并行程序單機(jī)內(nèi)存消耗及時(shí)間比較
串行程序 | 并行程序 | |
單機(jī)消耗內(nèi)存 | 534.74MB | 71.56MB |
程序總耗時(shí) | 1028.82秒 | 132.26秒 |
圖1 (a) φ=0°時(shí)直徑17.067λ金屬球雙站RCS曲線
圖1 (b) φ=90°時(shí)直徑17.067λ金屬球雙站RCS曲線
圖2 (a) φ=0°時(shí)直徑85.333λ金屬球雙站RCS曲線
圖2 (b) φ=90°時(shí)直徑85.333λ金屬球雙站RCS曲線
5 結(jié)論
本文對(duì)網(wǎng)絡(luò)并行計(jì)算在多層快速多極子法中的應(yīng)用作了探求,計(jì)算了含240萬(wàn)未知量金屬球的雙站RCS,初步驗(yàn)證了并行求解大未知量問(wèn)題的可行性與高效性。增多參與計(jì)算的從機(jī)數(shù)目,優(yōu)化并行MLFMA,則能夠計(jì)算更大規(guī)模的問(wèn)題,這也是以后可以改進(jìn)的方面。
評(píng)論