亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

并行程序運(yùn)行時參數(shù)優(yōu)化方法與流程

文檔序號:12786190閱讀:302來源:國知局
并行程序運(yùn)行時參數(shù)優(yōu)化方法與流程

本發(fā)明涉及計算機(jī)技術(shù)領(lǐng)域,尤其涉及一種并行程序運(yùn)行時參數(shù)優(yōu)化方法。



背景技術(shù):

MPI(Message Passing Interface)是由全世界工業(yè)、科研和政府部門聯(lián)合建立的一個消息傳遞編程標(biāo)準(zhǔn),提供了大多數(shù)并行應(yīng)用與硬件之間的接口,是高性能計算領(lǐng)域并行程序開發(fā)的事實標(biāo)準(zhǔn),被廣泛應(yīng)用于分布式以及共享內(nèi)存系統(tǒng)。OpenMPI是一個基于組件結(jié)構(gòu)的MPI具體實現(xiàn),實現(xiàn)了MPI-1和MPI-2標(biāo)準(zhǔn),并且是開源的。OpenMPI設(shè)計集中在the Modular Component Architecture(MCA),其是一個軟件層,提供了對OpenMPI框架的管理服務(wù)。MCA提供的管理服務(wù)可以將從高層抽象(mpirun)接收的運(yùn)行時參數(shù)傳遞到底層相應(yīng)的框架。MCA運(yùn)行時參數(shù)可以使系統(tǒng)管理員、終端用戶以及開發(fā)者調(diào)優(yōu)應(yīng)用程序以及系統(tǒng)的性能,而不需要重新編譯MPI應(yīng)用程序。

在超算系統(tǒng)平臺下的應(yīng)用程序有很多,應(yīng)用涉及多個領(lǐng)域,不同領(lǐng)域的用戶利用相應(yīng)的應(yīng)用程序解決其研究問題。為了解決輸入不同的問題,同一個應(yīng)用程序會被用戶反復(fù)執(zhí)行。通過優(yōu)化應(yīng)用程序,可以提高其執(zhí)行效率,從而提高超算系統(tǒng)平臺的整體吞吐率。

集群計算環(huán)境,盡管成為了高性能計算平臺的主要選擇,但是其復(fù)雜性不斷增加。在集群平臺上MPI應(yīng)用程序要獲得很好的性能是很容易的,但是要獲得最好的MPI性能仍然是一項異常困難的任務(wù),需要對系統(tǒng)的軟件、硬件的所有層次進(jìn)行最大化調(diào)優(yōu)。可調(diào)的運(yùn)行時參數(shù)可以對MPI應(yīng)用程序帶來可觀的性能提升,但同時運(yùn)行時參數(shù)的配置集合以及相應(yīng)的優(yōu)化空間相當(dāng)龐大,探索MPI應(yīng)用程序的整個優(yōu)化空間需要在大量參數(shù)組合下執(zhí)行MPI應(yīng)用程序,其執(zhí)行次數(shù)隨運(yùn)行時參數(shù)的數(shù)量呈指數(shù)增長。目前,調(diào)優(yōu)MPI應(yīng)用程序運(yùn)行時參數(shù)還沒有較為完善的技術(shù)方案。



技術(shù)實現(xiàn)要素:

本發(fā)明的目的是提供一種并行程序運(yùn)行時參數(shù)優(yōu)化方法,可以獲得并行程序在具體硬件平臺下最優(yōu)的參數(shù)組合,可以將該參數(shù)組合推薦給超算用戶,使超算用戶作業(yè)在該參數(shù)組合下運(yùn)行,優(yōu)化應(yīng)用程序執(zhí)行效率,從而提高超算系統(tǒng)平臺整體吞吐率。

本發(fā)明的目的是通過以下技術(shù)方案實現(xiàn)的:

一種并行程序運(yùn)行時參數(shù)優(yōu)化方法,包括:

利用一次一因子實驗方法進(jìn)行預(yù)備實驗,獲得程序性能受單個參數(shù)變化的影響,從而篩選出對程序性能影響超出預(yù)定目標(biāo)的參數(shù)及其參數(shù)值;

利用均勻?qū)嶒灧椒?,從預(yù)備實驗篩選出的參數(shù)中粗篩選出當(dāng)前最優(yōu)的參數(shù)組合;

在粗篩選出最優(yōu)的參數(shù)組合中的各參數(shù)取值附近再取一定量的參數(shù)值,并利用正交實驗方法分析出各個參數(shù)及其參數(shù)值對實驗指標(biāo)的貢獻(xiàn)大小,進(jìn)而確定最終的最優(yōu)參數(shù)組合。

所述實驗指標(biāo)為程序運(yùn)行時間,并行程序的各個參數(shù)作為實驗因素,并行程序的各個參數(shù)的不同取值作為對應(yīng)實驗因素的水平,各個實驗因素在某個水平上進(jìn)行取值得到的一組搭配情況作為實驗點(diǎn),對每個實驗點(diǎn)依次進(jìn)行實驗,研究實驗因素對實驗指標(biāo)的影響,從而確定最優(yōu)參數(shù)組合,使并行程序在該最優(yōu)參數(shù)組合下運(yùn)行時間最少。

篩選出對程序性能影響超出預(yù)定目標(biāo)的參數(shù)的步驟包括:

對每個參數(shù)選擇初始參數(shù)值,即為每個可調(diào)參數(shù)賦予一個初始值;

在保持其他參數(shù)在初始參數(shù)值不變的條件下,讓每一個參數(shù)在其所允許的范圍內(nèi)進(jìn)行連續(xù)變動;

當(dāng)所有的實驗都做完后,獲得程序性能受單個參數(shù)的水平變化的影響,從而篩選出對程序性能影響超出預(yù)定目標(biāo)的參數(shù)及其參數(shù)值。

所述利用均勻?qū)嶒灧椒◤念A(yù)備實驗篩選出的參數(shù)中粗篩選出當(dāng)前最優(yōu)的參數(shù)組合的步驟包括:

根據(jù)所選參數(shù)的個數(shù)與各參數(shù)的參數(shù)值個數(shù),確定相應(yīng)的均勻表,進(jìn)而確定實驗方案;

根據(jù)實驗方案,在每組參數(shù)的不同參數(shù)值組合下運(yùn)行程序;

將最優(yōu)的實驗結(jié)果對應(yīng)的參數(shù)組及其參數(shù)值,作為粗篩選出的當(dāng)前最優(yōu)的參數(shù)組合。

所述確定最終的最優(yōu)參數(shù)組合的步驟包括:

針對粗篩選出最優(yōu)的參數(shù)組合,各參數(shù)分別再取一定數(shù)量的參數(shù)值,所取的參數(shù)值在當(dāng)前最優(yōu)的參數(shù)組合中對應(yīng)參數(shù)的參數(shù)值附近,所取的參數(shù)值作為對應(yīng)參數(shù)的水平,再根據(jù)粗篩選出最優(yōu)的參數(shù)組合中參數(shù)的個數(shù)與調(diào)整后的各參數(shù)的水平個數(shù),確定相應(yīng)的正交表,進(jìn)而確定實驗方案;

根據(jù)實驗方案,在每組參數(shù)的不同參數(shù)值組合下運(yùn)行程序;

計算性能增量,以性能增量作為參數(shù)對程序性能的貢獻(xiàn)率,統(tǒng)計各個參數(shù)的不同參數(shù)值的貢獻(xiàn)率,篩選出每一參數(shù)貢獻(xiàn)率最高的參數(shù)值,并作為最終的最優(yōu)參數(shù)組合,其中性能增量記為S=(t1-t2)/t2,t1為默認(rèn)參數(shù)組合下程序運(yùn)行時間,t2為優(yōu)化參數(shù)組合下程序運(yùn)行時間。

由上述本發(fā)明提供的技術(shù)方案可以看出,利用均勻?qū)嶒灧椒ǎ鞔趾Y選,可以有效地減少實驗次數(shù),同時獲得了程序的特征數(shù)據(jù)。利用正交實驗方法,作細(xì)篩選,可以有效地簡化均勻?qū)嶒灲Y(jié)果的分析工作,同時可以進(jìn)一步優(yōu)化并行程序運(yùn)行時參數(shù)組合。此外,本發(fā)明中的實驗是在具體硬件平臺下,針對特定應(yīng)用程序進(jìn)行的,實驗數(shù)據(jù)可以很好地反應(yīng)硬件平臺以及應(yīng)用程序的特征。

附圖說明

為了更清楚地說明本發(fā)明實施例的技術(shù)方案,下面將對實施例描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域的普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他附圖。

圖1為本發(fā)明實施例提供的一種并行程序運(yùn)行時參數(shù)優(yōu)化方法的流程圖;

圖2為本發(fā)明實施例提供的通過預(yù)備實驗篩選出對程序性能影響超出預(yù)定目標(biāo)的參數(shù)的流程圖;

圖3為本發(fā)明實施例提供的通過均勻?qū)嶒灧椒ù趾Y選出當(dāng)前最優(yōu)的參數(shù)組合的流程圖;

圖4為本發(fā)明實施例提供的通過正交實驗方法確定最優(yōu)參數(shù)組合的流程圖。

具體實施方式

下面結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明的保護(hù)范圍。

本發(fā)明的目的是提供一種并行程序運(yùn)行時參數(shù)優(yōu)化的方法,在集群平臺上MPI應(yīng)用程序要獲得很好的性能是很容易的,但是要獲得最好的MPI性能仍然是一項異常困難的任務(wù),需要對系統(tǒng)的軟件、硬件的所有層次進(jìn)行最大化調(diào)優(yōu)。本發(fā)明主要針對OpenMPI參數(shù)進(jìn)行優(yōu)化。雖然,超算系統(tǒng)下的應(yīng)用程序有很多歷史運(yùn)行數(shù)據(jù),但是這些數(shù)據(jù)并不涉及本發(fā)明所優(yōu)化的OpenMPI參數(shù),或者這些數(shù)據(jù)所涉及的OpenMPI參數(shù)并不全面,歷史運(yùn)行數(shù)據(jù)不能直接用于本發(fā)明。

如何在大量的參數(shù)組合中選擇出可使并行程序運(yùn)行時間最少的參數(shù)組合,既是一個理論問題,又是一個實際應(yīng)用問題。這個問題其實是一個多因素實驗問題,在本發(fā)明實施例中,程序運(yùn)行時間可作為實驗指標(biāo),OpenMPI各參數(shù)可作為實驗因素,OpenMPI各參數(shù)的不同取值可作為對應(yīng)因素的水平,各個實驗因素在某個水平上進(jìn)行取值得到的一組搭配情況可作為實驗點(diǎn),對每個實驗點(diǎn)依次進(jìn)行實驗,研究實驗因素對實驗指標(biāo)的影響,從而確定最優(yōu)參數(shù)組合,使并行程序在該參數(shù)組合下運(yùn)行時間最少。

該多因素實驗問題滿足如下特性:

1.實驗因素的水平個數(shù)不等。

2.實驗點(diǎn)有限,具有可操作性,即只能用有限的時間來完成實驗。

本發(fā)明實施例提供的一種并行程序運(yùn)行時參數(shù)優(yōu)化方法如圖1所示,其主要包括:

步驟11、利用一次一因子實驗方法進(jìn)行預(yù)備實驗,獲得程序性能受單個參數(shù)變化的影響,從而篩選出對程序性能影響超出預(yù)定目標(biāo)的參數(shù)以及相應(yīng)的參數(shù)值。

本發(fā)明實施例中,所述并行程序的MPI接口的具體實現(xiàn)為OpenMPI,由于OpenMPI參數(shù)有許多,在特定的硬件環(huán)境下,有些參數(shù)對并行程序性能有影響,有些參數(shù)沒有影響。利用一次一因子實驗方法進(jìn)行預(yù)備實驗,可以反映出程序性能如何受單個參數(shù)的水平(參數(shù)值)變化的影響,從而優(yōu)選出一些對并行程序性能有較大影響(即對程序性能影響超出預(yù)定目標(biāo))的參數(shù)。

本步驟的具體過程如圖2所示,主要過程如下:

對每個參數(shù)(實驗因素)選擇初始參數(shù)值(初始水平),即為每個可調(diào)參數(shù)賦予一個初始值;

在保持其他參數(shù)在初始參數(shù)值不變的條件下,讓每一個參數(shù)在其所允許的范圍內(nèi)進(jìn)行連續(xù)變動;

當(dāng)所有的實驗都做完后,獲得程序性能受單個參數(shù)的參數(shù)值變化的影響,從而篩選出對程序性能影響超出預(yù)定目標(biāo)的參數(shù)以及相應(yīng)的參數(shù)值。

步驟12、利用均勻?qū)嶒灧椒?,從預(yù)備實驗篩選出的參數(shù)中粗篩選出當(dāng)前最優(yōu)的參數(shù)組合。

對于預(yù)備實驗選擇的OpenMPI參數(shù),部分參數(shù)取值連續(xù),取值范圍很大,從中可以取多個值作為該參數(shù)的水平,并行程序在這些參數(shù)的不同組合下可能會表現(xiàn)出更優(yōu)的性能,由于一次一因子實驗的實驗點(diǎn)僅局限于局部區(qū)域,不能反映參數(shù)組合的全面情況,而要窮舉出所有的參數(shù)組合會是指數(shù)時間,這又使得實驗不具有可操作性。如果利用正交實驗方法優(yōu)化并行程序的OpenMPI參數(shù),雖然其實驗點(diǎn)代表性強(qiáng),可以反映參數(shù)組合的全面情況,不過其實驗次數(shù)為參數(shù)的水平個數(shù)的平方,對于參數(shù)的水平個數(shù)比較多且耗時較多的并行程序,完成實驗所需的時間依然無法承受。而如果利用均勻?qū)嶒灧椒▋?yōu)化并行程序的OpenMPI參數(shù),其實驗點(diǎn)分散均勻,可以反映參數(shù)組合的全面情況,同時其實驗次數(shù)與參數(shù)的水平個數(shù)相同,大大減少了實驗次數(shù),縮短了實驗時間。因此,本發(fā)明實施例中利用均勻?qū)嶒炘诤艽蠓秶鷥?nèi)進(jìn)行篩選。

本步驟的具體過程如圖3所示,主要過程如下:

根據(jù)所選參數(shù)的個數(shù)與各參數(shù)的參數(shù)值個數(shù)(水平個數(shù)),確定相應(yīng)的均勻表,進(jìn)而確定實驗方案。

根據(jù)實驗方案,在每組參數(shù)的不同參數(shù)值組合下運(yùn)行程序;

將最優(yōu)的實驗結(jié)果對應(yīng)的參數(shù)組及其參數(shù)值,作為粗篩選出的當(dāng)前最優(yōu)的參數(shù)組合。

通過上述均勻?qū)嶒灧椒梢源趾Y選出當(dāng)前最優(yōu)的參數(shù)組合,其包含了若干參數(shù)以及每一參數(shù)對應(yīng)的參數(shù)值(即水平)。

均勻?qū)嶒炛兴玫降木鶆虮硎抢脭?shù)論中的一致分布理論精心設(shè)計,而且應(yīng)用數(shù)論方法使實驗點(diǎn)在積分范圍內(nèi)散布得十分均勻,并使分布點(diǎn)離被積函數(shù)的各種值充分接近,便于計算機(jī)統(tǒng)計建模。均勻表具有如下性質(zhì):

1.每個實驗因素的每個水平做一次且僅做一次實驗。

2.任兩個實驗因素的實驗點(diǎn)點(diǎn)在平面的格子點(diǎn)上,每行每列有且僅有一個實驗點(diǎn)。

3.任兩列組成的實驗方案一般并不等價。

步驟13、針對粗篩選出最優(yōu)的參數(shù)組合,各參數(shù)分別再取一定數(shù)量的參數(shù)值,所取的參數(shù)值在該最優(yōu)參數(shù)組合中對應(yīng)參數(shù)的參數(shù)值附近,所取的參數(shù)值作為對應(yīng)參數(shù)的水平,并利用正交實驗方法分析出各個參數(shù)及其參數(shù)值對實驗指標(biāo)的貢獻(xiàn)大小,進(jìn)而確定最終的最優(yōu)參數(shù)組合。

均勻?qū)嶒灥慕Y(jié)果分析要利用回歸模型,對研究人員要求高,需要具備相當(dāng)?shù)臄?shù)理統(tǒng)計知識,而回歸模型到底好不好,還要看實際效果。為了簡化均勻?qū)嶒灥姆治龉ぷ?,同時由于均勻?qū)嶒灥膶嶒烖c(diǎn)分散均勻,實驗中的最優(yōu)參數(shù)組合離全局最優(yōu)的參數(shù)組合不是很遠(yuǎn),所以對粗篩選得到的實驗中當(dāng)前最優(yōu)的參數(shù)組合,在其參數(shù)水平附近再取少量的水平,設(shè)計正交實驗,作細(xì)篩選。通過簡單的直觀分析就可以分析出各參數(shù)及其參數(shù)值對實驗指標(biāo)的貢獻(xiàn)大小,進(jìn)而確定最終的最優(yōu)參數(shù)組合。

本步驟的具體過程如圖4所示,主要過程如下:

針對粗篩選出最優(yōu)的參數(shù)組合,各參數(shù)分別再取一定數(shù)量的參數(shù)值,所取的參數(shù)值在當(dāng)前最優(yōu)參數(shù)組合中對應(yīng)參數(shù)的參數(shù)值附近(即預(yù)定范圍),所取的參數(shù)值作為對應(yīng)參數(shù)的水平,再根據(jù)最優(yōu)的參數(shù)組合中參數(shù)的個數(shù)與調(diào)整后的各參數(shù)的參數(shù)值個數(shù),確定相應(yīng)的正交表,進(jìn)而確定實驗方案;

根據(jù)實驗方案,在每組參數(shù)的不同參數(shù)值組合下運(yùn)行程序;

計算性能增量,以性能增量作為參數(shù)對程序性能的貢獻(xiàn)率,統(tǒng)計各個參數(shù)的不同參數(shù)值的貢獻(xiàn)率,篩選出每一參數(shù)貢獻(xiàn)率最高的參數(shù)值,并作為最終的最優(yōu)參數(shù)組合,其中性能增量記為S=(t1-t2)/t2,t1為默認(rèn)參數(shù)組合下程序運(yùn)行時間,t2為優(yōu)化參數(shù)組合下程序運(yùn)行時間。

正交實驗中所用到的正交表滿足如下性質(zhì):

1.任一因素占據(jù)一列位置。

2.正交性:任一列中不同水平個數(shù)相同,正交表中任意兩列橫向各數(shù)碼搭配所出現(xiàn)的次數(shù)相同。

正交表的正交性使得正交實驗具有如下特點(diǎn):

1.均衡分散:實驗點(diǎn)在實驗范圍內(nèi)散布均勻,具有代表性。

2.整齊可比:實驗點(diǎn)在實驗范圍內(nèi)排列規(guī)律整齊,可以用數(shù)理統(tǒng)計方法對實驗結(jié)果進(jìn)行處理。

本發(fā)明實施例中,在前述步驟11處理后,參數(shù)的種類與數(shù)目已經(jīng)確定,后續(xù)的粗篩選、細(xì)篩選過程主要是確定各參數(shù)的最優(yōu)參數(shù)值,參數(shù)的種類與數(shù)目并不會發(fā)生變化。

本發(fā)明實施例上述方案,利用均勻?qū)嶒灧椒?,作粗篩選,可以有效地減少實驗次數(shù),同時獲得了程序的特征數(shù)據(jù)。利用正交實驗方法,作細(xì)篩選,可以有效地簡化均勻?qū)嶒灲Y(jié)果的分析工作,同時可以進(jìn)一步優(yōu)化并行程序運(yùn)行時參數(shù)組合。其中,本發(fā)明中的實驗是在具體硬件平臺下,針對特定應(yīng)用程序進(jìn)行的,實驗數(shù)據(jù)可以很好地反應(yīng)硬件平臺以及應(yīng)用程序的特征。

通過本發(fā)明的技術(shù)方案,可以獲得并行程序在具體硬件平臺下最優(yōu)的參數(shù)組合,可以將該參數(shù)組合推薦給超算用戶,使超算用戶作業(yè)在該參數(shù)組合下運(yùn)行,優(yōu)化應(yīng)用程序執(zhí)行效率,從而提高超算系統(tǒng)平臺整體吞吐率。

以上所述,僅為本發(fā)明較佳的具體實施方式,但本發(fā)明的保護(hù)范圍并不局限于此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明披露的技術(shù)范圍內(nèi),可輕易想到的變化或替換,都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。因此,本發(fā)明的保護(hù)范圍應(yīng)該以權(quán)利要求書的保護(hù)范圍為準(zhǔn)。

當(dāng)前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1