欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

使用集體操作建模的消息傳遞接口調(diào)諧的制作方法

文檔序號:6485466閱讀:309來源:國知局
使用集體操作建模的消息傳遞接口調(diào)諧的制作方法
【專利摘要】公開了自動調(diào)諧通信協(xié)議的方法、機(jī)器可讀介質(zhì)和并行計(jì)算系統(tǒng)的說明性實(shí)施例。在一些實(shí)施例中,方法可包含:選擇由并行計(jì)算系統(tǒng)的消息傳遞接口(MPI)實(shí)現(xiàn)的集體操作,其中MPI配置成使用多個(gè)算法中的至少一個(gè)算法實(shí)現(xiàn)集體操作;將多個(gè)算法中的每個(gè)算法建模為對應(yīng)多個(gè)點(diǎn)對點(diǎn)操作;使用其對應(yīng)多個(gè)點(diǎn)對點(diǎn)操作確定多個(gè)算法中的每個(gè)算法的傳輸速率;從多個(gè)算法中選擇一個(gè)或多個(gè)算法,一個(gè)或多個(gè)選擇的算法比一個(gè)或多個(gè)未選擇的算法具有更高的傳輸速率;以及用多個(gè)配置參數(shù)測試一個(gè)或多個(gè)選擇的算法的性能以確定用于實(shí)現(xiàn)集體操作的至少一個(gè)優(yōu)化算法。
【專利說明】使用集體操作建模的消息傳遞接口調(diào)諧
【背景技術(shù)】
[0001]并行計(jì)算系統(tǒng)包括多個(gè)節(jié)點(diǎn)。比如,并行計(jì)算系統(tǒng)可包含多個(gè)處理器和/或多個(gè)處理器核。并行計(jì)算系統(tǒng)的每個(gè)節(jié)點(diǎn)能夠獨(dú)立于并行計(jì)算系統(tǒng)的其它節(jié)點(diǎn)而執(zhí)行數(shù)據(jù)計(jì)算。對于并行計(jì)算系統(tǒng)所寫的應(yīng)用通過將它們的工作負(fù)荷分布在多個(gè)節(jié)點(diǎn)上來利用這種并行性。并行計(jì)算系統(tǒng)的每個(gè)節(jié)點(diǎn)都可獨(dú)立執(zhí)行一個(gè)或多個(gè)過程(每個(gè)過程是運(yùn)行在并行計(jì)算系統(tǒng)上的更大應(yīng)用的一部分)。在此類并行計(jì)算系統(tǒng)中,過程與其它過程通信以共享數(shù)據(jù)。并行計(jì)算系統(tǒng)通常使用通信協(xié)議實(shí)現(xiàn)此數(shù)據(jù)共享。
[0002]消息傳遞接口(MPI)是由許多并行計(jì)算系統(tǒng)使用的語言獨(dú)立的通信協(xié)議。MPI可用任何數(shù)量的編程語言實(shí)現(xiàn)。MPI提供了過程集合之間的虛擬拓?fù)洹⑼胶屯ㄐ殴δ苄?。除此之外還有其它操作,MPI通常支持過程之間的點(diǎn)對點(diǎn)和集體通信。點(diǎn)對點(diǎn)操作涉及兩個(gè)過程之間的數(shù)據(jù)通信。集體操作涉及過程組(其可包含運(yùn)行在并行計(jì)算系統(tǒng)上的所有過程或過程的應(yīng)用定義的子集)中所有過程之間的數(shù)據(jù)通信。
[0003]為了增加性能,通信協(xié)議(諸如MPI)的參數(shù)可對于具體應(yīng)用和/或具體并行計(jì)算系統(tǒng)進(jìn)行調(diào)諧。這些配置參數(shù)的人工測試和選擇經(jīng)常需要許多小時(shí)乏味的調(diào)諧工作。這種調(diào)諧工作必須對于運(yùn)行在并行計(jì)算系統(tǒng)上的每個(gè)獨(dú)特應(yīng)用進(jìn)行重復(fù)。對應(yīng)用或并行計(jì)算系統(tǒng)的成分(例如節(jié)點(diǎn)數(shù))的任何改變可能還需要重新調(diào)諧通信協(xié)議的配置參數(shù)。
【專利附圖】

【附圖說明】
[0004]本文描述的發(fā)明在附圖中作為示例而非作為限制進(jìn)行了圖示。為了圖示的簡單和清楚,在附圖中圖示的元素不一定按比例繪制。例如,為了清楚起見,一些元素的尺寸可能相對于其它元素放大。進(jìn)一步說,在認(rèn)為適當(dāng)?shù)那闆r下,附圖標(biāo)記已經(jīng)在附圖之間重復(fù)以指示對應(yīng)或類似元素。
[0005]圖1是并行計(jì)算系統(tǒng)的至少一個(gè)實(shí)施例的簡化框圖;
圖2是圖1并行計(jì)算系統(tǒng)的軟件環(huán)境的至少一個(gè)實(shí)施例的簡化框圖;
圖3是用于自動調(diào)諧圖1并行計(jì)算系統(tǒng)的通信協(xié)議的軟件環(huán)境的至少一個(gè)實(shí)施例的簡化框圖;以及
圖4是用于自動調(diào)諧圖1并行計(jì)算系統(tǒng)的通信協(xié)議的方法的至少一個(gè)實(shí)施例的簡化框圖。
【具體實(shí)施方式】
[0006]雖然本公開的概念易受到各種修改和備選形式,其特定示范實(shí)施例已經(jīng)在附圖中作為示例示出,并且在本文詳細(xì)描述。然而,應(yīng)該理解,沒有意圖將本公開的概念局限于所公開的具體形式,而相反,意圖是本發(fā)明覆蓋落入由所附權(quán)利要求書所定義的本發(fā)明的精神和范圍內(nèi)的所有修改、等效和備選。
[0007]在如下描述中,闡述了眾多特定細(xì)節(jié),諸如邏輯實(shí)現(xiàn)、操作碼、規(guī)定操作數(shù)的設(shè)備、資源劃分/共享/復(fù)制實(shí)現(xiàn)、系統(tǒng)組件的類型和相互關(guān)系以及邏輯劃分/集成選擇,以便提供本公開的更透徹理解。然而,本領(lǐng)域技術(shù)人員會認(rèn)識到,沒有這些特定細(xì)節(jié)也可實(shí)行本公開的實(shí)施例。在其它實(shí)例中,控制結(jié)構(gòu)、門級電路和完整軟件指令序列未詳細(xì)示出,以免使本發(fā)明模糊不清。本領(lǐng)域普通技術(shù)人員用所包含的描述將能夠?qū)崿F(xiàn)適當(dāng)?shù)墓δ苄远鵁o需過多實(shí)驗(yàn)。
[0008]在說明書中提到“ 一個(gè)實(shí)施例”、“實(shí)施例”、“說明性實(shí)施例”等指示所描述的實(shí)施例可包含具體特征、結(jié)構(gòu)或特性,但每一個(gè)實(shí)施例可能不一定包含該具體特征、結(jié)構(gòu)或特性。而且,此類短語不一定是指同一實(shí)施例。進(jìn)一步說,當(dāng)結(jié)合一實(shí)施例描述具體特征、結(jié)構(gòu)或特性時(shí),認(rèn)為結(jié)合無論是否明確描述的其它實(shí)施例來實(shí)現(xiàn)此類特征、結(jié)構(gòu)或特性在本領(lǐng)域技術(shù)人員的知識范圍內(nèi)。
[0009]本發(fā)明的實(shí)施例可用硬件、固件、軟件或其任何組合來實(shí)現(xiàn)。在并行計(jì)算系統(tǒng)中實(shí)現(xiàn)的本發(fā)明實(shí)施例可包含組件之間的一個(gè)或多個(gè)基于總線的互連和/或組件之間的一個(gè)或多個(gè)點(diǎn)對點(diǎn)互連。本發(fā)明的實(shí)施例也可實(shí)現(xiàn)為存儲在一個(gè)或多個(gè)非暫態(tài)機(jī)器可讀介質(zhì)、機(jī)器可讀介質(zhì)上的多個(gè)指令,所述指令可由一個(gè)或多個(gè)處理器讀取和執(zhí)行。機(jī)器可讀介質(zhì)可包含用于存儲和傳送由機(jī)器(例如計(jì)算裝置)可讀的形式的信息的任何機(jī)制。例如,機(jī)器可讀介質(zhì)可包含只讀存儲器(ROM)、隨機(jī)存取存儲器(RAM)、磁盤存儲介質(zhì)、光存儲介質(zhì)、閃存裝置及其它中的任一個(gè)或組合。
[0010]本公開一般涉及用于自動調(diào)諧在并行計(jì)算系統(tǒng)(作為示例諸如在圖1中圖示的并行計(jì)算系統(tǒng)100)中使用的通信協(xié)議的配置參數(shù)的方法和系統(tǒng)。根據(jù)本公開,并行計(jì)算系統(tǒng)可包含自動調(diào)諧通信協(xié)議(諸如消息傳遞接口(MPI))的配置參數(shù)的模塊(其可實(shí)施為硬件、固件、軟件或它們的任何組合)。如,在圖2和圖3中示出的說明性實(shí)施例中,調(diào)諧模塊212可自動調(diào)諧并行計(jì)算系統(tǒng)100的MPI 208的配置參數(shù)。因此,調(diào)諧模塊212可優(yōu)化MPI 208以在并行計(jì)算系統(tǒng)100上執(zhí)行具體應(yīng)用。當(dāng)使用術(shù)語“優(yōu)化”(或者其變型)時(shí),本公開考慮確定MPI 208的設(shè)置,這些設(shè)置與設(shè)置的某個(gè)其它組相比導(dǎo)致改進(jìn)的性能。
[0011]雖然此類自動調(diào)諧提供了實(shí)質(zhì)利益,但調(diào)諧過程仍可能花大量時(shí)間,因?yàn)檎{(diào)諧模塊一般必須測試可與通信協(xié)議一起使用以便確定給出具體并行計(jì)算系統(tǒng)上具體應(yīng)用的最優(yōu)性能的配置參數(shù)集合的配置參數(shù)的每一個(gè)可能組合。最突出的是,MPI的集體操作(其通常占許多高性能計(jì)算應(yīng)用中的總MPI執(zhí)行時(shí)間的很大比率)由于可用于實(shí)現(xiàn)每個(gè)集體操作的眾多算法而經(jīng)常需要相當(dāng)大的調(diào)諧時(shí)間。根據(jù)本公開,自動調(diào)諧過程的速度可通過使用點(diǎn)對點(diǎn)操作對MPI的集體操作建模來增加。使用這些模型,用于在具體境況下實(shí)現(xiàn)集體操作的比較慢的算法可被忽視,并且因此,在自動調(diào)諧過程期間要搜索的解決方案空間可被縮小。用于使用此類集體操作建模自動調(diào)諧MPI的一個(gè)說明性實(shí)施例在圖4的簡化流程圖中示出,并將在下面進(jìn)一步討論。
[0012]現(xiàn)在參考圖1,可利用本公開自動調(diào)諧過程的并行計(jì)算系統(tǒng)100的一個(gè)說明性實(shí)施例被顯示為簡化框圖。說明性并行計(jì)算系統(tǒng)100包含多個(gè)計(jì)算裝置102和以通信方式耦合所述多個(gè)計(jì)算裝置102的網(wǎng)絡(luò)104。如圖1所示,所述多個(gè)計(jì)算裝置102中的每個(gè)計(jì)算裝置102都包括并行計(jì)算系統(tǒng)100的節(jié)點(diǎn)。本領(lǐng)域技術(shù)人員將認(rèn)識到,并行計(jì)算系統(tǒng)100可包括任何數(shù)量的計(jì)算裝置102 (并且因此包括任何數(shù)量的節(jié)點(diǎn))。盡管在圖1中僅圖示一個(gè)計(jì)算裝置102的組件,但可想到,多個(gè)計(jì)算裝置102中的每個(gè)計(jì)算裝置102可包含類似組件。還可想到,多個(gè)計(jì)算裝置102中的任何一個(gè)可包含附加組件或比圖1所示組件更少的組件。
[0013]多個(gè)計(jì)算裝置102中的每個(gè)計(jì)算裝置102可被實(shí)施為能夠執(zhí)行本文描述的功能的任何類型電子裝置。作為示例,每個(gè)計(jì)算裝置102可被實(shí)施為個(gè)人計(jì)算機(jī)、工作站、膝上型計(jì)算機(jī)、手持計(jì)算機(jī)、移動因特網(wǎng)裝置、蜂窩電話、個(gè)人數(shù)據(jù)助理、電話裝置、網(wǎng)絡(luò)器具、虛擬化裝置、存儲裝置控制器或其它基于計(jì)算機(jī)的裝置。在圖1所示的說明性實(shí)施例中,每個(gè)計(jì)算裝置102包含處理器110、I/O子系統(tǒng)112、系統(tǒng)存儲器114和通信電路116。每個(gè)計(jì)算裝置102還可選地包含一個(gè)或多個(gè)外圍裝置118和一個(gè)或多個(gè)數(shù)據(jù)存儲裝置120。在一些實(shí)施例中,上述組件中的幾個(gè)組件可被合并在每個(gè)計(jì)算裝置102的母板上,而其它組件可以通信方式例如經(jīng)由一個(gè)或多個(gè)外圍端口耦合到母板。而且,應(yīng)該認(rèn)識到,每個(gè)計(jì)算裝置102可包含通常在計(jì)算機(jī)和/或計(jì)算裝置中發(fā)現(xiàn)的其它組件、子組件和裝置,為了描述的清楚起見,它們在圖1中未圖示。
[0014]計(jì)算裝置102的處理器110可以是能夠執(zhí)行軟件/固件(諸如微處理器、數(shù)字信號處理器、微控制器等)的任何類型處理器。處理器110說明性地實(shí)施為具有多個(gè)處理器核122的多核處理器。然而,在其它實(shí)施例中,處理器110可實(shí)施為具有單個(gè)處理器核122的單核處理器。因此,可想到,處理器110可具有任何數(shù)量的處理器核122。此外,每個(gè)計(jì)算裝置102可包含具有一個(gè)或多個(gè)處理器核122的附加處理器110。在說明性實(shí)施例中,每個(gè)計(jì)算裝置102的每個(gè)處理器核122能夠獨(dú)立于其它處理器核122來執(zhí)行數(shù)據(jù)計(jì)算,向并行計(jì)算系統(tǒng)100提供進(jìn)一步并行性。每個(gè)計(jì)算裝置102的處理器核122可使用任何組合總線、縱橫開關(guān)、片上網(wǎng)狀網(wǎng)絡(luò)等進(jìn)行互連。
[0015]處理器110以通信方式經(jīng)由若干信號路徑耦合到I/O子系統(tǒng)112。這些信號路徑(以及在圖1中圖示的其它信號路徑)可實(shí)施為能夠便于每個(gè)計(jì)算裝置102的組件之間通信的任何類型信號路徑。例如,信號路徑可實(shí)施為任何數(shù)量的電線、電纜、光導(dǎo)、印刷電路板跡線、通孔、總線、中間裝置和/或類似物。每個(gè)計(jì)算裝置102的I/O子系統(tǒng)112可實(shí)施為電路和/或組件,以便于與處理器110和/或計(jì)算裝置102的其它組件的輸入/輸出操作。在一些實(shí)施例中,I/O子系統(tǒng)112可實(shí)施為存儲器控制器集線器(MCH或“北橋”)、輸入/輸出控制器集線器(ICH或“南橋”)以及固件裝置。在其它實(shí)施例中,可使用具有其它配置的I/O子系統(tǒng)。例如,在一些實(shí)施例中,I/O子系統(tǒng)112可實(shí)施為平臺控制器集線器(PCH)。在此類實(shí)施例中,存儲器控制器集線器(MCH)可合并在處理器110中或以其它方式與之關(guān)聯(lián),并且處理器110可直接與系統(tǒng)存儲器114通信(如圖1中的點(diǎn)劃線所示)。在又一些實(shí)施例中,I/O子系統(tǒng)112可形成片上系統(tǒng)(SoC)的一部分,并與處理器110和計(jì)算裝置102的其它組件一起合并在單個(gè)集成電路芯片上。
[0016]每個(gè)計(jì)算裝置102的系統(tǒng)存儲器114也以通信方式經(jīng)由若干信號路徑耦合到I/O子系統(tǒng)112。系統(tǒng)存儲器114可實(shí)施為一個(gè)或多個(gè)存儲器裝置或數(shù)據(jù)存儲位置,例如包含動態(tài)隨機(jī)存取存儲器裝置(DRAM)、同步動態(tài)隨機(jī)存取存儲器裝置(SDRAM)、雙數(shù)據(jù)速率同步動態(tài)隨機(jī)存取存儲器裝置(DDR SDRAM)、閃速存儲器裝置和/或其它易失性存儲器裝置。此夕卜,盡管在圖1中僅圖示了單個(gè)系統(tǒng)存儲器裝置114,但在其它實(shí)施例中,每個(gè)計(jì)算裝置102可包含附加系統(tǒng)存儲器裝置。在圖1的說明性實(shí)施例中,每個(gè)計(jì)算裝置102實(shí)施為對稱微處理器系統(tǒng),其中每個(gè)處理器核122利用系統(tǒng)存儲器114作為共享存儲器。因此,并行計(jì)算系統(tǒng)100的多個(gè)計(jì)算裝置102說明性地實(shí)施為對稱多處理器集群。[0017]每個(gè)計(jì)算裝置102的通信電路116可實(shí)施為使能夠通過網(wǎng)絡(luò)104在多個(gè)計(jì)算裝置102之間的通信的任何數(shù)量的裝置和電路。網(wǎng)絡(luò)104可實(shí)施為任何類型有線和/或無線網(wǎng)絡(luò),諸如局域網(wǎng)、廣域網(wǎng)、公共可用的全球網(wǎng)絡(luò)(例如因特網(wǎng))和/或其它網(wǎng)絡(luò)。網(wǎng)絡(luò)104可包含任何數(shù)量的附加裝置,以便于多個(gè)計(jì)算裝置102(諸如路由器、交換機(jī)、中間計(jì)算機(jī)等)之間的通信。附加地或備選地,網(wǎng)絡(luò)104可采用開關(guān)組構(gòu)(fabric)拓?fù)?,作為示例諸如InfiniBand?或光纖信道。通信電路116可包含一個(gè)或多個(gè)有線和/或無線網(wǎng)絡(luò)接口以便于通過網(wǎng)絡(luò)104的有線和/或無線部分的通信。通信電路116也以通信方式經(jīng)由若干信號路徑耦合到I/O子系統(tǒng)112,從而允許處理器110訪問網(wǎng)絡(luò)104。
[0018]每個(gè)計(jì)算裝置102還可選地包含一個(gè)或多個(gè)外圍裝置118和一個(gè)或多個(gè)數(shù)據(jù)存儲裝置120。作為說明性示例,外圍裝置118可包含顯示器、鼠標(biāo)、鍵盤和/或一個(gè)或多個(gè)外部揚(yáng)聲器。每個(gè)計(jì)算裝置102中包含的具體外圍裝置118例如可取決于那個(gè)計(jì)算裝置102的預(yù)期使用。數(shù)據(jù)存儲裝置120可說明性地實(shí)施為配置用于數(shù)據(jù)的短期存儲或長期存儲的任何類型裝置,諸如例如存儲器裝置和電路、存儲卡、硬盤驅(qū)動器、固態(tài)驅(qū)動器或其它數(shù)據(jù)存儲裝置。當(dāng)存在時(shí),外圍裝置118和數(shù)據(jù)存儲裝置120各自經(jīng)由若干信號路徑以通信方式耦合到I/O子系統(tǒng)112,從而允許I/O子系統(tǒng)112和/或處理器110從外圍裝置118和/或數(shù)據(jù)存儲裝置120接收輸入并向外圍裝置118和/或數(shù)據(jù)存儲裝置120發(fā)送輸出。
[0019]現(xiàn)在參考圖2,并行計(jì)算系統(tǒng)100的軟件環(huán)境200的一個(gè)說明性實(shí)施例被示出為簡化框圖。如上面所討論的,并行計(jì)算系統(tǒng)100包括經(jīng)由一個(gè)或多個(gè)通信組構(gòu)204以通信方式耦合的多個(gè)節(jié)點(diǎn)202。通信組構(gòu)204可包含任何數(shù)量和任何類型的通信鏈路,包含上面參考網(wǎng)絡(luò)104描述的鏈路。再一次,本領(lǐng)域技術(shù)人員將認(rèn)識到,并行計(jì)算系統(tǒng)100可包括任何數(shù)量的節(jié)點(diǎn)102。盡管在圖2的軟件環(huán)境200中僅詳細(xì)圖示了一個(gè)節(jié)點(diǎn)202,但是可想到,多個(gè)節(jié)點(diǎn)202中的每個(gè)節(jié)點(diǎn)可包含類似組件。還可想到,任何節(jié)點(diǎn)202可包含附加組件或比圖2所示組件更少的組件。
[0020]并行計(jì)算系統(tǒng)100的每個(gè)節(jié)點(diǎn)202能夠獨(dú)立于其它節(jié)點(diǎn)202而執(zhí)行數(shù)據(jù)計(jì)算。因此,每個(gè)節(jié)點(diǎn)202可被分配執(zhí)行一個(gè)或多個(gè)過程206的任務(wù)。每個(gè)過程206表示運(yùn)行在并行計(jì)算系統(tǒng)100上的較大應(yīng)用的一部分,并且可執(zhí)行總應(yīng)用工作負(fù)荷的一小部分。在圖2的說明性實(shí)施例中,其中每個(gè)節(jié)點(diǎn)202表示包含具有多處理器核122的處理器110的計(jì)算裝置102,每個(gè)節(jié)點(diǎn)202可同時(shí)執(zhí)行多個(gè)過程206。
[0021]在執(zhí)行期間,每個(gè)過程206可需要來自其它過程206的數(shù)據(jù),或者可能需要向其它過程206傳送其數(shù)據(jù)。為了實(shí)現(xiàn)此數(shù)據(jù)共享,并行計(jì)算系統(tǒng)100包含消息傳遞接口(MPI) 2080可想到,在其它實(shí)施例中,并行計(jì)算系統(tǒng)100可利用實(shí)現(xiàn)另一通信協(xié)議的不同接口。MPI 208可說明性地實(shí)施為庫,諸如從加利福尼亞州圣科拉拉的英特爾公司可得到的Intel?MPI庫,其采用專業(yè)化函數(shù)調(diào)用以在過程206之間傳遞數(shù)據(jù)。比如,MPI 208可包含可由過程206調(diào)用的多個(gè)點(diǎn)對點(diǎn)操作和多個(gè)集體操作。在一些實(shí)施例中,MPI 208的庫可在編譯時(shí)間鏈接到應(yīng)用二進(jìn)制。在其它實(shí)施例中,虛擬機(jī)和/或解釋器可被用作功能等效物。MPI 208也可支持多個(gè)節(jié)點(diǎn)202內(nèi)和跨多個(gè)節(jié)點(diǎn)202的共享存儲器環(huán)境。
[0022]在圖2的說明性實(shí)施例中,并行計(jì)算系統(tǒng)100包含性能分析器210。性能分析器210可捕獲與MPI 208相關(guān)的信息(包含但不限于帶寬和開銷參數(shù)),并且可將此信息傳遞到調(diào)諧模塊212。性能分析器210可被實(shí)現(xiàn)為MPI 208的擴(kuò)展或?qū)崿F(xiàn)為單獨(dú)的編譯程序。附加地或備選地,性能分析器210可被嵌入在硬件中,并且可以能夠與并行計(jì)算系統(tǒng)100物理對接。
[0023]并行計(jì)算系統(tǒng)100還包含調(diào)諧模塊212。調(diào)諧模塊212配置成從MPI 208以及性能分析器210接收輸入,以執(zhí)行必要的計(jì)算和/或模擬,并輸出用于MPI 208的優(yōu)化配置參數(shù)。調(diào)諧模塊212可駐留在并行計(jì)算系統(tǒng)100的單個(gè)節(jié)點(diǎn)202 (例如服務(wù)器)上,或者可將其功能分布在多個(gè)節(jié)點(diǎn)202上。同樣,調(diào)諧模塊212可說明性地實(shí)施為在并行計(jì)算系統(tǒng)100的一個(gè)或多個(gè)計(jì)算裝置102的處理器110上執(zhí)行的軟件程序。附加地或備選地,調(diào)諧模塊212可包括位于一個(gè)或多個(gè)節(jié)點(diǎn)202的一個(gè)或多個(gè)專用硬件裝置和/或能夠與一個(gè)或多個(gè)通信組構(gòu)204對接的獨(dú)立裝置。下面將參考圖3和圖4進(jìn)一步描述調(diào)諧模塊212的操作。
[0024]在圖3中示出了允許調(diào)諧模塊212自動調(diào)諧MPI 208配置參數(shù)的軟件環(huán)境300的一個(gè)說明性實(shí)施例的簡化框圖。如圖3中所圖示的,自動調(diào)諧過程包括三個(gè)級302-306。在輸入級302期間,環(huán)境信息310和調(diào)諧規(guī)則312可作為到調(diào)諧模塊212的輸入收集和提供。在調(diào)諧級304期間,調(diào)諧模塊212可利用這些輸入并與測試內(nèi)核314對接以分析用于MPI208的多個(gè)配置參數(shù)。在輸出級306期間,調(diào)諧模塊212可將優(yōu)化配置參數(shù)提供給一個(gè)或多個(gè)配置文件318以供MPI 208使用。
[0025]在輸入級302期間收集的環(huán)境信息310和調(diào)諧規(guī)則312提供了在自動調(diào)諧過程期間對調(diào)諧模塊212的約束。環(huán)境信息310可包含表示并行計(jì)算系統(tǒng)100的特征的數(shù)據(jù)。在一些實(shí)施例中,環(huán)境信息310可包含與并行計(jì)算系統(tǒng)100中的節(jié)點(diǎn)202的數(shù)量、每個(gè)節(jié)點(diǎn)202的處理器110和/或處理器核122的數(shù)量、可用的通信組構(gòu)204、操作系統(tǒng)信息等相關(guān)的數(shù)據(jù)。環(huán)境信息310可使用標(biāo)準(zhǔn)硬件和軟件檢測技術(shù)來自動捕獲,或者可在人工創(chuàng)建的文件中事先規(guī)定。
[0026]調(diào)諧規(guī)則312可規(guī)定要優(yōu)化的MPI 208的一個(gè)或多個(gè)配置參數(shù)。在一些實(shí)施例中,調(diào)諧規(guī)則312可進(jìn)一步規(guī)定用于優(yōu)化一個(gè)或多個(gè)配置參數(shù)的優(yōu)先次序。這些配置參數(shù)作為示例可影響MPI 208的一個(gè)或多個(gè)操作的帶寬和/或等待時(shí)間。說明性配置參數(shù)可包含布爾變量、數(shù)值變量(例如分組大小)以及枚舉變量(例如可用通信組構(gòu)204以及MPI 208可用于實(shí)現(xiàn)具體操作的算法的索引列表)。除了要優(yōu)化的一個(gè)或多個(gè)配置參數(shù),調(diào)諧規(guī)則312還可包含啟發(fā)法。比如,調(diào)諧規(guī)則312可包含過程替換啟發(fā)法或過程鎖定(pinning)啟發(fā)法,要求特定過程206不分散在多個(gè)節(jié)點(diǎn)202上,或被約束到具體節(jié)點(diǎn)202。在一些實(shí)施例中,一些或所有調(diào)諧規(guī)程312可以是用戶規(guī)定的。附加地或備選地,一些或所有調(diào)諧規(guī)則312可響應(yīng)于環(huán)境信息310和/或應(yīng)用信息而自動從預(yù)先定義的簡檔中選擇。
[0027]在接收到環(huán)境信息310和調(diào)諧規(guī)則312之后,調(diào)諧模塊212可分析在調(diào)諧級304期間用于MPI 208的多個(gè)配置參數(shù)。除其它操作之外,調(diào)諧模塊212可與測試內(nèi)核314對接,以使用多個(gè)配置參數(shù)運(yùn)行模擬,以確定給出用于并行計(jì)算系統(tǒng)100上的具體應(yīng)用的最優(yōu)性能的配置參數(shù)集合。在一些實(shí)施例中,測試內(nèi)核314可以是設(shè)計(jì)成模擬MPI 208要對其優(yōu)化的較大應(yīng)用的相對小的程序。在其它實(shí)施例中,測試內(nèi)核314本身可以是應(yīng)用。在又一些實(shí)施例中,測試內(nèi)核314可以是用于測試通信協(xié)議的標(biāo)準(zhǔn)通信模式(即基準(zhǔn))。
[0028]調(diào)諧模塊212可通過使用多個(gè)配置參數(shù)的每一個(gè)可能組合而在測試內(nèi)核314上運(yùn)行模擬來確定用于一些配置參數(shù)的最優(yōu)設(shè)置。在每個(gè)模擬期間,調(diào)諧模塊212可從性能分析器210接收MPI 208的帶寬、等待時(shí)間和/或其它特性的測量。調(diào)諧模塊212然后可通過比較從性能分析器210接收的所有測量來確定MPI 208的最優(yōu)配置參數(shù)。然而,如上面所指出的,使用此“強(qiáng)力”方法調(diào)諧MPI 208的集體操作由于可用于實(shí)現(xiàn)每個(gè)集體操作的眾多算法而是低效的。根據(jù)本公開,調(diào)諧模塊212可替代地利用方法400,其使用點(diǎn)對點(diǎn)操作(下面參考圖4更詳細(xì)地描述)對集體操作建模以更有效地調(diào)諧MPI 208的集體操作。
[0029]在調(diào)諧過程完成之后,調(diào)諧模塊212可在輸出級306期間將一個(gè)或多個(gè)優(yōu)化的配置參數(shù)存儲在一個(gè)或多個(gè)配置文件318中。當(dāng)實(shí)現(xiàn)由過程206調(diào)用的操作時(shí),存儲在配置文件318中的配置參數(shù)可由MP I 208引用。附加地或備選地,存儲在配置文件318中的配置參數(shù)可以是用于發(fā)送到并行計(jì)算系統(tǒng)100硬件的指令的參量。在一些實(shí)施例中,調(diào)諧模塊212可將一個(gè)或多個(gè)優(yōu)化的配置參數(shù)直接傳遞到MPI 208,以便與應(yīng)用一起使用(避免使用配置文件318)。盡管前述調(diào)諧過程一般已經(jīng)被描述為在執(zhí)行應(yīng)用之前執(zhí)行,但也可想到,在應(yīng)用由并行計(jì)算系統(tǒng)100執(zhí)行的同時(shí)調(diào)諧模塊212可執(zhí)行調(diào)諧過程。此類動態(tài)調(diào)諧可適應(yīng)在各種通信協(xié)議使用條件下運(yùn)行的應(yīng)用。
[0030]現(xiàn)在參考圖4,用于自動調(diào)諧并行計(jì)算系統(tǒng)100的MPI 208的方法400的說明性實(shí)施例被示出為簡化框圖。方法400可由調(diào)諧模塊212 (連同MPI 208和/或測試內(nèi)核314)執(zhí)行以確定用于通過MPI 208實(shí)現(xiàn)集體操作的至少一個(gè)優(yōu)化算法。方法400被圖示為圖4中的若干塊402-414。在一些實(shí)施例中,塊406-410可用于執(zhí)行塊404的操作,并且因此,在圖4中的剖視圖中指示。
[0031]方法400開始于402,其中調(diào)諧模塊212選擇要由并行計(jì)算系統(tǒng)100的MPI 208實(shí)現(xiàn)的集體操作。比如,在塊402,調(diào)諧模塊212可選擇MPI 208的廣播操作。作為另一示例,在塊402,調(diào)諧模塊212可選擇MPI 208的全減少操作。將認(rèn)識到,調(diào)諧模塊212可選擇許多其它集體操作來使用方法400進(jìn)行優(yōu)化。在一些實(shí)施例中,調(diào)諧模塊212可配置成對于要由MPI 208實(shí)現(xiàn)的多個(gè)集體操作中的每個(gè)操作迭代地執(zhí)行方法400。
[0032]如上面所指出的,MPI 208通常可使用多個(gè)不同算法來實(shí)現(xiàn)每個(gè)集體操作。比如,MPI 208可使用二叉樹算法、遞歸加倍算法、環(huán)算法、Shumilin環(huán)算法或類似算法來實(shí)現(xiàn)廣播操作。同樣,MPI 208可使用Rabenseifner算法、二叉樹算法、遞歸加倍算法、環(huán)算法、Shumi I in環(huán)算法或類似算法來實(shí)現(xiàn)全減少操作。用于實(shí)現(xiàn)集體操作的最優(yōu)算法經(jīng)常將取決于并行計(jì)算系統(tǒng)100的特征,諸如節(jié)點(diǎn)202的數(shù)量、每個(gè)節(jié)點(diǎn)202的處理器110和/或處理器核122的數(shù)量、可用通信組構(gòu)204等等(即環(huán)境信息310)。
[0033]而且,用于實(shí)現(xiàn)集體操作的最優(yōu)算法也可隨要由集體操作處置的消息大小(即消息長度)而變。從而,對于具體并行計(jì)算系統(tǒng)100,集體操作的最優(yōu)性能可使用分段函數(shù)獲得,諸如:
集體操作={ algo @m<rni ; algi @mi <m<m2;…;a〖gn @ mn < m },
其中[algl,alg2,...,algn]表示用于實(shí)現(xiàn)集體操作的不同算法,m表示消息大小,并且[InlllH2,...,mn]表示定義分段函數(shù)子域的消息大小。換句話說,上面的分段函數(shù)對于要由集體操作處置的每個(gè)消息大小都規(guī)定了要由MPI 208使用的優(yōu)化算法。從而,在方法400的一些實(shí)施例中,調(diào)諧模塊212可確定用于實(shí)現(xiàn)集體操作的多個(gè)優(yōu)化算法。
[0034]在塊402之后,方法400繼續(xù)進(jìn)行塊404,其中調(diào)諧模塊212確定MPI 208可用于實(shí)現(xiàn)在塊402中選擇的集體操作的多個(gè)算法中的每個(gè)算法的傳輸速率。每個(gè)可能算法的傳輸速率表示算法完成集體操作所需的時(shí)間。如將在下面進(jìn)一步討論的,在執(zhí)行剩余算法的更時(shí)間密集的模擬之前,確定每個(gè)可能算法的傳輸速率允許調(diào)諧模塊212忽略比較慢的算法(即具有較慢傳輸速率的算法)。在塊404,調(diào)諧模塊212通過將每個(gè)算法建模為對應(yīng)多個(gè)點(diǎn)對點(diǎn)操作來確定多個(gè)算法中的每個(gè)算法的傳輸速率。換句話說,調(diào)諧模塊212將每個(gè)可能算法表示為點(diǎn)對點(diǎn)操作的預(yù)先確定的序列,并且在并行計(jì)算系統(tǒng)100上測量那些點(diǎn)對點(diǎn)操作的性能特性。在說明性實(shí)施例中,調(diào)諧模塊212將多個(gè)算法中的每個(gè)算法建模為對應(yīng)多個(gè)雙向發(fā)送-接收(SendRecv)操作??梢韵氲?,在其它實(shí)施例中,可使用其它點(diǎn)對點(diǎn)操作對MPI 208可用于實(shí)現(xiàn)集體操作的每一個(gè)算法建模。
[0035]在方法400的一些實(shí)施例中,調(diào)諧模塊212可通過執(zhí)行在塊406-410中闡述的操作來確定多個(gè)算法中的每個(gè)算法的傳輸速率,如圖4中所圖示的。在此類實(shí)施例中,方法400進(jìn)行到塊406,其中調(diào)諧模塊212使MPI 208執(zhí)行包含在可能算法的模型中的每個(gè)點(diǎn)對點(diǎn)操作。在塊406期間,對于要由集體操作處置的每個(gè)消息大小執(zhí)行每個(gè)點(diǎn)對點(diǎn)操作。在塊406的一些實(shí)施例中,調(diào)諧模塊212可使MPI 208執(zhí)行位于彼此相距各種距離D的過程206之間的點(diǎn)對點(diǎn)操作,包括:位于同一套接字(socket)上(D=O)的過程206、位于同一節(jié)點(diǎn)202的不同套接字上(D=I)的過程206以及位于不同節(jié)點(diǎn)202上(D=2)的過程206。在塊406的一些實(shí)施例中,調(diào)諧模塊212還可使MPI 208對于每個(gè)可能的過程密度d (即在并行計(jì)算系統(tǒng)100的每個(gè)節(jié)點(diǎn)202上執(zhí)行的過程206的數(shù)量)執(zhí)行點(diǎn)對點(diǎn)操作。
[0036]方法400還可包含塊408,其中性能分析器210測量完成在塊408中執(zhí)行的每個(gè)點(diǎn)對點(diǎn)操作所需的時(shí)間。性能分析器210向調(diào)諧模塊212發(fā)送測量數(shù)據(jù)。在塊408,調(diào)諧模塊212使用此測量數(shù)據(jù)確定用于每個(gè)執(zhí)行的點(diǎn)對點(diǎn)操作的點(diǎn)對點(diǎn)開銷參數(shù)和帶寬參數(shù)。在塊406中執(zhí)行的點(diǎn)對點(diǎn)操作在各種距離上、針對各種消息大小并且針對各種過程密度的實(shí)施例中,調(diào)諧模塊212可使用具有如下通用形式的分段線性函數(shù)來近似完成每個(gè)點(diǎn)對點(diǎn)操作所需的時(shí)間t:
【權(quán)利要求】
1.一種方法,包括: 選擇由并行計(jì)算系統(tǒng)的消息傳遞接口(MPI)實(shí)現(xiàn)的集體操作,其中所述MPI配置成使用多個(gè)算法中的至少一個(gè)算法實(shí)現(xiàn)所述集體操作; 將所述多個(gè)算法中的每個(gè)算法建模為對應(yīng)多個(gè)點(diǎn)對點(diǎn)操作; 使用其對應(yīng)多個(gè)點(diǎn)對點(diǎn)操作確定所述多個(gè)算法中的每個(gè)算法的傳輸速率; 從所述多個(gè)算法中選擇一個(gè)或多個(gè)算法,所述一個(gè)或多個(gè)選擇的算法比一個(gè)或多個(gè)未選擇的算法具有更高的傳輸速率;以及 用多個(gè)配置參數(shù)測試所述一個(gè)或多個(gè)選擇的算法的性能以確定用于實(shí)現(xiàn)所述集體操作的至少一個(gè)優(yōu)化算法。
2.如權(quán)利要求1所述的方法,其中確定所述多個(gè)算法中的每個(gè)算法的所述傳輸速率包括: 執(zhí)行用于要由所述集體操作處置的每個(gè)消息大小的所述對應(yīng)多個(gè)點(diǎn)對點(diǎn)操作的每個(gè)點(diǎn)對點(diǎn)操作;以及 測量用于每個(gè)執(zhí)行的點(diǎn)對點(diǎn)操作的點(diǎn)對點(diǎn)開銷參數(shù)和帶寬參數(shù)。
3.如權(quán)利要求2所述 的方法,其中執(zhí)行所述對應(yīng)多個(gè)點(diǎn)對點(diǎn)操作的每個(gè)點(diǎn)對點(diǎn)操作包括: 執(zhí)行位于所述并行計(jì)算系統(tǒng)的單個(gè)套接字上的過程之間的至少一個(gè)點(diǎn)對點(diǎn)操作;執(zhí)行位于所述并行計(jì)算系統(tǒng)的單個(gè)節(jié)點(diǎn)的不同套接字上的過程之間的至少一個(gè)點(diǎn)對點(diǎn)操作;以及 執(zhí)行位于所述并行計(jì)算系統(tǒng)的不同節(jié)點(diǎn)上的過程之間的至少一個(gè)點(diǎn)對點(diǎn)操作。
4.如權(quán)利要求3所述的方法,其中執(zhí)行所述對應(yīng)多個(gè)點(diǎn)對點(diǎn)操作的每個(gè)點(diǎn)對點(diǎn)操作進(jìn)一步包括:執(zhí)行用于所述并行計(jì)算系統(tǒng)的每個(gè)可能過程密度的每個(gè)點(diǎn)對點(diǎn)操作。
5.如權(quán)利要求2所述的方法,其中確定所述多個(gè)算法中的每個(gè)算法的所述傳輸速率進(jìn)一步包括:對沿所述對應(yīng)多個(gè)點(diǎn)對點(diǎn)操作的關(guān)鍵路徑的每個(gè)點(diǎn)對點(diǎn)操作的帶寬參數(shù)求和。
6.如權(quán)利要求5所述的方法,其中確定所述多個(gè)算法中每個(gè)算法的所述傳輸速率進(jìn)一步包括組合集體開銷參數(shù)與所述多個(gè)算法中每個(gè)算法的合計(jì)的帶寬參數(shù),其中所述集體開銷參數(shù)包括沿所述關(guān)鍵路徑的所述點(diǎn)對點(diǎn)操作的最大點(diǎn)對點(diǎn)開銷參數(shù)以及算法特定系數(shù)。
7.如權(quán)利要求1-6中任一項(xiàng)所述的方法,其中對所述多個(gè)算法中的每個(gè)算法建模包括:將所述多個(gè)算法中的每個(gè)算法建模為對應(yīng)多個(gè)雙向發(fā)送-接收操作。
8.如權(quán)利要求1所述的方法,其中測試所述一個(gè)或多個(gè)選擇的算法的性能包括:在測試內(nèi)核上用多個(gè)配置參數(shù)的每個(gè)可能組合執(zhí)行所述一個(gè)或多個(gè)選擇的算法中的每個(gè)算法。
9.如權(quán)利要求1所述的方法,進(jìn)一步包括:響應(yīng)于測試所述一個(gè)或多個(gè)選擇的算法的性能而確定用于實(shí)現(xiàn)所述集體操作的分段函數(shù),所述分段函數(shù)規(guī)定要由所述集體操作處置的每個(gè)消息大小的優(yōu)化算法。
10.如權(quán)利要求1所述的方法,其中選擇所述集體操作包括選擇廣播操作,并且其中所述多個(gè)算法包括二叉樹算法、遞歸加倍算法、環(huán)算法和Shumilin環(huán)算法中的兩個(gè)或更多個(gè)。
11.如權(quán)利要求1所述的方法,其中選擇所述集體操作包括選擇全減少操作,并且其中所述多個(gè)算法包括Rabenseifner算法、二叉樹減少-分散算法、遞歸加倍算法、環(huán)算法和Shumilin環(huán)算法中的兩個(gè)或更多個(gè)。
12.如權(quán)利要求1-6和8-11中任一項(xiàng)所述的方法,其中選擇所述集體操作包括選擇要由對稱多處理器集群的MPI實(shí)現(xiàn)的集體操作。
13.—個(gè)或多個(gè)機(jī)器可讀介質(zhì),包括多個(gè)指令,所述指令響應(yīng)于被執(zhí)行而引起并行計(jì)算系統(tǒng)的調(diào)諧模塊執(zhí)行如下操作: 選擇由所述并行計(jì)算系統(tǒng)的消息傳遞接口(MPI)實(shí)現(xiàn)的集體操作,其中所述MPI配置成使用多個(gè)算法中的至少一個(gè)算法實(shí)現(xiàn)所述集體操作; 通過將所述多個(gè)算法中的每個(gè)算法建模為對應(yīng)多個(gè)點(diǎn)對點(diǎn)操作來確定所述多個(gè)算法中的每個(gè)算法的傳輸速率; 從所述多個(gè)算法中選擇一個(gè)或多個(gè)算法,所述一個(gè)或多個(gè)選擇的算法比一個(gè)或多個(gè)未選擇的算法具有更高的傳輸速率;以及 用多個(gè)配置參數(shù)測試所述一個(gè)或多個(gè)選擇的算法的性能以確定用于實(shí)現(xiàn)所述集體操作的至少一個(gè)優(yōu)化算法。
14.如權(quán)利要求13所述的一個(gè)或多個(gè)機(jī)器可讀介質(zhì),其中所述多個(gè)指令引起所述調(diào)諧模塊確定所述多個(gè)算法中的每個(gè)算法的所述傳輸速率,至少部分通過: 使所述MPI執(zhí)行用于要由所述集體操作處置的每個(gè)消息大小的所述對應(yīng)多個(gè)點(diǎn)對點(diǎn)操作的每個(gè)點(diǎn)對點(diǎn)操作; 以及 測量用于每個(gè)執(zhí)行的點(diǎn)對點(diǎn)操作的點(diǎn)對點(diǎn)開銷參數(shù)和帶寬參數(shù)。
15.如權(quán)利要求14所述的一個(gè)或多個(gè)機(jī)器可讀介質(zhì),其中所述多個(gè)指令引起所述調(diào)諧模塊使所述MPI: 執(zhí)行位于所述并行計(jì)算系統(tǒng)的單個(gè)套接字上的過程之間的至少一個(gè)點(diǎn)對點(diǎn)操作; 執(zhí)行位于所述并行計(jì)算系統(tǒng)的單個(gè)節(jié)點(diǎn)的不同套接字上的過程之間的至少一個(gè)點(diǎn)對點(diǎn)操作;以及 執(zhí)行位于所述并行計(jì)算系統(tǒng)的不同節(jié)點(diǎn)上的過程之間的至少一個(gè)點(diǎn)對點(diǎn)操作。
16.如權(quán)利要求15所述的一個(gè)或多個(gè)機(jī)器可讀介質(zhì),其中所述多個(gè)指令引起所述調(diào)諧模塊使所述MPI執(zhí)行所述并行計(jì)算系統(tǒng)的每個(gè)可能過程密度的每個(gè)點(diǎn)對點(diǎn)操作。
17.如權(quán)利要求14所述的一個(gè)或多個(gè)機(jī)器可讀介質(zhì),其中所述多個(gè)指令進(jìn)一步引起所述調(diào)諧模塊確定所述多個(gè)算法中的每個(gè)算法的所述傳輸速率,至少部分通過:對沿所述對應(yīng)多個(gè)點(diǎn)對點(diǎn)操作的關(guān)鍵路徑的每個(gè)點(diǎn)對點(diǎn)操作的帶寬參數(shù)求和。
18.如權(quán)利要求17所述的一個(gè)或多個(gè)機(jī)器可讀介質(zhì),其中所述多個(gè)指令進(jìn)一步引起所述調(diào)諧模塊確定所述多個(gè)算法中每個(gè)算法的所述傳輸速率,至少部分通過:組合集體開銷參數(shù)與所述多個(gè)算法中每個(gè)算法的合計(jì)的帶寬參數(shù),其中所述集體開銷參數(shù)包括沿所述關(guān)鍵路徑的所述點(diǎn)對點(diǎn)操作的最大點(diǎn)對點(diǎn)開銷參數(shù)以及算法特定系數(shù)。
19.如權(quán)利要求13-18中任一項(xiàng)所述的一個(gè)或多個(gè)機(jī)器可讀介質(zhì),其中所述多個(gè)指令引起所述調(diào)諧模塊確定所述多個(gè)算法中的每個(gè)算法的所述傳輸速率,至少部分通過:將所述多個(gè)算法中的每個(gè)算法建模為對應(yīng)多個(gè)雙向發(fā)送-接收操作。
20.如權(quán)利要求13所述的一個(gè)或多個(gè)機(jī)器可讀介質(zhì),其中所述多個(gè)指令引起所述調(diào)諧模塊測試所述一個(gè)或多個(gè)選擇的算法的性能,至少部分通過:在測試內(nèi)核上用多個(gè)配置參數(shù)的每個(gè)可能組合執(zhí)行所述一個(gè)或多個(gè)選擇的算法中的每個(gè)算法。
21.如權(quán)利要求13所述的一個(gè)或多個(gè)機(jī)器可讀介質(zhì),其中所述多個(gè)指令進(jìn)一步引起所述調(diào)諧模塊響應(yīng)于測試所述一個(gè)或多個(gè)選擇的算法的性能而確定用于實(shí)現(xiàn)所述集體操作的分段函數(shù),所述分段函數(shù)規(guī)定要由所述集體操作處置的每個(gè)消息大小的優(yōu)化算法。
22.—種并行計(jì)算系統(tǒng),包括: 多個(gè)節(jié)點(diǎn),所述多個(gè)節(jié)點(diǎn)中的每個(gè)節(jié)點(diǎn)配置成執(zhí)行一個(gè)或多個(gè)過程; 消息傳遞接口(MPI),配置成使用多個(gè)點(diǎn)對點(diǎn)操作和多個(gè)集體操作在過程之間傳遞數(shù)據(jù);以及 調(diào)諧模塊,配置成:(i)選擇所述多個(gè)集體操作之一,其中所述MPI配置成使用多個(gè)算法中的至少一個(gè)算法實(shí)現(xiàn)選擇的集體操作;(ii)通過將所述多個(gè)算法中的每個(gè)算法建模為對應(yīng)多個(gè)點(diǎn)對點(diǎn)操作來確定所述多個(gè)算法中的每個(gè)算法的傳輸速率;(iii)從所述多個(gè)算法中選擇一個(gè)或多個(gè)算法,所述一個(gè)或多個(gè)選擇的算法比一個(gè)或多個(gè)未選擇的算法具有更高的傳輸速率;以及(iv)用多個(gè)配置參數(shù)測試所述一個(gè)或多個(gè)選擇的算法的性能以確定用于所述MPI實(shí)現(xiàn)所述集體操作的至少一個(gè)優(yōu)化算法。
23.如權(quán)利要求22所述的并行計(jì)算系統(tǒng),其中所述調(diào)諧模塊配置成執(zhí)行用于所述MPI的所述多個(gè)集體操作中每個(gè)集體操作的操作(i)-(iv)。
24.如權(quán)利要求22所述的并行計(jì)算系統(tǒng),其中所述調(diào)諧模塊配置成確定所述多個(gè)算法中的每個(gè)算法的所述傳輸速率,至少部分通過: 使所述MPI執(zhí)行用于要由所述集體操作處置的每個(gè)消息大小的所述對應(yīng)多個(gè)點(diǎn)對點(diǎn)操作的每個(gè)點(diǎn)對點(diǎn)操作;以及 測量用于每個(gè)執(zhí)行的點(diǎn)對點(diǎn)操作的點(diǎn)對點(diǎn)開銷參數(shù)和帶寬參數(shù)。
25.如權(quán)利要求24所述的并行計(jì)算系統(tǒng),其中所述調(diào)諧模塊配置成使所述MPI: 執(zhí)行位于所述并行計(jì)算系統(tǒng)的單個(gè)套接字上的過程之間的至少一個(gè)點(diǎn)對點(diǎn)操作; 執(zhí)行位于所述多個(gè)節(jié)點(diǎn)之一的不同套接字上的過程之間的至少一個(gè)點(diǎn)對點(diǎn)操作;以及 執(zhí)行位于所述多個(gè)節(jié)點(diǎn)之一的不同節(jié)點(diǎn)上的過程之間的至少一個(gè)點(diǎn)對點(diǎn)操作。
26.如權(quán)利要求25所述的并行計(jì)算系統(tǒng),其中所述調(diào)諧模塊配置成使所述MPI執(zhí)行所述并行計(jì)算系統(tǒng)的每個(gè)可能過程密度的每個(gè)點(diǎn)對點(diǎn)操作。
27.如權(quán)利要求24所述的并行計(jì)算系統(tǒng),其中所述調(diào)諧模塊進(jìn)一步配置成確定所述多個(gè)算法中的每個(gè)算法的所述傳輸速率,至少部分通過:對沿所述對應(yīng)多個(gè)點(diǎn)對點(diǎn)操作的關(guān)鍵路徑的每個(gè)點(diǎn)對點(diǎn)操作的帶寬參數(shù)求和。
28.如權(quán)利要求27所述的并行計(jì)算系統(tǒng),其中所述調(diào)諧模塊進(jìn)一步配置成確定所述多個(gè)算法中每個(gè)算法的所述傳輸速率,至少部分通過:組合集體開銷參數(shù)與所述多個(gè)算法中每個(gè)算法的合計(jì)的帶寬參數(shù),其中所述集體開銷參數(shù)包括沿所述關(guān)鍵路徑的所述點(diǎn)對點(diǎn)操作的最大點(diǎn)對點(diǎn)開銷參數(shù)以及算法特定系數(shù)。
29.如權(quán)利要求22-28中任一項(xiàng)所述的并行計(jì)算系統(tǒng),其中所述調(diào)諧模塊進(jìn)一步配置成確定所述多個(gè)算法中的每個(gè)算法的所述傳輸速率,至少部分通過:將所述多個(gè)算法中的每個(gè)算法建模為對應(yīng)多個(gè)雙向發(fā)送-接收操作。
30.如權(quán)利要求22-28中任一項(xiàng)所述的并行計(jì)算系統(tǒng),其中所述多個(gè)節(jié)點(diǎn)中的至少一個(gè)節(jié)點(diǎn)包括配置成使用共享存儲器執(zhí)行多個(gè)過程的對稱多處理器系統(tǒng)。
【文檔編號】G06F11/34GK104025053SQ201180076219
【公開日】2014年9月3日 申請日期:2011年11月8日 優(yōu)先權(quán)日:2011年11月8日
【發(fā)明者】A.V.蘇帕洛夫, M.V.楚維勒夫, D.V.當(dāng)特索夫, V.D.特魯斯欽 申請人:英特爾公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1
抚顺市| 获嘉县| 汉源县| 青龙| 盐城市| 威信县| 清丰县| 博野县| 灯塔市| 江津市| 安乡县| 南华县| 杭州市| 奉化市| 淮安市| 岑溪市| 台前县| 固镇县| 肥东县| 西乌珠穆沁旗| 保康县| 海阳市| 闸北区| 万全县| 慈利县| 潞城市| 罗定市| 伊金霍洛旗| 武平县| 灵台县| 赤城县| 建昌县| 徐汇区| 罗城| 天祝| 武川县| 峡江县| 合山市| 调兵山市| 象州县| 舟曲县|