本發(fā)明屬于調(diào)度算法,特別涉及基于改進(jìn)的預(yù)測成本矩陣的異構(gòu)計(jì)算列表調(diào)度算法。
背景技術(shù):
1、在當(dāng)今計(jì)算技術(shù)飛速發(fā)展的時(shí)代,計(jì)算密集型任務(wù)在高性能計(jì)算和科學(xué)研究領(lǐng)域越來越普遍,廣泛應(yīng)用于科學(xué)計(jì)算、機(jī)器學(xué)習(xí)訓(xùn)練、圖像和視頻處理等領(lǐng)域。然而,這類任務(wù)涉及復(fù)雜的計(jì)算操作,對處理器的計(jì)算能力要求極高,由于計(jì)算資源的局限性,傳統(tǒng)的單一類型處理單元難以高效處理。因此,各類科學(xué)研究和工業(yè)應(yīng)用已經(jīng)廣泛引入了異構(gòu)計(jì)算架構(gòu)。通過利用不同類型的處理單元(如cpu、gpu、fpga等)各自的優(yōu)勢來協(xié)同處理復(fù)雜計(jì)算任務(wù)。異構(gòu)計(jì)算架構(gòu)不僅能夠提高計(jì)算效率,還能顯著降低能耗,滿足各類計(jì)算密集型任務(wù)的需求。異構(gòu)計(jì)算系統(tǒng)的引入帶來了巨大的性能提升,但同時(shí)也增加了任務(wù)調(diào)度的復(fù)雜性。不同類型的處理單元具有不同的計(jì)算能力、內(nèi)存架構(gòu)和通信延遲,這使得任務(wù)的合理分配變得尤為重要。有效的任務(wù)調(diào)度不僅需要考慮任務(wù)的計(jì)算需求和處理單元的特性,還需要優(yōu)化任務(wù)的執(zhí)行順序和資源分配,以確保所有任務(wù)能夠在合適的時(shí)間由合適的處理器完成。尤其在異構(gòu)計(jì)算系統(tǒng)中,這一目標(biāo)尤為復(fù)雜且具有挑戰(zhàn)性,因?yàn)樾枰胶獠煌幚韱卧g的負(fù)載,最大化資源利用率。任務(wù)調(diào)度是公認(rèn)的np完全問題,啟發(fā)式的算法通常用于在可接受的時(shí)間內(nèi)獲得合理的解決方案,列表調(diào)度算法作為一種有效的啟發(fā)式調(diào)度策略,通過為任務(wù)設(shè)定優(yōu)先級,然后根據(jù)預(yù)設(shè)的規(guī)則將每個(gè)任務(wù)分配給最合適的處理器,在異構(gòu)系統(tǒng)中得到了廣泛應(yīng)用。這種方法簡潔高效,能夠在短時(shí)間內(nèi)生成高質(zhì)量的調(diào)度方案,從而優(yōu)化任務(wù)的執(zhí)行順序和調(diào)度效率。
2、然而,現(xiàn)有算法對計(jì)算密集型任務(wù)的高執(zhí)行成本方面不夠重視,從而將這些任務(wù)分配給性能較低的處理器,造成處理器過載或閑置,進(jìn)而導(dǎo)致調(diào)度效率低下和資源利用不均衡。目前,在異構(gòu)計(jì)算環(huán)境中,有效的任務(wù)調(diào)度對于優(yōu)化資源利用和提高系統(tǒng)效率至關(guān)重要?,F(xiàn)有算法存在一定問題,特別是對計(jì)算密集型任務(wù)的計(jì)算成本不夠重視,并且在處理器選擇時(shí)未能充分考慮負(fù)載均衡。
技術(shù)實(shí)現(xiàn)思路
1、本發(fā)明提出基于改進(jìn)的預(yù)測成本矩陣的異構(gòu)計(jì)算列表調(diào)度算法,該算法能夠提高異構(gòu)計(jì)算系統(tǒng)中計(jì)算密集型任務(wù)的調(diào)度效率,解決了上述問題。
2、本發(fā)明的技術(shù)方案是這樣實(shí)現(xiàn)的:
3、基于改進(jìn)的預(yù)測成本矩陣的異構(gòu)計(jì)算列表調(diào)度算法,包括任務(wù)優(yōu)先級階段和處理器選擇階段,其中,任務(wù)優(yōu)先級階段采用改進(jìn)的預(yù)測成本矩陣代表任務(wù)在處理器上執(zhí)行時(shí),任務(wù)到退出任務(wù)的最短路徑的最大值,并包含了任務(wù)的平均執(zhí)行成本,bpcm矩陣的計(jì)算方式如下:
4、;
5、其中,當(dāng)時(shí),,對于退出任務(wù),=;
6、在處理器選擇階段中,當(dāng)任務(wù)的出度超過處理器數(shù)量時(shí),選擇最小eft值的處理器來執(zhí)行任務(wù),否則,計(jì)算處理器上每個(gè)任務(wù)的值,它是和的總和,定義如下:
7、
8、然后,選擇最小的處理器執(zhí)行任務(wù)。
9、通過上述技術(shù)方案,第一個(gè)公式:通過考慮任務(wù)的平均執(zhí)行成本,改進(jìn)的bpcm計(jì)算方式,能夠優(yōu)化任務(wù)優(yōu)先級排序;第二個(gè)公式,通過考慮處理器選擇策略,來為任務(wù)找到最合適的處理器;兩者旨在優(yōu)化整體調(diào)度性能。
10、可選的,在任務(wù)優(yōu)先級階段,首先計(jì)算每個(gè)任務(wù)的平均bpcm值,用表示,定義如下:
11、;
12、其中,p是處理器的數(shù)量,根據(jù)對任務(wù)進(jìn)行降序排列。
13、通過上述技術(shù)方案,通過計(jì)算平均bpcm值,可以平衡任務(wù)的執(zhí)行代價(jià),避免過分依賴某一個(gè)處理器的極端性能表現(xiàn)。為后續(xù)的任務(wù)優(yōu)先級排序提供依據(jù),旨在優(yōu)化整體調(diào)度性能。
14、采用了上述技術(shù)方案后,本發(fā)明的有益效果是:
15、本發(fā)明提出了一種新的應(yīng)用于異構(gòu)計(jì)算系統(tǒng)的列表調(diào)度算法,該算法在任務(wù)優(yōu)先級和處理器選擇階段引入預(yù)測機(jī)制,旨在通過考慮計(jì)算密集型任務(wù)的平均計(jì)算成本和出度來平衡負(fù)載,主要包括:(1)提出了一種新的基于列表調(diào)度的平衡預(yù)測優(yōu)先級任務(wù)調(diào)度算法(bppts),旨在最小化任務(wù)流的調(diào)度時(shí)間。同時(shí),算法保持了??(??2??)的復(fù)雜度。
16、(2)提出新的計(jì)算矩陣—bpcm,它以處理器執(zhí)行代價(jià)和任務(wù)依賴關(guān)系為基礎(chǔ),計(jì)算每個(gè)任務(wù)在不同處理器上的預(yù)測成本,精確評估任務(wù)的計(jì)算需求,旨在優(yōu)化任務(wù)調(diào)度和資源分配。
17、(3)基于bpcm的任務(wù)優(yōu)先級排序,bpcm考慮了任務(wù)的平均計(jì)算成本,旨在優(yōu)化計(jì)算密集型任務(wù)的調(diào)度效率。
18、(4)研究了一種新的處理器選擇策略。該算法充分考慮了任務(wù)的出度特征,以確保高效利用處理器資源,實(shí)現(xiàn)最佳負(fù)載均衡。
19、本發(fā)明中的bppts算法包括兩個(gè)關(guān)鍵階段。首先,在任務(wù)優(yōu)先級排序階段,考慮了任務(wù)的平均計(jì)算成本,高效評估每個(gè)任務(wù)的計(jì)算需求,以確定任務(wù)優(yōu)先級的排序。其次,在處理器選擇階段,算法通過考慮每個(gè)任務(wù)的出度,即后繼任務(wù)的數(shù)量,優(yōu)化任務(wù)與處理器之間的映射關(guān)系,減少后續(xù)任務(wù)的等待時(shí)間,避免將高計(jì)算需求任務(wù)分配給低性能處理器所引起的處理器過載或閑置問題,有效改善了負(fù)載均衡和調(diào)度效率。
1.基于改進(jìn)的預(yù)測成本矩陣的異構(gòu)計(jì)算列表調(diào)度算法,其特征在于,包括任務(wù)優(yōu)先級階段和處理器選擇階段,其中,任務(wù)優(yōu)先級階段采用改進(jìn)的預(yù)測成本矩陣代表任務(wù)在處理器上執(zhí)行時(shí),任務(wù)到退出任務(wù)的最短路徑的最大值,并包含了任務(wù)的平均執(zhí)行成本,bpcm矩陣的計(jì)算方式如下:
2.根據(jù)權(quán)利要求1所述的基于改進(jìn)的預(yù)測成本矩陣的異構(gòu)計(jì)算列表調(diào)度算法,其特征在于,在任務(wù)優(yōu)先級階段,首先計(jì)算每個(gè)任務(wù)的平均bpcm值,用表示,定義如下: