本發(fā)明涉及計(jì)算機(jī),尤其涉及一種計(jì)算資源分配方法及裝置。
背景技術(shù):
1、對于一組相互依賴的計(jì)算任務(wù),當(dāng)不存在循環(huán)依賴時(shí),其依賴關(guān)系可以用dag(directed?acyclic?graph,有向無環(huán)圖)表示。為這樣的計(jì)算任務(wù)分配計(jì)算資源往往難以做到最優(yōu),因?yàn)榉峙淝膀?qū)任務(wù)會(huì)影響后記任務(wù)的最早分配時(shí)間,計(jì)算最優(yōu)解的算法被證明是np(non-deterministic?polynomial,非決定性多項(xiàng)式問題)復(fù)雜度的。因此在在線分配資源時(shí),由于需要快速完成分配任務(wù),常常使用啟發(fā)式的list算法,以達(dá)到在較短時(shí)間內(nèi)計(jì)算資源分配問題近似最優(yōu)解的目的。
2、啟發(fā)式的list算法每個(gè)time?slot(時(shí)間槽)中對資源的最優(yōu)分配是分配dag中的葉子節(jié)點(diǎn),但當(dāng)可以分配的葉子節(jié)點(diǎn)超過計(jì)算資源數(shù)時(shí),對于葉子節(jié)點(diǎn)的調(diào)度是必須的。
3、因此,不同的啟發(fā)式算法為調(diào)度候選葉子節(jié)點(diǎn)問題設(shè)計(jì)了不同的代價(jià)評估函數(shù),其中主要方法是綜合考慮葉子節(jié)點(diǎn)的深度和后繼節(jié)點(diǎn)數(shù),通常情況下,認(rèn)為同樣深度的葉子節(jié)點(diǎn),其后繼節(jié)點(diǎn)數(shù)越多,調(diào)度代價(jià)就越大,因此優(yōu)先分配計(jì)算資源。
4、然而,僅考慮葉子節(jié)點(diǎn)的深度和后繼節(jié)點(diǎn)數(shù)難以準(zhǔn)確反應(yīng)每個(gè)葉子節(jié)點(diǎn)的調(diào)度代價(jià),從而難以確保每次求得調(diào)度代價(jià)最小的葉子節(jié)點(diǎn)。
技術(shù)實(shí)現(xiàn)思路
1、本發(fā)明提供一種計(jì)算資源分配方法及裝置,用以解決現(xiàn)有技術(shù)中僅考慮葉子節(jié)點(diǎn)的深度和后繼節(jié)點(diǎn)數(shù)難以準(zhǔn)確反應(yīng)每個(gè)葉子節(jié)點(diǎn)的調(diào)度代價(jià)的缺陷,實(shí)現(xiàn)一種分配效率更優(yōu)的計(jì)算資源分配方法。
2、本發(fā)明提供一種計(jì)算資源分配方法,包括:
3、在待分配的計(jì)算任務(wù)于當(dāng)前時(shí)間周期的有向無環(huán)圖中確定葉子節(jié)點(diǎn),并將依賴任務(wù)已經(jīng)完成的計(jì)算任務(wù)對應(yīng)的葉子節(jié)點(diǎn)作為候選節(jié)點(diǎn);
4、在所述候選節(jié)點(diǎn)的數(shù)量大于可用計(jì)算資源數(shù)的情況下,基于預(yù)先確定的測度指標(biāo)評估每個(gè)候選節(jié)點(diǎn)的邊際成本,所述測度指標(biāo)為優(yōu)化有向無環(huán)圖中任務(wù)調(diào)度效率的相關(guān)指標(biāo);
5、按照所述邊際成本由大到小的順序依次為所述候選節(jié)點(diǎn)分配計(jì)算資源。
6、根據(jù)本發(fā)明提供的一種計(jì)算資源分配方法,所述按照所述邊際成本由大到小的順序依次為所述候選節(jié)點(diǎn)分配計(jì)算資源的步驟之后,還包括:
7、刪除當(dāng)前時(shí)間周期的有向無環(huán)圖中已經(jīng)分配計(jì)算資源的節(jié)點(diǎn)和與所述已經(jīng)分配計(jì)算資源的節(jié)點(diǎn)相連的邊;
8、將剩余的當(dāng)前時(shí)間周期的有向無環(huán)圖更新為下一時(shí)間周期的有向無環(huán)圖。
9、根據(jù)本發(fā)明提供的一種計(jì)算資源分配方法,所述測度指標(biāo)包括δmakespan、est_diff和successor_num:
10、所述δmakespan表征調(diào)度任一候選節(jié)點(diǎn)后,makespan的改變值;
11、所述est_diff表征調(diào)度任一候選節(jié)點(diǎn)后,est發(fā)生變化的節(jié)點(diǎn)數(shù)量;
12、所述successor_num表征任一候選節(jié)點(diǎn)的后繼節(jié)點(diǎn)數(shù)。
13、根據(jù)本發(fā)明提供的一種計(jì)算資源分配方法,所述基于預(yù)先確定的測度指標(biāo)評估每個(gè)候選節(jié)點(diǎn)的邊際成本的步驟,具體包括:
14、以所有所述候選節(jié)點(diǎn)不需要調(diào)度的情況下,有向無環(huán)圖中剩余各節(jié)點(diǎn)的最早開始時(shí)間為基準(zhǔn),計(jì)算調(diào)度每個(gè)所述候選節(jié)點(diǎn)時(shí)對應(yīng)的δmakespan、est_diff和successor_num;
15、將計(jì)算得到的調(diào)度每個(gè)所述候選節(jié)點(diǎn)時(shí)對應(yīng)的δmakespan、est_diff和successor_num的值作為所述每個(gè)候選節(jié)點(diǎn)的邊際成本。
16、根據(jù)本發(fā)明提供的一種計(jì)算資源分配方法,所述按照所述邊際成本由大到小的順序依次為所述候選節(jié)點(diǎn)分配計(jì)算資源的步驟,具體包括:
17、對于每個(gè)所述候選節(jié)點(diǎn),在其δmakespan為1的情況下,確定其調(diào)度優(yōu)先級為三級;
18、否則,判斷其est_diff,在其est_diff大于0的情況下,確定其調(diào)度優(yōu)先級為二級;
19、否則,確定其調(diào)度優(yōu)先級為一級;
20、按照est_diff從大到小的順序依次為所述調(diào)度優(yōu)先級為三級的候選節(jié)點(diǎn)分配計(jì)算資源;
21、在優(yōu)先級位三級的候選節(jié)點(diǎn)分配完成后仍有計(jì)算資源剩余的情況下,按照est_diff從大到小的順序依次為調(diào)度優(yōu)先級為二級的候選節(jié)點(diǎn)分配計(jì)算資源;
22、在優(yōu)先級為二級的候選節(jié)點(diǎn)分配完成后仍有計(jì)算資源剩余的情況下,按照successor_num從大到小的順序依次為調(diào)度優(yōu)先級為一級的候選節(jié)點(diǎn)分配計(jì)算資源;
23、在全部計(jì)算資源分配完成后結(jié)束當(dāng)前時(shí)間周期的計(jì)算資源分配。
24、根據(jù)本發(fā)明提供的一種計(jì)算資源分配方法,所述基于預(yù)先確定的測度指標(biāo)評估每個(gè)候選節(jié)點(diǎn)的邊際成本的步驟,具體包括:
25、以所有所述候選節(jié)點(diǎn)不需要調(diào)度的情況下,有向無環(huán)圖中剩余各節(jié)點(diǎn)的最早開始時(shí)間為基準(zhǔn),計(jì)算調(diào)度每個(gè)所述候選節(jié)點(diǎn)時(shí)對應(yīng)的δmakespan、est_diff和successor_num;
26、對于每個(gè)所述候選節(jié)點(diǎn),將其對應(yīng)的δmakespan作為首位、將其對應(yīng)的est_diff作為次位、將其對應(yīng)的successor_num作為末位構(gòu)建代價(jià)標(biāo)量;
27、將構(gòu)建得到的所述代價(jià)標(biāo)量作為每個(gè)所述候選節(jié)點(diǎn)的邊際成本。
28、本發(fā)明還提供一種計(jì)算資源分配裝置,包括:
29、確定模塊,用于在待分配的計(jì)算任務(wù)于當(dāng)前時(shí)間周期的有向無環(huán)圖中確定葉子節(jié)點(diǎn),并將依賴任務(wù)已經(jīng)完成的計(jì)算任務(wù)對應(yīng)的葉子節(jié)點(diǎn)作為候選節(jié)點(diǎn);
30、計(jì)算模塊,用于在所述候選節(jié)點(diǎn)的數(shù)量大于可用計(jì)算資源數(shù)的情況下,基于預(yù)先確定的測度指標(biāo)評估每個(gè)候選節(jié)點(diǎn)的邊際成本,所述測度指標(biāo)為優(yōu)化有向無環(huán)圖中任務(wù)調(diào)度效率的相關(guān)指標(biāo);
31、分配模塊,用于按照所述邊際成本由大到小的順序依次為所述候選節(jié)點(diǎn)分配計(jì)算資源。
32、本發(fā)明還提供一種電子設(shè)備,包括存儲(chǔ)器、處理器及存儲(chǔ)在存儲(chǔ)器上并可在處理器上運(yùn)行的計(jì)算機(jī)程序,所述處理器執(zhí)行所述程序時(shí)實(shí)現(xiàn)如上述任一種所述計(jì)算資源分配方法。
33、本發(fā)明還提供一種非暫態(tài)計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其上存儲(chǔ)有計(jì)算機(jī)程序,該計(jì)算機(jī)程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)如上述任一種所述計(jì)算資源分配方法。
34、本發(fā)明還提供一種計(jì)算機(jī)程序產(chǎn)品,包括計(jì)算機(jī)程序,所述計(jì)算機(jī)程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)如上述任一種所述計(jì)算資源分配方法。
35、本發(fā)明提供的計(jì)算資源分配方法及裝置,通過確定測度指標(biāo)從而確定調(diào)度每個(gè)候選節(jié)點(diǎn)的邊際成本,按照邊際成本由大到小的順序依次為候選節(jié)點(diǎn)分配計(jì)算資源,從而在任意數(shù)量的計(jì)算資源限制下都能實(shí)現(xiàn)近似最優(yōu)分配。
1.一種計(jì)算資源分配方法,其特征在于,包括:
2.根據(jù)權(quán)利要求1所述的計(jì)算資源分配方法,其特征在于,所述按照所述邊際成本由大到小的順序依次為所述候選節(jié)點(diǎn)分配計(jì)算資源的步驟之后,還包括:
3.根據(jù)權(quán)利要求1或2所述的計(jì)算資源分配方法,其特征在于,所述測度指標(biāo)包括δmakespan、est_diff和successor_num:
4.根據(jù)權(quán)利要求3所述的計(jì)算資源分配方法,其特征在于,所述基于預(yù)先確定的測度指標(biāo)評估每個(gè)候選節(jié)點(diǎn)的邊際成本的步驟,具體包括:
5.根據(jù)權(quán)利要求4所述的計(jì)算資源分配方法,其特征在于,所述按照所述邊際成本由大到小的順序依次為所述候選節(jié)點(diǎn)分配計(jì)算資源的步驟,具體包括:
6.根據(jù)權(quán)利要求3所述的計(jì)算資源分配方法,其特征在于,所述基于預(yù)先確定的測度指標(biāo)評估每個(gè)候選節(jié)點(diǎn)的邊際成本的步驟,具體包括:
7.一種計(jì)算資源分配裝置,其特征在于,包括:
8.一種電子設(shè)備,包括存儲(chǔ)器、處理器及存儲(chǔ)在所述存儲(chǔ)器上并可在所述處理器上運(yùn)行的計(jì)算機(jī)程序,其特征在于,所述處理器執(zhí)行所述程序時(shí)實(shí)現(xiàn)如權(quán)利要求1至6任一項(xiàng)所述計(jì)算資源分配方法。
9.一種非暫態(tài)計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其上存儲(chǔ)有計(jì)算機(jī)程序,其特征在于,所述計(jì)算機(jī)程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)如權(quán)利要求1至6任一項(xiàng)所述計(jì)算資源分配方法。
10.一種計(jì)算機(jī)程序產(chǎn)品,包括計(jì)算機(jī)程序,其特征在于,所述計(jì)算機(jī)程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)如權(quán)利要求1至6任一項(xiàng)所述計(jì)算資源分配方法。