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