本發(fā)明屬于任務(wù)調(diào)度技術(shù)領(lǐng)域,具體為一種電力系統(tǒng)中融合LIFO和HRF的任務(wù)調(diào)度方法。
背景技術(shù):
隨著用電信息采集裝置的安裝率和覆蓋率趨于100%,用電采集信息的價值不斷凸顯,而原有的采集系統(tǒng)無法跟上急劇增加的信息量,由于用電信息的提升導(dǎo)致檔案數(shù)據(jù)量急劇增大,存取與加載都會產(chǎn)生大量的IO操作,單純從硬件配置上進行解決是有一定限制的,而且更高的配置往往意味著更高的價格。磁盤高速緩存讀取效率的提升往往與cache的命中率是分不開的,而cache命中率的提升需要任務(wù)調(diào)度來解決。一般的任務(wù)調(diào)度方式主要是LIFO(后進先出)和FIFO(先進先出),其中LIFO在使用過程中雖然可以提升cache的命中率,但是其在CPU的利用率上存在一個“拖尾任務(wù)”問題(剩余任務(wù)數(shù)少于處理機個數(shù)時,導(dǎo)致處理機空閑),導(dǎo)致不能更好地利用CPU,無法更好地提升IO效率。
技術(shù)實現(xiàn)要素:
本發(fā)明的目的在于提供一種電力系統(tǒng)中融合LIFO和HRF的任務(wù)調(diào)度方法,該方法融合LIFO和HRF(Highest Rank First高優(yōu)先級優(yōu)先)的任務(wù)調(diào)度方法來增加任務(wù)調(diào)度的性能,從而提升IO的效率。
為實現(xiàn)上述目的,本發(fā)明的技術(shù)方案是:一種電力系統(tǒng)中融合LIFO和HRF的任務(wù)調(diào)度方法,包括如下步驟,
S1:對電力系統(tǒng)中使用的電腦集群中的內(nèi)核數(shù)進行統(tǒng)計;
S2:根據(jù)優(yōu)先級的定義,計算出節(jié)點隊列中最高優(yōu)先級的任務(wù)數(shù);
S3:根據(jù)最高優(yōu)先級任務(wù)數(shù)與內(nèi)核數(shù)的關(guān)系確定任務(wù)調(diào)度的方法。
在本發(fā)明一實施例中,所述步驟S2具體實現(xiàn)如下,
S21、做出任務(wù)的有向無環(huán)圖DAG;
S22、進行優(yōu)先級定義:優(yōu)先級定義為一個任務(wù)在DAG中與目標(biāo)任務(wù)的距離,對于目標(biāo)任務(wù)來說,其優(yōu)先級被定義為0,優(yōu)先級為i的任務(wù)的前提任務(wù)的優(yōu)先級被定義為i+1;若一個任務(wù)是多個不同優(yōu)先級任務(wù)的前提,那么該任務(wù)的優(yōu)先級就是其中最大的任務(wù)優(yōu)先級加1;
S23、對工作節(jié)點隊列中擁有最高優(yōu)先級的任務(wù)數(shù)進行統(tǒng)計。
在本發(fā)明一實施例中,所述步驟S3具體實現(xiàn)如下,
根據(jù)步驟S1統(tǒng)計的內(nèi)核數(shù)及步驟S2獲得的最高優(yōu)先級任務(wù)數(shù),分別設(shè)Nhr為節(jié)點隊列中具有最高優(yōu)先級的任務(wù)數(shù),Ncore為相關(guān)節(jié)點的內(nèi)核數(shù);若Nhr>Ncore,則利用LIFO的方法來選擇任務(wù),若Nhr≤Ncore,則利用HRF的方法來選擇任務(wù)。
相較于現(xiàn)有技術(shù),本發(fā)明具有以下有益效果:本發(fā)明通過將LIFO和HRF進行有效的結(jié)合,不僅可以利用到LIFO提高cache命中率的優(yōu)點,而且可以緩解其“拖尾任務(wù)”問題導(dǎo)致的CPU利用率不夠的問題,從而有效地提高了IO效率。
附圖說明
圖1為本發(fā)明實施例提供的電力系統(tǒng)中融合LIFO和HRF的任務(wù)調(diào)度方法的流程圖。
具體實施方式
下面結(jié)合附圖,對本發(fā)明的技術(shù)方案進行具體說明。
如圖1所示,本發(fā)明的一種電力系統(tǒng)中融合LIFO和HRF的任務(wù)調(diào)度方法,包括如下步驟,
S1:對電力系統(tǒng)中使用的電腦集群中的內(nèi)核數(shù)進行統(tǒng)計;
S2:根據(jù)優(yōu)先級的定義,計算出節(jié)點隊列中最高優(yōu)先級的任務(wù)數(shù);
S3:根據(jù)最高優(yōu)先級任務(wù)數(shù)與內(nèi)核數(shù)的關(guān)系確定任務(wù)調(diào)度的方法。
所述步驟S2具體實現(xiàn)如下,
S21、做出任務(wù)的有向無環(huán)圖DAG;
S22、進行優(yōu)先級定義:優(yōu)先級定義為一個任務(wù)在DAG中與目標(biāo)任務(wù)的距離,對于目標(biāo)任務(wù)來說,其優(yōu)先級被定義為0,優(yōu)先級為i的任務(wù)的前提任務(wù)的優(yōu)先級被定義為i+1;若一個任務(wù)是多個不同優(yōu)先級任務(wù)的前提,那么該任務(wù)的優(yōu)先級就是其中最大的任務(wù)優(yōu)先級加1;
S23、對工作節(jié)點隊列中擁有最高優(yōu)先級的任務(wù)數(shù)進行統(tǒng)計。
所述步驟S3具體實現(xiàn)如下,
根據(jù)步驟S1統(tǒng)計的內(nèi)核數(shù)及步驟S2獲得的最高優(yōu)先級任務(wù)數(shù),分別設(shè)Nhr為節(jié)點隊列中具有最高優(yōu)先級的任務(wù)數(shù),Ncore為相關(guān)節(jié)點的內(nèi)核數(shù);若Nhr>Ncore,則利用LIFO的方法來選擇任務(wù),若Nhr≤Ncore,則利用HRF的方法來選擇任務(wù)。
以下為本發(fā)明的具體實施過程。
本發(fā)明實例提供電力系統(tǒng)中一種融合LIFO和HRF的任務(wù)調(diào)度方法。如圖1所示,該方法主要包括如下步驟:
步驟11、對電力系統(tǒng)中使用的電腦集群中的內(nèi)核數(shù)進行統(tǒng)計;
步驟12、根據(jù)優(yōu)先級的定義,計算出節(jié)點隊列中最高優(yōu)先級的任務(wù)數(shù);
步驟13、根據(jù)最高優(yōu)先級任務(wù)數(shù)與內(nèi)核數(shù)的關(guān)系確定任務(wù)調(diào)度的方法;
具體通過如下三個步驟來實現(xiàn):
1)對所要使用的用電信息采集系統(tǒng)中涉及的電腦集群中的內(nèi)核數(shù)目進行統(tǒng)計確定;
2)首先對優(yōu)先級進行確定;在這之前先做出任務(wù)的DAG(有向無環(huán)圖),然后進行優(yōu)先級確定。優(yōu)先級定義為一個任務(wù)在DAG中與目標(biāo)任務(wù)的距離,對于目標(biāo)任務(wù)來說,其優(yōu)先級被定義為0,優(yōu)先級為i的任務(wù)的前提任務(wù)的優(yōu)先級被定義為i+1。如果一個任務(wù)是多個不同優(yōu)先級任務(wù)的前提,那么此任務(wù)的優(yōu)先級就是其中最大的任務(wù)優(yōu)先級加1。然后對工作節(jié)點隊列中擁有最高優(yōu)先級的任務(wù)數(shù)進行統(tǒng)計;
3)根據(jù)最高優(yōu)先級任務(wù)數(shù)和內(nèi)核數(shù)來確定任務(wù)調(diào)度算法;我們定義Nhr為節(jié)點隊列中具有最高優(yōu)先級的任務(wù)數(shù),Ncore為相關(guān)節(jié)點的內(nèi)核數(shù)。如果Nhr>Ncore,利用LIFO的方法來選擇任務(wù),如果Nhr≤Ncore,利用HRF的方法來選擇任務(wù)。
本發(fā)明實例的上述方案,通過將LIFO和HRF進行有效的結(jié)合,不僅可以利用到LIFO提高cache命中率的優(yōu)點,而且可以緩解其“拖尾任務(wù)”問題導(dǎo)致的CPU利用率不夠的問題,從而有效地提高了IO效率。
通過以上的實施方式的描述,本領(lǐng)域的技術(shù)人員可以清楚地了解到上述實施例可以通過軟件實現(xiàn)。基于這樣的理解,上述實施例的技術(shù)方案可以以軟件產(chǎn)品的形式體現(xiàn)出來,該軟件產(chǎn)品可以存儲在一個非易失性存儲介質(zhì)(可以是CD-ROM,U盤,移動硬盤等)中,包括若干指令用以使得系統(tǒng)執(zhí)行本發(fā)明各個實施例所述的方法。
以上所述,僅為本發(fā)明較佳的具體實施方式,但本發(fā)明的保護范圍并不局限于此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明披露的技術(shù)范圍內(nèi),可輕易想到的變化或替換,都應(yīng)涵蓋在本發(fā)明的保護范圍之內(nèi)。因此,本發(fā)明的保護范圍應(yīng)該以權(quán)利要求書的保護范圍為準(zhǔn)。