并行計(jì)算通信庫(kù)測(cè)試方法研究及實(shí)踐.doc_第1頁(yè)
并行計(jì)算通信庫(kù)測(cè)試方法研究及實(shí)踐.doc_第2頁(yè)
并行計(jì)算通信庫(kù)測(cè)試方法研究及實(shí)踐.doc_第3頁(yè)
并行計(jì)算通信庫(kù)測(cè)試方法研究及實(shí)踐.doc_第4頁(yè)
并行計(jì)算通信庫(kù)測(cè)試方法研究及實(shí)踐.doc_第5頁(yè)
全文預(yù)覽已結(jié)束

下載本文檔

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

文檔簡(jiǎn)介

-專(zhuān)業(yè)文檔,值得下載!-專(zhuān)業(yè)文檔,值得珍藏!-并行計(jì)算通信庫(kù)測(cè)試方法研究及實(shí)踐熊玉慶1張?jiān)迫?(中科院計(jì)算所,100080,北京)1(中科院軟件所,100080,北京)21摘要并行計(jì)算通信庫(kù)的測(cè)試在并行計(jì)算系統(tǒng)中起一個(gè)極其重要的作用。一般對(duì)通信庫(kù)的測(cè)試都是通過(guò)設(shè)計(jì)一些測(cè)試程序?qū)?kù)的各個(gè)或幾個(gè)部分分別單獨(dú)隔離測(cè)試。但是許多庫(kù)中的錯(cuò)誤是這種隔離測(cè)試方法測(cè)不出來(lái)的,只有當(dāng)庫(kù)的多個(gè)部分以某種復(fù)雜的,有機(jī)的方式組合運(yùn)行時(shí)才會(huì)暴露出來(lái)。這種復(fù)雜有機(jī)的組合方式,從設(shè)計(jì)庫(kù)的測(cè)試角度很難形成。本文提出二個(gè)新的測(cè)試方法,這二方法是根據(jù)通信庫(kù)結(jié)構(gòu)的分層特性,利用可移植的上層庫(kù)的測(cè)試程序來(lái)測(cè)試下層庫(kù)。上層庫(kù)的測(cè)試程序也可看作是下層庫(kù)的應(yīng)用程序,但與一般的下層庫(kù)應(yīng)用程序不同,它幾乎覆蓋了下層庫(kù)的各個(gè)部分,且有機(jī)地將它們組合起來(lái),運(yùn)行時(shí)形成某種復(fù)雜的形態(tài),而僅用下層庫(kù)的測(cè)試程序往往達(dá)不到這種形態(tài)。這樣逃過(guò)下層庫(kù)測(cè)試程序的錯(cuò)誤就可能暴露出來(lái)。關(guān)鍵詞并行計(jì)算,通信庫(kù),測(cè)試方法,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引言并行計(jì)算通信庫(kù)的測(cè)試對(duì)并行計(jì)算系統(tǒng)至關(guān)重要,因?yàn)橐粋€(gè)正確的通信庫(kù)是并行計(jì)算系統(tǒng)的基礎(chǔ)。對(duì)通信庫(kù)的測(cè)試,一般是對(duì)庫(kù)的各個(gè)或幾個(gè)部分分別隔離測(cè)試12。雖然也有所謂的系統(tǒng)測(cè)試,但也往往只是考慮到有限的方面。然而,庫(kù)中的許多錯(cuò)誤是在多個(gè)成分以某種有機(jī)的方式組合起來(lái)相互作用時(shí)才暴露出來(lái),而人們很難從測(cè)試角度有意識(shí)地構(gòu)造出這種情形。本文根據(jù)通信庫(kù)的結(jié)構(gòu)特性,提出二個(gè)新的測(cè)試方法。一般地,通信庫(kù)結(jié)構(gòu)都是分層的。例如,用于線性代數(shù)計(jì)算的通信庫(kù)BLACS3(BasicLinearAlgebraCommunicationSubprograms)是建立在MPI4和PVM5等通信庫(kù)上的,而MPI的一個(gè)實(shí)現(xiàn)MPICH6又是建1本文完成于中國(guó)科學(xué)院軟件研究所并行軟件研究開(kāi)發(fā)中心,并得到國(guó)家863計(jì)劃資助。-專(zhuān)業(yè)文檔,值得下載!-專(zhuān)業(yè)文檔,值得珍藏!-立在P47上的。這二個(gè)新的測(cè)試方法就是利用某平臺(tái)上正確的上層通信庫(kù)的可移植測(cè)試程序來(lái)測(cè)試另一平臺(tái)上的下層通信庫(kù)。上層通信庫(kù)測(cè)試程序也可看作下層通信庫(kù)的應(yīng)用程序,但是由于上層庫(kù)的實(shí)現(xiàn)一般覆蓋了下層庫(kù)的各個(gè)部分,上層庫(kù)的測(cè)試程序又覆蓋了上層庫(kù)的各個(gè)部分。因而與一般的下層庫(kù)應(yīng)用程序不同,上層庫(kù)的測(cè)試程序也覆蓋了下層庫(kù)的幾乎所有部分,且將它們有機(jī)地組合起來(lái),在運(yùn)行時(shí),它們形成一種對(duì)下層庫(kù)來(lái)說(shuō)極復(fù)雜的情形。這種復(fù)雜的情形從下層通信庫(kù)測(cè)試角度很難人為地構(gòu)造出來(lái)。在這種情形下,許多下層庫(kù)測(cè)試程序不能測(cè)的錯(cuò)誤就可能暴露出來(lái)。本文以成功地在HitachiSR2201和曙光2000上運(yùn)行的,建立在MPI和PVM上的BLACS的測(cè)試程序來(lái)測(cè)試其他并行計(jì)算系統(tǒng)(在本文中我們統(tǒng)稱(chēng)它們?yōu)閄系統(tǒng))上已通過(guò)MPI測(cè)試程序測(cè)試的MPI系統(tǒng)為例,證明本文提出的測(cè)試方法的可行性。2通信庫(kù)測(cè)試新方法原理測(cè)試方法一:設(shè)LC是一個(gè)在平臺(tái)上的要測(cè)試的通信庫(kù),UC是建立在LC上的可移植通信庫(kù)(如圖1)。TEST_UC是UC的一個(gè)測(cè)試程序,在另一平臺(tái)上TEST_UC成功地通過(guò)對(duì)UC的測(cè)試。因而在平臺(tái)上TEST_UC的正確性被確保。為了對(duì)上的LC庫(kù)進(jìn)行測(cè)試,把TEST_UC在上運(yùn)行。由于UC是可移植的,因而如果上的LC是正確的話,TEST_UC應(yīng)該與在上一樣成功通過(guò);若不能,則應(yīng)該可以判定是上的LC或其下層庫(kù)有錯(cuò)誤。圖1通信庫(kù)UC的結(jié)構(gòu)(對(duì)于方法一)測(cè)試方法一只能確定LC或其下層庫(kù)有錯(cuò)誤。如果需要準(zhǔn)確確定錯(cuò)誤位置,則可應(yīng)用下面的測(cè)試方法二。測(cè)試方法二:設(shè)LCa和LCb是二個(gè)在平臺(tái)上的要測(cè)試的通信庫(kù),它們是建立在另一較低層通信庫(kù)LLC上。UC是建立在LCa和LCb上的可移植通信庫(kù)(如圖2)。TEST_UC是UC的一個(gè)測(cè)試程序,在另一平臺(tái)上TEST_UC成功地通過(guò)對(duì)UC的測(cè)試。因而在平臺(tái)上TEST_UC的正確性被確保。為了對(duì)上的LCa和LCb庫(kù)進(jìn)行測(cè)試,把TEST_UC在上運(yùn)行。由于UC是可移植的,因而如果上的LCa和LCb是正確的話,TEST_UC應(yīng)該與在上一樣成功通過(guò);若不能,則若對(duì)建立在LCa上的UC,TEST_UC不能通過(guò)而對(duì)建立在LCb上的UC,TEST_UC能通過(guò),則應(yīng)該可以判定是上的LCa有錯(cuò)誤;若對(duì)建立在LCb上的UC,TEST_UC不能通過(guò)而對(duì)建立在LCa上的UC,TEST_UC能通過(guò),則應(yīng)該可以判定是上的LCb有錯(cuò)誤;若都不能通過(guò),則上LLC有錯(cuò)誤的可能性比LCa和LCb都錯(cuò)的可能性大。UCLC-專(zhuān)業(yè)文檔,值得下載!-專(zhuān)業(yè)文檔,值得珍藏!-UCUC圖2通信庫(kù)UC的結(jié)構(gòu)(對(duì)于方法二)在上述二個(gè)測(cè)試方法中UC的可移植性很關(guān)鍵,否則的話,當(dāng)TEST_UC在上不能通過(guò)時(shí),就不能判定是上的LC(對(duì)方法一)或LCa或LCb或LLC(對(duì)方法二)有錯(cuò)誤。因?yàn)檫@時(shí)候的錯(cuò)誤可能是UC不可移植帶來(lái)的。測(cè)試方法一比測(cè)試方法二簡(jiǎn)單,快捷。但測(cè)試方法二可更準(zhǔn)確地定位錯(cuò)誤。當(dāng)用測(cè)試方法一確定LC或其下層庫(kù)有錯(cuò)誤,但很難確定錯(cuò)誤的準(zhǔn)確位置時(shí),可用測(cè)試方法二。若滿(mǎn)足測(cè)試方法二中的條件,則錯(cuò)誤出在LC下層庫(kù)的可能性很大。這時(shí),可將注意力集中在LC的下層庫(kù)中進(jìn)行排錯(cuò)。3BLACS,BLACS測(cè)試程序及MPICH測(cè)試程序BLACS是一個(gè)面向線性代數(shù)計(jì)算的,可移植的通信庫(kù),它是建立在MPI和PVM等較低層的通信庫(kù)上的。在并行計(jì)算系統(tǒng)X上BLACS的結(jié)構(gòu)如圖3所示.BLACS系統(tǒng)基本上由二部分組成:通信子程序和支撐子程序。通信子程序由點(diǎn)到點(diǎn)通信,廣播通信和組合操作組成。支撐子程序主要由系統(tǒng)初始化,退出系統(tǒng)及邏輯進(jìn)程網(wǎng)格信息獲取組成。建立在MPI和PVM上的BLAC的這些部分幾乎涉及MPI和PVM的各個(gè)部分。圖3通信庫(kù)BLACS在系統(tǒng)X上的結(jié)構(gòu)BLACS測(cè)試程序?qū)LACS的上述各個(gè)部分分別進(jìn)行測(cè)試,重點(diǎn)對(duì)通信子程序,尤其是廣播通信和組合操作測(cè)試較多,對(duì)各種矩陣的形狀,大小,各種數(shù)據(jù)類(lèi)型,各種邏輯進(jìn)程網(wǎng)格形狀,及群通信時(shí)數(shù)據(jù)在進(jìn)程之間的流向等進(jìn)行多種組合測(cè)試。MPICH是MPI的一個(gè)著名實(shí)現(xiàn)1。MPICH測(cè)試程序也是對(duì)MPICH的各個(gè)部分分別進(jìn)UCLCaLCbLLC-專(zhuān)業(yè)文檔,值得下載!-專(zhuān)業(yè)文檔,值得珍藏!-行測(cè)試。這些測(cè)試是由很多小的測(cè)試程序來(lái)執(zhí)行的。它們分成下面幾類(lèi):測(cè)試各種點(diǎn)到點(diǎn)通信子程序;測(cè)試各種群通信子程序;測(cè)試通信上下文(context)操作;測(cè)試環(huán)境子程序;測(cè)試拓?fù)渥映绦?;一些其他的測(cè)試程序。它們進(jìn)行一些所謂的系統(tǒng)測(cè)試,但考慮的情形很簡(jiǎn)單。由此可看出,MPICH的測(cè)試程序并沒(méi)有對(duì)MPICH的各個(gè)部分進(jìn)行復(fù)雜的混合的測(cè)試。事實(shí)上,很多復(fù)雜的情形從測(cè)試程序的設(shè)計(jì)角度,也很難構(gòu)造出來(lái)。BLACS測(cè)試程序雖然是為測(cè)試BLACS而進(jìn)行設(shè)計(jì)的,考慮的情況是有限的。然而它對(duì)于下層的MPI來(lái)說(shuō),卻是一個(gè)極復(fù)雜的應(yīng)用程序。由于BLACS幾乎涉及MPI的各個(gè)部分,而B(niǎo)LACS測(cè)試程序又完全覆蓋了BLACS的所有部分。因而與一般的MPI應(yīng)用程序不同,它幾乎覆蓋了MPI的各個(gè)部分,且將它們有機(jī)地組合在一起,運(yùn)行時(shí)呈現(xiàn)出一個(gè)極其復(fù)雜的狀態(tài),這種狀態(tài)是MPICH測(cè)試程序達(dá)不到的。這樣,逃過(guò)了MPICH測(cè)試程序的錯(cuò)誤可能這時(shí)就暴露出來(lái)了?;谶@一情況利用第2節(jié)的方法,我們用已經(jīng)在曙光2000和HitachiSR2201上順利運(yùn)行了的BLACS測(cè)試程序來(lái)測(cè)試新的并行系統(tǒng)上的MPI實(shí)現(xiàn)。4BLACS測(cè)試程序?qū)系統(tǒng)上的MPI的測(cè)試X系統(tǒng)上的MPI(其實(shí)現(xiàn)是MPICH)已經(jīng)通過(guò)MPI(即MPICH)測(cè)試程序的測(cè)試。但運(yùn)用上述測(cè)試方法及BLACS測(cè)試程序,我們發(fā)現(xiàn)這些系統(tǒng)的MPI的下列問(wèn)題:MPI同步及進(jìn)程掛起問(wèn)題。由于BLACS測(cè)試程序提供了輸入?yún)?shù)的組合測(cè)試(數(shù)據(jù)精度,實(shí)現(xiàn)算法(邏輯拓?fù)洌?,進(jìn)程網(wǎng)格,消息長(zhǎng)度),使得用戶(hù)很容易通過(guò)修改輸入文件參數(shù)改變測(cè)試的組合數(shù)目及測(cè)試模式。改變了原有MPI軟件包中同一種通信模式多次重復(fù)測(cè)試的做法使得整個(gè)測(cè)試具有動(dòng)態(tài)的效果。由于有些系統(tǒng)在實(shí)現(xiàn)MPI的同步時(shí),為了提高同步速度,采用硬件實(shí)現(xiàn)所有進(jìn)程的同步。但未考慮到只有部分進(jìn)程參與同步時(shí)的情況。這導(dǎo)致部分進(jìn)程同步時(shí)的掛起現(xiàn)象。這種情況在原有MPI軟件包單一重復(fù)的測(cè)試情況下,是不可能查出來(lái)的。而運(yùn)用前述的測(cè)試方法一和BLACS測(cè)試程序,通過(guò)不斷改變參與同步的進(jìn)程數(shù)目,使該問(wèn)題暴露出來(lái)。消息處理器與MPI通信buffer之間的Cache一致性問(wèn)題。MPI軟件包在進(jìn)行正確性測(cè)試時(shí),只選取小規(guī)模問(wèn)題進(jìn)行測(cè)試,這就使得系統(tǒng)的某些關(guān)鍵參數(shù)不能受到充分的測(cè)試。而這些關(guān)鍵參數(shù)正是消息系統(tǒng)設(shè)計(jì)時(shí)的分支點(diǎn)(重新判斷分包及buffer重用等操作),極易發(fā)生意想不到的問(wèn)題。由于BLACS測(cè)試程序可以很容易地產(chǎn)生大量不同類(lèi)型和長(zhǎng)度的消息傳遞測(cè)試。我們運(yùn)用測(cè)試方法一和BLACS測(cè)試程序,在消息量大,buffer出現(xiàn)重用時(shí),發(fā)現(xiàn)了有的系統(tǒng)消息處理器與MPI通信buffer之間的Cache一致性問(wèn)題。更底層庫(kù)中出現(xiàn)的問(wèn)題:利用方法一,找到MPI的上述Cache一致性問(wèn)題后,我們沒(méi)有在MPI上發(fā)現(xiàn)問(wèn)題所在。于是又利用測(cè)試方法二。由于BLACS是建立在MPI和PVM等底層通信庫(kù)上的,而且PVM和MPI版的BLACS測(cè)試程序都在HitachiSR2201和曙光20

溫馨提示

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

評(píng)論

0/150

提交評(píng)論