一種任務(wù)調(diào)度方法、裝置及系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明屬于計算機技術(shù)領(lǐng)域,尤其涉及一種任務(wù)調(diào)度方法、裝置及系統(tǒng)。
【背景技術(shù)】
[0002] 數(shù)據(jù)中心的發(fā)展大致經(jīng)歷了幾個階段。早期,計算機領(lǐng)域巨大的計算機房是數(shù)據(jù) 中心的雛形。20世紀(jì)90年代,客戶端/服務(wù)器的計算模式逐步普及,服務(wù)器開始被單獨放 置,數(shù)據(jù)中心開始流行。21世紀(jì)初,隨著互聯(lián)網(wǎng)的發(fā)展,互聯(lián)網(wǎng)數(shù)據(jù)中心(Internet Data Center,IDC)快速興起,它所能提供的服務(wù)不斷升級。近年來,氣候變暖、能源緊張等問題, 使數(shù)據(jù)中心面臨著降低能耗、節(jié)約成本的嚴(yán)峻挑戰(zhàn),數(shù)據(jù)中心節(jié)能受到前所未有的關(guān)注, "綠色數(shù)據(jù)中心"的概念應(yīng)運而生,并將成為數(shù)據(jù)中心新的發(fā)展方向,這里面市場價值空前 巨大。
[0003] ARM公司ARMv8特別推出了大小核(A57大核,A53小核)方案,以適應(yīng)數(shù)據(jù)中心的 變革,特別是對大數(shù)據(jù)的處理。從圖1所示的訪問時段圖可以看出有些時間段,數(shù)據(jù)流量很 小且不緊急,這個時候如果只用大核對數(shù)據(jù)進行處理過于浪費,如果只用小核對數(shù)據(jù)進行 處理,又會出現(xiàn)某些時間段小核對數(shù)據(jù)處理不及時的情況。
[0004] 鑒于此,現(xiàn)有技術(shù)采用在一個Socket內(nèi),在數(shù)據(jù)流量很小且不緊急時,將大核的 任務(wù)調(diào)度到小核上面去執(zhí)行來實現(xiàn)節(jié)能,如圖2所示,是單Socket情況下的任務(wù)調(diào)度原理 圖,其中,Socket是指"物理CPU",一般終端設(shè)備上安裝有幾個風(fēng)扇,該終端設(shè)備上就有幾 個Socket。從圖2中可以看到,集群中的從節(jié)點一節(jié)點1中有一個大核,一個小核,可以將節(jié) 點1中的大核需要執(zhí)行的進程分配給小核,由小核代替大核執(zhí)行任務(wù)。雖然通過這種大小 核切換方法,可以使得系統(tǒng)的能耗降低,但是這種切換只是在節(jié)點內(nèi)部大小核之間的切換, 也就是說是基于終端設(shè)備或者在一個服務(wù)器內(nèi)部進行大小核切換,沒有考慮到集群內(nèi)部的 從節(jié)點中的大小核之間的切換,比如,節(jié)點1中的大核與節(jié)點2中的小核之間的切換,因此 沒有考慮到各個小核的能效比,無法真正發(fā)揮能效比高的小核的作用。
【發(fā)明內(nèi)容】
[0005]本發(fā)明實施例提供了一種任務(wù)調(diào)度方法、裝置及系統(tǒng),旨在解決現(xiàn)有技術(shù)在進行 任務(wù)調(diào)度時,不能充分的發(fā)揮能效比高的核的作用的問題。
[0006]第一方面,提供一種任務(wù)調(diào)度方法,所述方法包括:
[0007] 獲取各從節(jié)點中所有第一類核的能效比信息,并按照能效比的值的大小順序?qū)λ?述能效比信息進行排序,生成排序后的能效比信息結(jié)果集,所述第一類核的能效比的值高 于預(yù)設(shè)的第一能效比值;
[0008]獲取當(dāng)前第二類核上運行的任務(wù)中的所有進程,所述第二類核的能效比的值低于 預(yù)設(shè)的第二能效比值,所述第一能效比值大于所述第二能效比值;
[0009] 從最閑進程開始,在所述能效比信息結(jié)果集中,從最小的效能比信息開始依次查 找適合運行每個進程的第一類核;
[0010] 其中,適合運行指定進程的第一類核是指從所述能效比信息結(jié)果集中查找到的 核,該核的處理能力大于所述指定進程的負載;
[0011] 如果在所述能效比信息結(jié)果集中查找到適合運行所述指定進程的第一類核,則將 所述指定進程遷移至所述第一類核上運行。
[0012] 在第一種可能的實現(xiàn)方式中,結(jié)合第一方面,從最閑進程開始,在所述能效比信 息結(jié)果集中,從最小的效能比信息開始依次查找適合運行每個進程的第一類核之后,還包 括:
[0013] 如果從所述能效比信息結(jié)果集中沒有查找到適合運行所述指定進程的第一類核, 則降低所述當(dāng)前第二類核的CPU頻率。
[0014] 在第二種可能的實現(xiàn)方式中,結(jié)合第一方面或者根據(jù)第一種可能的實現(xiàn)方式,在 所述獲取各從節(jié)點中所有第一類核的能效比信息,并按照能效比的值的大小順序?qū)λ瞿?效比信息進行排序,生成排序后的能效比信息結(jié)果集之前,還包括:
[0015] 獲取各從節(jié)點的CPU頻率;
[0016] 對各從節(jié)點的CPU頻率進行加權(quán),得到CPU的使用情況值;
[0017] 如果所述使用情況值小于預(yù)設(shè)的第一處理能力值,則執(zhí)行所述獲取各從節(jié)點中所 有第一類核的能效比信息,并按照能效比的值的大小順序?qū)λ瞿苄П刃畔⑦M行排序,生 成排序后的能效比信息結(jié)果集的步驟;
[0018] 所述第一處理能力值是根據(jù)各從節(jié)點中的所有第一類核的處理能力預(yù)先設(shè)定的。
[0019] 在第三種可能的實現(xiàn)方式中,根據(jù)第二種可能的實現(xiàn)方式,在所述對各從節(jié)點的 CPU頻率進行加權(quán),得到CPU的使用情況值之后,還包括:
[0020] 如果所述使用情況值大于預(yù)設(shè)的第二處理能力值,則繼續(xù)在所述第二類核上運行 所述任務(wù)中的所有進程;
[0021] 如果所述使用情況值大于預(yù)設(shè)的第一處理能力值,小于預(yù)設(shè)的第二處理能力值, 則將所述第二類核上運行的任務(wù)遷移至所述第二類核所在的節(jié)點上的第一類核上運行;
[0022] 所述第二處理能力值是根據(jù)各從節(jié)點中的所有第二類核的處理能力預(yù)先設(shè)定的。
[0023] 第二方面,提供一種任務(wù)調(diào)度裝置,其特征在于,所述任務(wù)調(diào)度裝置包括:
[0024] 能效比獲取單元,用于獲取各從節(jié)點中所有第一類核的能效比信息,并按照能效 比的值的大小順序?qū)λ瞿苄П刃畔⑦M行排序,生成排序后的能效比信息結(jié)果集,所述第 一類核的能效比的值高于預(yù)設(shè)的第一能效比值;
[0025] 進程獲取單元,用于獲取當(dāng)前第二類核上運行的任務(wù)中的所有進程,所述第二類 核的能效比的值低于預(yù)設(shè)的第二能效比值,所述第一能效比值大于所述第二能效比值;
[0026] 核查找單元,用于從最閑進程開始,在所述能效比信息結(jié)果集中,從最小的效能比 信息開始依次查找適合運行每個進程的第一類核,其中,適合運行指定進程的第一類核是 指從所述能效比信息結(jié)果集中查找到的核,該核的處理能力大于所述指定進程的負載;
[0027] 核遷移單元,用于如果在所述能效比信息結(jié)果集中查找到適合運行所述指定進程 的第一類核,則將所述指定進程遷移至所述第一類核上運行。
[0028] 在第一種可能的實現(xiàn)方式中,結(jié)合第二方面,所述任務(wù)調(diào)度裝置還包括 :
[0029] 頻率調(diào)整單元,用于如果從所述能效比信息結(jié)果集中沒有查找到適合運行所述指 定進程的第一類核,則降低所述當(dāng)前第二類核的CPU頻率。
[0030] 在第二種可能的實現(xiàn)方式中,結(jié)合第二方面或者根據(jù)第一種可能的實現(xiàn)方式,所 述任務(wù)調(diào)度裝置還包括:
[0031] 頻率獲取單元,用于獲取各從節(jié)點的CPU頻率;
[0032] 使用情況值獲取單元,用于對各從節(jié)點的CPU頻率進行加權(quán),得到CPU的使用情況 值;
[0033] 第一處理單元,用于如果所述使用情況值小于預(yù)設(shè)的第一處理能力值,調(diào)用能效 比獲取單元,由所述能效比獲取單元執(zhí)行獲取各從節(jié)點中所有第一類核的能效比信息,并 按照能效比的值的大小順序?qū)λ瞿苄П刃畔⑦M行排序,生成排序后的能效比信息結(jié)果集 的步驟;
[0034] 所述第一處理能力值是根據(jù)各從節(jié)點中的所有第一類核的處理能力預(yù)先設(shè)定的。
[0035] 在第三種可能的實現(xiàn)方式中,根據(jù)第二種可能的實現(xiàn)方式,所述任務(wù)調(diào)度裝置還 包括:
[0036] 第二處理單元,用于如果所述使用情況值大于預(yù)設(shè)的第二處理能力值,則繼續(xù)在 所述第二類核上運行所述任務(wù)中的所有進程;
[0037] 第三處理單元,用于如果所述使用情況值大于預(yù)設(shè)的第一處理能力值,小于預(yù)設(shè) 的第二處理能力值,則將所述第二類核上運行的任務(wù)遷移至所述第二類核所在的節(jié)點上的 第一類核上運行;
[0038] 所述第二處理能力值是根據(jù)各從節(jié)點中的所有第二類核的處理能力預(yù)先設(shè)定的。
[0039] 第三方面,提供一種任務(wù)調(diào)度系統(tǒng),所述任務(wù)調(diào)度系統(tǒng)包括主節(jié)點和與所述主節(jié) 點連接的至少一個從節(jié)點,所述主節(jié)點包括如上所述的任務(wù)調(diào)度裝置。
[0040] 從上述方案中可以看出,本發(fā)明實施例通過將第二類核上執(zhí)行的比較空閑的進程 遷移到適合的第一類核上運行,充分地利用第一類核資源,由于第一類核具有相對高的能 效比,所以可以降低整個任務(wù)數(shù)據(jù)中心的能耗成本,并且,也可以使用更多的硬件資源,t匕 如硬盤、內(nèi)存等。
【附圖說明】
[0041] 圖1是本發(fā)明實施例一提供的任務(wù)調(diào)度方法的實現(xiàn)流程圖;
[0042] 圖2是本發(fā)明實施例二提供的任務(wù)調(diào)度方法的實現(xiàn)流程圖;
[0043] 圖3是本發(fā)明實施例三提供的任務(wù)調(diào)度裝置的結(jié)構(gòu)框圖;
[0044] 圖4是本發(fā)明實施例四提供的任務(wù)調(diào)度裝置的結(jié)構(gòu)框圖。
【具體實施方式】