




全文預(yù)覽已結(jié)束
付費下載
下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
-專業(yè)文檔,值得下載!-專業(yè)文檔,值得珍藏!-并行計算通信庫測試方法研究及實踐熊玉慶1張云泉2(中科院計算所,100080,北京)1(中科院軟件所,100080,北京)21摘要并行計算通信庫的測試在并行計算系統(tǒng)中起一個極其重要的作用。一般對通信庫的測試都是通過設(shè)計一些測試程序?qū)斓母鱾€或幾個部分分別單獨隔離測試。但是許多庫中的錯誤是這種隔離測試方法測不出來的,只有當(dāng)庫的多個部分以某種復(fù)雜的,有機的方式組合運行時才會暴露出來。這種復(fù)雜有機的組合方式,從設(shè)計庫的測試角度很難形成。本文提出二個新的測試方法,這二方法是根據(jù)通信庫結(jié)構(gòu)的分層特性,利用可移植的上層庫的測試程序來測試下層庫。上層庫的測試程序也可看作是下層庫的應(yīng)用程序,但與一般的下層庫應(yīng)用程序不同,它幾乎覆蓋了下層庫的各個部分,且有機地將它們組合起來,運行時形成某種復(fù)雜的形態(tài),而僅用下層庫的測試程序往往達不到這種形態(tài)。這樣逃過下層庫測試程序的錯誤就可能暴露出來。關(guān)鍵詞并行計算,通信庫,測試方法,MPI,BLACSStudyandPracticeofTestingApproachesofCommunicationLibrariesforParallelComputingXiongYuqing1ZhangYunquan2(TheinstituteofComputingTechnology,ChineseAcademyofSciences,100080,Beijing)1(TheinstituteofSoftware,ChineseAcademyofSciences,100080,Beijing)2AbstractTestingofcommunicationlibrariesforparallelcomputinghasanimportantroleinparallelcomputingsystems.Ingeneral,testingofcommunicationlibrariesisdonebysometestersdesignedtotesteveryorseveralpartsofthelibrariesseparately.However,manyerrorsoflibrariesnottestedbytheseparatemethodscanbeexposedwhenmanypartsoflibrariesarerunningbycombinationofthemintermofakindofcomplicatedandorganicways.Butitisratherdifficultthatthecomplicatedandorganiccombinationsresultfromthedesignoflibrarytestersthemselves.Thispaperproposestwonewtestingapproaches,whicharebasedonthefeatureoflayeredlibraryarchitecturesandtestslowerlibrariesbyportabletestersofupperlibraries.Thetestersofupperlibrariescanalsoberegardedasapplicationprogramsoflowerlibraries,buttheyaredifferentfromgeneralapplicationprogramsoflowerlibraries.Theyalmostcoververypartsoflowerlibraries,combinethemorganically,andformacomplicatedsituationinruntime,whichcannotbeeasilyobtainedonlybytestersoflowerlibraries.Inthiscase,theerrorsmaybeexposedwhichcanescapefromtestersoflowerlibraries.Keywords:parallelcomputing,communicationlibrary,testingapproach,MPI,BLACS1引言并行計算通信庫的測試對并行計算系統(tǒng)至關(guān)重要,因為一個正確的通信庫是并行計算系統(tǒng)的基礎(chǔ)。對通信庫的測試,一般是對庫的各個或幾個部分分別隔離測試12。雖然也有所謂的系統(tǒng)測試,但也往往只是考慮到有限的方面。然而,庫中的許多錯誤是在多個成分以某種有機的方式組合起來相互作用時才暴露出來,而人們很難從測試角度有意識地構(gòu)造出這種情形。本文根據(jù)通信庫的結(jié)構(gòu)特性,提出二個新的測試方法。一般地,通信庫結(jié)構(gòu)都是分層的。例如,用于線性代數(shù)計算的通信庫BLACS3(BasicLinearAlgebraCommunicationSubprograms)是建立在MPI4和PVM5等通信庫上的,而MPI的一個實現(xiàn)MPICH6又是建1本文完成于中國科學(xué)院軟件研究所并行軟件研究開發(fā)中心,并得到國家863計劃資助。-專業(yè)文檔,值得下載!-專業(yè)文檔,值得珍藏!-立在P47上的。這二個新的測試方法就是利用某平臺上正確的上層通信庫的可移植測試程序來測試另一平臺上的下層通信庫。上層通信庫測試程序也可看作下層通信庫的應(yīng)用程序,但是由于上層庫的實現(xiàn)一般覆蓋了下層庫的各個部分,上層庫的測試程序又覆蓋了上層庫的各個部分。因而與一般的下層庫應(yīng)用程序不同,上層庫的測試程序也覆蓋了下層庫的幾乎所有部分,且將它們有機地組合起來,在運行時,它們形成一種對下層庫來說極復(fù)雜的情形。這種復(fù)雜的情形從下層通信庫測試角度很難人為地構(gòu)造出來。在這種情形下,許多下層庫測試程序不能測的錯誤就可能暴露出來。本文以成功地在HitachiSR2201和曙光2000上運行的,建立在MPI和PVM上的BLACS的測試程序來測試其他并行計算系統(tǒng)(在本文中我們統(tǒng)稱它們?yōu)閄系統(tǒng))上已通過MPI測試程序測試的MPI系統(tǒng)為例,證明本文提出的測試方法的可行性。2通信庫測試新方法原理測試方法一:設(shè)LC是一個在平臺上的要測試的通信庫,UC是建立在LC上的可移植通信庫(如圖1)。TEST_UC是UC的一個測試程序,在另一平臺上TEST_UC成功地通過對UC的測試。因而在平臺上TEST_UC的正確性被確保。為了對上的LC庫進行測試,把TEST_UC在上運行。由于UC是可移植的,因而如果上的LC是正確的話,TEST_UC應(yīng)該與在上一樣成功通過;若不能,則應(yīng)該可以判定是上的LC或其下層庫有錯誤。圖1通信庫UC的結(jié)構(gòu)(對于方法一)測試方法一只能確定LC或其下層庫有錯誤。如果需要準(zhǔn)確確定錯誤位置,則可應(yīng)用下面的測試方法二。測試方法二:設(shè)LCa和LCb是二個在平臺上的要測試的通信庫,它們是建立在另一較低層通信庫LLC上。UC是建立在LCa和LCb上的可移植通信庫(如圖2)。TEST_UC是UC的一個測試程序,在另一平臺上TEST_UC成功地通過對UC的測試。因而在平臺上TEST_UC的正確性被確保。為了對上的LCa和LCb庫進行測試,把TEST_UC在上運行。由于UC是可移植的,因而如果上的LCa和LCb是正確的話,TEST_UC應(yīng)該與在上一樣成功通過;若不能,則若對建立在LCa上的UC,TEST_UC不能通過而對建立在LCb上的UC,TEST_UC能通過,則應(yīng)該可以判定是上的LCa有錯誤;若對建立在LCb上的UC,TEST_UC不能通過而對建立在LCa上的UC,TEST_UC能通過,則應(yīng)該可以判定是上的LCb有錯誤;若都不能通過,則上LLC有錯誤的可能性比LCa和LCb都錯的可能性大。UCLC-專業(yè)文檔,值得下載!-專業(yè)文檔,值得珍藏!-UCUC圖2通信庫UC的結(jié)構(gòu)(對于方法二)在上述二個測試方法中UC的可移植性很關(guān)鍵,否則的話,當(dāng)TEST_UC在上不能通過時,就不能判定是上的LC(對方法一)或LCa或LCb或LLC(對方法二)有錯誤。因為這時候的錯誤可能是UC不可移植帶來的。測試方法一比測試方法二簡單,快捷。但測試方法二可更準(zhǔn)確地定位錯誤。當(dāng)用測試方法一確定LC或其下層庫有錯誤,但很難確定錯誤的準(zhǔn)確位置時,可用測試方法二。若滿足測試方法二中的條件,則錯誤出在LC下層庫的可能性很大。這時,可將注意力集中在LC的下層庫中進行排錯。3BLACS,BLACS測試程序及MPICH測試程序BLACS是一個面向線性代數(shù)計算的,可移植的通信庫,它是建立在MPI和PVM等較低層的通信庫上的。在并行計算系統(tǒng)X上BLACS的結(jié)構(gòu)如圖3所示.BLACS系統(tǒng)基本上由二部分組成:通信子程序和支撐子程序。通信子程序由點到點通信,廣播通信和組合操作組成。支撐子程序主要由系統(tǒng)初始化,退出系統(tǒng)及邏輯進程網(wǎng)格信息獲取組成。建立在MPI和PVM上的BLAC的這些部分幾乎涉及MPI和PVM的各個部分。圖3通信庫BLACS在系統(tǒng)X上的結(jié)構(gòu)BLACS測試程序?qū)LACS的上述各個部分分別進行測試,重點對通信子程序,尤其是廣播通信和組合操作測試較多,對各種矩陣的形狀,大小,各種數(shù)據(jù)類型,各種邏輯進程網(wǎng)格形狀,及群通信時數(shù)據(jù)在進程之間的流向等進行多種組合測試。MPICH是MPI的一個著名實現(xiàn)1。MPICH測試程序也是對MPICH的各個部分分別進UCLCaLCbLLC-專業(yè)文檔,值得下載!-專業(yè)文檔,值得珍藏!-行測試。這些測試是由很多小的測試程序來執(zhí)行的。它們分成下面幾類:測試各種點到點通信子程序;測試各種群通信子程序;測試通信上下文(context)操作;測試環(huán)境子程序;測試拓撲子程序;一些其他的測試程序。它們進行一些所謂的系統(tǒng)測試,但考慮的情形很簡單。由此可看出,MPICH的測試程序并沒有對MPICH的各個部分進行復(fù)雜的混合的測試。事實上,很多復(fù)雜的情形從測試程序的設(shè)計角度,也很難構(gòu)造出來。BLACS測試程序雖然是為測試BLACS而進行設(shè)計的,考慮的情況是有限的。然而它對于下層的MPI來說,卻是一個極復(fù)雜的應(yīng)用程序。由于BLACS幾乎涉及MPI的各個部分,而BLACS測試程序又完全覆蓋了BLACS的所有部分。因而與一般的MPI應(yīng)用程序不同,它幾乎覆蓋了MPI的各個部分,且將它們有機地組合在一起,運行時呈現(xiàn)出一個極其復(fù)雜的狀態(tài),這種狀態(tài)是MPICH測試程序達不到的。這樣,逃過了MPICH測試程序的錯誤可能這時就暴露出來了?;谶@一情況利用第2節(jié)的方法,我們用已經(jīng)在曙光2000和HitachiSR2201上順利運行了的BLACS測試程序來測試新的并行系統(tǒng)上的MPI實現(xiàn)。4BLACS測試程序?qū)系統(tǒng)上的MPI的測試X系統(tǒng)上的MPI(其實現(xiàn)是MPICH)已經(jīng)通過MPI(即MPICH)測試程序的測試。但運用上述測試方法及BLACS測試程序,我們發(fā)現(xiàn)這些系統(tǒng)的MPI的下列問題:MPI同步及進程掛起問題。由于BLACS測試程序提供了輸入?yún)?shù)的組合測試(數(shù)據(jù)精度,實現(xiàn)算法(邏輯拓撲),進程網(wǎng)格,消息長度),使得用戶很容易通過修改輸入文件參數(shù)改變測試的組合數(shù)目及測試模式。改變了原有MPI軟件包中同一種通信模式多次重復(fù)測試的做法使得整個測試具有動態(tài)的效果。由于有些系統(tǒng)在實現(xiàn)MPI的同步時,為了提高同步速度,采用硬件實現(xiàn)所有進程的同步。但未考慮到只有部分進程參與同步時的情況。這導(dǎo)致部分進程同步時的掛起現(xiàn)象。這種情況在原有MPI軟件包單一重復(fù)的測試情況下,是不可能查出來的。而運用前述的測試方法一和BLACS測試程序,通過不斷改變參與同步的進程數(shù)目,使該問題暴露出來。消息處理器與MPI通信buffer之間的Cache一致性問題。MPI軟件包在進行正確性測試時,只選取小規(guī)模問題進行測試,這就使得系統(tǒng)的某些關(guān)鍵參數(shù)不能受到充分的測試。而這些關(guān)鍵參數(shù)正是消息系統(tǒng)設(shè)計時的分支點(重新判斷分包及buffer重用等操作),極易發(fā)生意想不到的問題。由于BLACS測試程序可以很容易地產(chǎn)生大量不同類型和長度的消息傳遞測試。我們運用測試方法一和BLACS測試程序,在消息量大,buffer出現(xiàn)重用時,發(fā)現(xiàn)了有的系統(tǒng)消息處理器與MPI通信buffer之間的Cache一致性問題。更底層庫中出現(xiàn)的問題:利用方法一,找到MPI的上述Cache一致性問題后,我們沒有在MPI上發(fā)現(xiàn)問題所在。于是又利用測試方法二。由于BLACS是建立在MPI和PVM等底層通信庫上的,而且PVM和MPI版的BLACS測試程序都在HitachiSR2201和曙光20
溫馨提示
- 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)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 藥品研發(fā)分工管理制度
- 藥品采購配送管理制度
- 藥店企業(yè)健康管理制度
- 藥店收費票據(jù)管理制度
- 薪酬外包服務(wù)管理制度
- 設(shè)備出口資料管理制度
- 設(shè)備定期校驗管理制度
- 設(shè)備施工成本管理制度
- 設(shè)備班組安全管理制度
- 設(shè)備自主保全管理制度
- 2025-2030中國雷達告警接收機行業(yè)市場發(fā)展趨勢與前景展望戰(zhàn)略研究報告
- 一例高血壓合并糖尿病患者的個案護理課件
- 2025年中考地理務(wù)必掌握的答題思路與模板
- 臨時占地免責(zé)協(xié)議書
- 工會法律知識培訓(xùn)課件
- 檔案管理員實操能力考試題試題及答案
- 供應(yīng)鏈風(fēng)險管理知識點及試題及答案
- 隱患排查五定制度
- BRCGS全球標(biāo)準(zhǔn)食品安全第9版標(biāo)準(zhǔn)要求
- 完整版高中古詩文必背72篇【原文+注音+翻譯】
- 北京市初中《體育與健康知識》學(xué)業(yè)水平考試復(fù)習(xí)題庫及答案
評論
0/150
提交評論