專(zhuān)利名稱(chēng):一種機(jī)群作業(yè)管理系統(tǒng)中分配計(jì)算結(jié)點(diǎn)的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及機(jī)群作業(yè)管理系統(tǒng)技術(shù),特別是一種機(jī)群作業(yè)管理系統(tǒng)中分配計(jì)算結(jié)點(diǎn)的方法。
背景技術(shù):
機(jī)群作業(yè)管理系統(tǒng)用于統(tǒng)一管理和調(diào)度機(jī)群系統(tǒng)中的作業(yè)與資源。機(jī)群作業(yè)管理系統(tǒng)的核心內(nèi)容是作業(yè)調(diào)度,而作業(yè)調(diào)度通常包含對(duì)用戶作業(yè)的選取方法和對(duì)計(jì)算結(jié)點(diǎn)的分配方法。對(duì)用戶作業(yè)的選取主要有先進(jìn)先出(FIFO)、第一適合(FirstFit)、最適合(BestFit)、預(yù)約(Reservation)和填充(Backfill)相結(jié)合等多種方法,而目前計(jì)算結(jié)點(diǎn)的分配方法卻相對(duì)比較單一。
在機(jī)群作業(yè)管理系統(tǒng)中,目前常用的分配計(jì)算結(jié)點(diǎn)的方法為首先確定各個(gè)計(jì)算結(jié)點(diǎn)在過(guò)去預(yù)定時(shí)間內(nèi)的平均進(jìn)程數(shù),然后再結(jié)合用戶作業(yè)所指定的計(jì)算結(jié)點(diǎn)的數(shù)目具體分配計(jì)算結(jié)點(diǎn)。
圖1所示為現(xiàn)有技術(shù)的分配計(jì)算結(jié)點(diǎn)方法的流程圖。如圖1所示,包括以下步驟步驟101確定各計(jì)算結(jié)點(diǎn)在過(guò)去預(yù)定時(shí)間內(nèi)的平均進(jìn)程數(shù);步驟102按照用戶作業(yè)中所指定的計(jì)算結(jié)點(diǎn)數(shù)目,依次選取平均進(jìn)程數(shù)較少的計(jì)算結(jié)點(diǎn)。
在實(shí)際應(yīng)用過(guò)程中,用戶作業(yè)對(duì)CPU、內(nèi)存、頁(yè)交換空間和磁盤(pán)等資源的需求是各不相同的。例如某些用戶作業(yè)在運(yùn)行時(shí)可能需要占用大量的CPU時(shí)間,而另一些用戶作業(yè)在運(yùn)行時(shí)卻可能需要占用較大的內(nèi)存空間和交換區(qū)空間。同時(shí),對(duì)于需要大量占用CPU時(shí)間的用戶作業(yè),分配計(jì)算結(jié)點(diǎn)時(shí)還應(yīng)該考慮CPU的穩(wěn)定性,因此機(jī)群作業(yè)管理系統(tǒng)需要根據(jù)用戶作業(yè)的實(shí)際需求而給用戶作業(yè)分配計(jì)算結(jié)點(diǎn)。
現(xiàn)有技術(shù)的計(jì)算結(jié)點(diǎn)分配方法在分配計(jì)算結(jié)點(diǎn)時(shí)僅僅考慮了計(jì)算結(jié)點(diǎn)在過(guò)去某段時(shí)間內(nèi)的平均進(jìn)程數(shù)目,沒(méi)有根據(jù)用戶作業(yè)運(yùn)行的具體需要靈活綜合考慮計(jì)算結(jié)點(diǎn)的內(nèi)存、頁(yè)交換空間、軟件授權(quán)數(shù)和磁盤(pán)等資源的使用情況,同時(shí)也沒(méi)有考慮計(jì)算結(jié)點(diǎn)的CPU的穩(wěn)定性,因此根據(jù)現(xiàn)有技術(shù)所分配的計(jì)算結(jié)點(diǎn)不能有效地與用戶作業(yè)的資源需求相吻合,從而降低了用戶作業(yè)的計(jì)算效率。
同時(shí),現(xiàn)有技術(shù)中沒(méi)有根據(jù)用戶作業(yè)的實(shí)際需要而合理地分配計(jì)算結(jié)點(diǎn),造成各個(gè)計(jì)算結(jié)點(diǎn)之間的負(fù)載不平衡,從而降低了機(jī)群系統(tǒng)的資源利用率和吞吐率。
發(fā)明內(nèi)容
有鑒于此,本發(fā)明的主要目的是提出一種機(jī)群作業(yè)管理系統(tǒng)中分配計(jì)算結(jié)點(diǎn)的方法,以提高用戶作業(yè)的計(jì)算效率。
為達(dá)到上述目的,本發(fā)明的技術(shù)方案是這樣的一種機(jī)群作業(yè)管理系統(tǒng)中分配計(jì)算結(jié)點(diǎn)的方法,包括以下步驟A、確定計(jì)算結(jié)點(diǎn)的負(fù)載平衡指標(biāo);B、根據(jù)用戶作業(yè)確定所述的每一個(gè)負(fù)載平衡指標(biāo)的權(quán)值;C、根據(jù)計(jì)算結(jié)點(diǎn)的所述負(fù)載平衡指標(biāo)的數(shù)值和步驟B所述的各負(fù)載平衡指標(biāo)的權(quán)值計(jì)算可分配的計(jì)算結(jié)點(diǎn)的負(fù)載平衡指數(shù);D、根據(jù)步驟C所述的負(fù)載平衡指數(shù)選擇執(zhí)行用戶作業(yè)的計(jì)算結(jié)點(diǎn)。
步驟A所述的負(fù)載平衡指標(biāo)為CPU利用率、內(nèi)存使用率、磁盤(pán)使用率、軟件授權(quán)數(shù)、頁(yè)交換頻率、計(jì)算結(jié)點(diǎn)在過(guò)去預(yù)定時(shí)間內(nèi)的平均進(jìn)程數(shù)中一項(xiàng)或者任意組合。
步驟C所述的計(jì)算可分配的計(jì)算結(jié)點(diǎn)的負(fù)載平衡指數(shù)的方法為計(jì)算可分配的計(jì)算結(jié)點(diǎn)的每一負(fù)載平衡指標(biāo)的數(shù)值與該負(fù)載平衡指標(biāo)的權(quán)重的乘積,然后將所述的乘積求和。
步驟A所述的負(fù)載平衡指標(biāo)至少包括計(jì)算結(jié)點(diǎn)在過(guò)去預(yù)定時(shí)間內(nèi)的平均進(jìn)程數(shù),在步驟A與C之間進(jìn)一步將所述的過(guò)去預(yù)定時(shí)間設(shè)置為多于1個(gè)時(shí)間段,并分別為每個(gè)時(shí)間段內(nèi)的平均進(jìn)程數(shù)設(shè)置權(quán)值,所述的過(guò)去預(yù)定時(shí)間內(nèi)的平均進(jìn)程數(shù)為每一個(gè)時(shí)間段的平均進(jìn)程數(shù)數(shù)值與該時(shí)間段相應(yīng)權(quán)重的乘積之和。
步驟B所述的確定各負(fù)載平衡指標(biāo)的權(quán)值的方法為按照用戶作業(yè)對(duì)負(fù)載平衡指標(biāo)的需求由高到低的順序,為負(fù)載平衡指標(biāo)設(shè)置由大到小的權(quán)值,步驟D所述的選擇執(zhí)行用戶作業(yè)的計(jì)算結(jié)點(diǎn)的方法為按照負(fù)載平衡指數(shù)從小到大的順序依次選擇計(jì)算結(jié)點(diǎn)。
按照用戶作業(yè)對(duì)負(fù)載平衡指標(biāo)的需求由高到低的順序,為負(fù)載平衡指標(biāo)設(shè)置由小到大的權(quán)值,步驟D所述的選擇執(zhí)行用戶作業(yè)的計(jì)算結(jié)點(diǎn)的方法為按照負(fù)載平衡指數(shù)從小到大的順序依次選擇計(jì)算結(jié)點(diǎn)。
進(jìn)一步在步驟C前預(yù)先設(shè)定平均進(jìn)程數(shù)最大閾值,并判斷計(jì)算結(jié)點(diǎn)的平均進(jìn)程數(shù)是否超過(guò)該預(yù)先設(shè)定的平均進(jìn)程數(shù)最大閾值,如果超過(guò)則設(shè)置該計(jì)算結(jié)點(diǎn)為不可分配的計(jì)算結(jié)點(diǎn),然后執(zhí)行步驟C,如果不超過(guò)則直接執(zhí)行步驟C。
進(jìn)一步在步驟C前預(yù)先設(shè)定平均進(jìn)程數(shù)理想閾值,當(dāng)計(jì)算結(jié)點(diǎn)的平均進(jìn)程數(shù)從超過(guò)平均進(jìn)程數(shù)最大閾值減少至低于或等于平均進(jìn)程數(shù)最大閾值時(shí),判斷該計(jì)算結(jié)點(diǎn)的平均進(jìn)程數(shù)是否低于所述的預(yù)先設(shè)定的平均進(jìn)程數(shù)理想閾值,如果低于則直接執(zhí)行步驟C,如果不低于則設(shè)置該計(jì)算結(jié)點(diǎn)為不可分配的結(jié)算結(jié)點(diǎn),然后執(zhí)行步驟C。
從以上技術(shù)方案可以看出,本發(fā)明首先根據(jù)機(jī)群作業(yè)管理系統(tǒng)的資源情況確定負(fù)載平衡指標(biāo),然后根據(jù)用戶作業(yè)的具體需求為這些負(fù)載平衡指標(biāo)設(shè)置相應(yīng)的權(quán)值,接著根據(jù)負(fù)載平衡指標(biāo)和確定的負(fù)載平衡指標(biāo)的權(quán)值計(jì)算出各個(gè)計(jì)算結(jié)點(diǎn)的負(fù)載平衡指數(shù),最后根據(jù)計(jì)算結(jié)點(diǎn)的負(fù)載平衡指數(shù)和用戶作業(yè)中所指定的計(jì)算結(jié)點(diǎn)數(shù)來(lái)確定執(zhí)行用戶作業(yè)的計(jì)算結(jié)點(diǎn)。所以本發(fā)明在為用戶作業(yè)分配計(jì)算結(jié)點(diǎn)時(shí),不但考慮了計(jì)算結(jié)點(diǎn)的在過(guò)去預(yù)定時(shí)間內(nèi)的平均進(jìn)程數(shù),還綜合考慮了內(nèi)存、頁(yè)交換空間、磁盤(pán)等資源的使用情況,因此本發(fā)明實(shí)現(xiàn)了根據(jù)計(jì)算結(jié)點(diǎn)上各項(xiàng)資源的使用狀況和用戶作業(yè)的具體需求來(lái)分配計(jì)算結(jié)點(diǎn),所以應(yīng)用本發(fā)明后所分配的計(jì)算結(jié)點(diǎn)與用戶作業(yè)對(duì)資源的需求非常吻合,更加合理地為用戶作業(yè)分配了計(jì)算結(jié)點(diǎn),從而極大地提高了用戶作業(yè)的計(jì)算效率。
同時(shí),本發(fā)明結(jié)合各個(gè)計(jì)算結(jié)點(diǎn)的資源利用情況和具體的用戶作業(yè)需求分配計(jì)算結(jié)點(diǎn),并且對(duì)于平均進(jìn)程數(shù)大于平均進(jìn)程數(shù)最大閾值的計(jì)算結(jié)點(diǎn)和平均進(jìn)程數(shù)從平均進(jìn)程數(shù)最大閾值下降但是仍然大于平均進(jìn)程數(shù)理想閾值的計(jì)算結(jié)點(diǎn)都不再分配作業(yè),使得計(jì)算結(jié)點(diǎn)之間的負(fù)載更加平衡,從而極大地提高了機(jī)群系統(tǒng)的資源利用率和吞吐率。
圖1為現(xiàn)有技術(shù)分配計(jì)算結(jié)點(diǎn)流程示意圖。
圖2為本發(fā)明一實(shí)施例分配計(jì)算結(jié)點(diǎn)流程示意圖。
具體實(shí)施例方式
為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)表達(dá)得更加清楚明白,下面結(jié)合附圖及具體實(shí)施例對(duì)本發(fā)明再作進(jìn)一步詳細(xì)的說(shuō)明。
本發(fā)明的主要思想是根據(jù)計(jì)算結(jié)點(diǎn)的資源情況和用戶作業(yè)的具體需求來(lái)分配計(jì)算結(jié)點(diǎn)。首先根據(jù)計(jì)算結(jié)點(diǎn)的資源情況確定各項(xiàng)負(fù)載平衡指標(biāo),然后根據(jù)用戶作業(yè)的具體需求為這些負(fù)載平衡指標(biāo)設(shè)置相應(yīng)的權(quán)值,接著根據(jù)負(fù)載平衡指標(biāo)和確定的負(fù)載平衡指標(biāo)的權(quán)值計(jì)算出各個(gè)計(jì)算結(jié)點(diǎn)的負(fù)載平衡指數(shù),最后根據(jù)負(fù)載平衡指數(shù)來(lái)選擇執(zhí)行用戶作業(yè)的計(jì)算結(jié)點(diǎn)。
圖2為本發(fā)明一實(shí)施例的分配計(jì)算結(jié)點(diǎn)流程示意圖。如圖2所示,包括以下步驟步驟201確定機(jī)群系統(tǒng)的負(fù)載平衡指標(biāo)。
為了實(shí)現(xiàn)機(jī)群系統(tǒng)的計(jì)算結(jié)點(diǎn)的負(fù)載均衡,在選擇計(jì)算結(jié)點(diǎn)時(shí)需要綜合考慮機(jī)群系統(tǒng)的負(fù)載情況,可將影響機(jī)群系統(tǒng)負(fù)載的因素設(shè)置為相應(yīng)的負(fù)載平衡指標(biāo)。影響機(jī)群系統(tǒng)負(fù)載的因素有很多,例如CPU利用率、頁(yè)交換頻率、內(nèi)存使用率、軟件授權(quán)數(shù)和磁盤(pán)使用率等,同時(shí)還必須考慮CPU使用狀況,而CPU的使用狀況可以用過(guò)去預(yù)定時(shí)間內(nèi)的平均進(jìn)程數(shù)來(lái)體現(xiàn),所以機(jī)群作業(yè)管理系統(tǒng)可將在過(guò)去預(yù)定時(shí)間內(nèi)的平均進(jìn)程數(shù)、CPU利用率、內(nèi)存使用率、軟件授權(quán)數(shù)、磁盤(pán)使用率和頁(yè)交換頻率等設(shè)置為負(fù)載平衡指標(biāo)。
步驟202根據(jù)用戶作業(yè)的需要,設(shè)定各負(fù)載平衡指標(biāo)的權(quán)值。
不同的用戶作業(yè)對(duì)計(jì)算結(jié)點(diǎn)各項(xiàng)資源的需求是不同的,因此可根據(jù)用戶作業(yè)的實(shí)際需要而給每一個(gè)負(fù)載平衡指標(biāo)設(shè)定相應(yīng)的權(quán)值。例如當(dāng)用戶作業(yè)需要較大地占用某項(xiàng)資源時(shí),可給與該項(xiàng)資源所對(duì)應(yīng)的負(fù)載平衡指標(biāo)設(shè)置較高的權(quán)值。當(dāng)用戶作業(yè)對(duì)某項(xiàng)資源的需求不高時(shí),可給與該項(xiàng)資源對(duì)應(yīng)的負(fù)載平衡指標(biāo)設(shè)置較低的權(quán)值。例如,如果用戶作業(yè)需要占用大量的內(nèi)存,表示用戶作業(yè)要求計(jì)算結(jié)點(diǎn)的內(nèi)存使用率很低,則可給內(nèi)存使用率這個(gè)負(fù)載平衡指標(biāo)設(shè)置較高的權(quán)值;如果用戶作業(yè)需要占用較少的磁盤(pán)空間,表示用戶作業(yè)允許計(jì)算結(jié)點(diǎn)的磁盤(pán)使用率較高,則可為磁盤(pán)使用率這個(gè)負(fù)載平衡指標(biāo)設(shè)置較小的權(quán)值。
同理,當(dāng)用戶作業(yè)需要較大地占用某項(xiàng)資源時(shí),也可給與該項(xiàng)資源所對(duì)應(yīng)的負(fù)載平衡指標(biāo)設(shè)置較低的權(quán)值。此時(shí),在后面的步驟204中按照用戶作業(yè)所指定的計(jì)算結(jié)點(diǎn)數(shù)依次選擇負(fù)載平衡指數(shù)較大的計(jì)算結(jié)點(diǎn)。
步驟203根據(jù)計(jì)算結(jié)點(diǎn)的負(fù)載平衡指標(biāo)的數(shù)值以及計(jì)算結(jié)點(diǎn)負(fù)載平衡指標(biāo)的權(quán)值,計(jì)算各計(jì)算結(jié)點(diǎn)的負(fù)載平衡指數(shù)。
在確定系統(tǒng)負(fù)載平衡指標(biāo)以及各系統(tǒng)負(fù)載平衡指標(biāo)的相應(yīng)權(quán)值后,可以采用一定的負(fù)載平衡算法來(lái)計(jì)算機(jī)群系統(tǒng)內(nèi)計(jì)算結(jié)點(diǎn)的負(fù)載平衡指數(shù)。例如可以將某項(xiàng)負(fù)載平衡指標(biāo)的具體數(shù)值和該項(xiàng)負(fù)載平衡指標(biāo)的權(quán)值相乘再除以所有負(fù)載平衡指標(biāo)的權(quán)值之和以得到該項(xiàng)資源的負(fù)載指數(shù),然后再對(duì)各項(xiàng)資源的負(fù)載指數(shù)求和,所得到的和就是計(jì)算結(jié)點(diǎn)的負(fù)載平衡指數(shù)。即負(fù)載平衡指數(shù)為各項(xiàng)負(fù)載平衡指標(biāo)數(shù)值和對(duì)應(yīng)的權(quán)重的乘積之和。
假設(shè)某計(jì)算結(jié)點(diǎn)在過(guò)去一定時(shí)間內(nèi)的平均進(jìn)程數(shù)及其權(quán)值分別為a1和b1,CPU的利用率及其權(quán)值分別為a2和b2,內(nèi)存使用率及其權(quán)值分別為a3和b3,頁(yè)交換頻率及其權(quán)值分別為a4和b4,磁盤(pán)使用率及其權(quán)值分別為a5和b5,該計(jì)算結(jié)點(diǎn)的負(fù)載平衡指數(shù)為Y,那么負(fù)載平衡指數(shù)為各項(xiàng)負(fù)載平衡指標(biāo)數(shù)值和對(duì)應(yīng)的權(quán)重的乘積之和。所以Y=(a1×b1)/(b1+b2+b3+b4+b5)+(a2×b2)/(b1+b2+b3+b4+b5)+(a3×b3)/(b1+b2+b3+b4+b5)+(a4×b4)/(b1+b2+b3+b4+b5)+(a5×b5)/(b1+b2+b3+b4+b5)為了使得所選擇的計(jì)算結(jié)點(diǎn)更加適合用戶作業(yè)的需求,在確定預(yù)定時(shí)間內(nèi)的平均進(jìn)程數(shù)時(shí),還可以進(jìn)一步把這段預(yù)定時(shí)間分為若干個(gè)時(shí)間段,并且給進(jìn)一步劃分后的各時(shí)間段內(nèi)的平均進(jìn)程數(shù)再設(shè)定相應(yīng)的權(quán)值然后再計(jì)算,其中當(dāng)用戶作業(yè)需要計(jì)算結(jié)點(diǎn)有較高的穩(wěn)定性的時(shí)候,可將較大時(shí)間段內(nèi)的平均進(jìn)程數(shù)的設(shè)置較高的權(quán)值,從而更準(zhǔn)確地表示一定時(shí)間內(nèi)計(jì)算結(jié)點(diǎn)的使用狀況。
例如如果選取用過(guò)去的15分鐘來(lái)表示計(jì)算結(jié)點(diǎn)的平均進(jìn)程數(shù)狀況,可分別給過(guò)去第1分鐘到過(guò)去第5分鐘的平均進(jìn)程數(shù)、過(guò)去第1分鐘到過(guò)去第10分鐘的平均進(jìn)程數(shù)和過(guò)去第1分鐘到過(guò)去第15分鐘的平均進(jìn)程數(shù)設(shè)置權(quán)值,然后再結(jié)合這三個(gè)時(shí)間段的平均進(jìn)程數(shù)的權(quán)值計(jì)算在過(guò)去15分鐘內(nèi)的平均進(jìn)程數(shù)的負(fù)載指數(shù)。假設(shè)計(jì)算結(jié)點(diǎn)在過(guò)去第1分鐘到過(guò)去第5分鐘內(nèi)平均進(jìn)程數(shù)及其權(quán)值分別為c1和d1,過(guò)去第1分鐘到過(guò)去第10分鐘內(nèi)的平均進(jìn)程數(shù)及其權(quán)值分別為c2和d2,過(guò)去第1分鐘到過(guò)去第15分鐘內(nèi)的平均進(jìn)程及其權(quán)值分別為c3和d3,假設(shè)在該過(guò)去的15分鐘內(nèi)的平均進(jìn)程數(shù)的負(fù)載指數(shù)為A,過(guò)去15分鐘內(nèi)的平均進(jìn)程數(shù)的負(fù)載指數(shù)的權(quán)值為b1,那么A=(c1×d1)/(d1+d2+d3)+(c2×d2)/(d1+d2+d3)+(c3×d3)/(d1+d2+d3)此時(shí),負(fù)載平衡指數(shù)Y為Y=(A×b1)/(b1+b2+b3+b4+b5)+(a2×b2)/(b1+b2+b3+b4+b5)+(a3×b3)/(b1+b2+b3+b4+b5)+(a4×b4)/(b1+b2+b3+b4+b5)+(a5×b5)/(b1+b2+b3+b4+b5)
計(jì)算出各個(gè)計(jì)算結(jié)點(diǎn)的負(fù)載平衡指數(shù)后,就可以根據(jù)負(fù)載平衡指數(shù)依次選取計(jì)算結(jié)點(diǎn)。
步驟204按照負(fù)載平衡指數(shù)的順序,依次選取用戶作業(yè)所指定的計(jì)算結(jié)點(diǎn)數(shù)目。
步驟202在設(shè)定各負(fù)載平衡指標(biāo)的權(quán)值時(shí),當(dāng)用戶作業(yè)需要較大地占用某項(xiàng)資源時(shí),如果給該項(xiàng)資源所對(duì)應(yīng)的負(fù)載平衡指標(biāo)設(shè)置了較高的權(quán)值,選擇計(jì)算結(jié)點(diǎn)的時(shí)候,應(yīng)該按照用戶作業(yè)所指定的計(jì)算結(jié)點(diǎn)數(shù),依次選擇負(fù)載平衡指數(shù)較小的計(jì)算結(jié)點(diǎn)執(zhí)行用戶作業(yè)。相應(yīng)地,如果在步驟202設(shè)置權(quán)值的時(shí)候,當(dāng)用戶作業(yè)較少地需要占用某項(xiàng)資源時(shí)給與該項(xiàng)資源對(duì)應(yīng)的負(fù)載平衡指標(biāo)設(shè)置了較高的權(quán)值,那么在步驟204按照用戶作業(yè)所指定的計(jì)算結(jié)點(diǎn)數(shù)依次選擇負(fù)載平衡指數(shù)較大的計(jì)算結(jié)點(diǎn)。
以上過(guò)程中,可預(yù)先設(shè)定計(jì)算結(jié)點(diǎn)的平均進(jìn)程數(shù)最大閾值,在步驟203前進(jìn)一步判斷平均進(jìn)程數(shù)是否超過(guò)平均進(jìn)程數(shù)最大閾值,如果超過(guò),那么計(jì)算結(jié)點(diǎn)狀態(tài)將標(biāo)志為不可分配而不計(jì)算該計(jì)算結(jié)點(diǎn)的負(fù)載平衡指數(shù),并不再接收用戶作業(yè),如果不超過(guò)則設(shè)置該計(jì)算結(jié)點(diǎn)為可分配,并執(zhí)行步驟203。
在預(yù)先設(shè)定計(jì)算結(jié)點(diǎn)的平均進(jìn)程數(shù)最大閾值時(shí),還可進(jìn)一步預(yù)先設(shè)定計(jì)算結(jié)點(diǎn)的平均進(jìn)程數(shù)理想閾值。當(dāng)計(jì)算結(jié)點(diǎn)的平均進(jìn)程數(shù)由大于或等于平均進(jìn)程數(shù)最大閾值下降到小于平均進(jìn)程數(shù)最大閾值時(shí),進(jìn)一步判斷平均進(jìn)程數(shù)是否大于平均進(jìn)程數(shù)理想閾值,如果此時(shí)平均進(jìn)程數(shù)仍大于理想負(fù)載閾值,則此計(jì)算結(jié)點(diǎn)狀態(tài)仍標(biāo)志為不可分配而不計(jì)算該計(jì)算結(jié)點(diǎn)的負(fù)載平衡指標(biāo),并不接收用戶作業(yè),以防止平均進(jìn)程數(shù)目的躍變。只有計(jì)算結(jié)點(diǎn)的平均進(jìn)程數(shù)小于平均進(jìn)程數(shù)理想閾值、或平均進(jìn)程數(shù)從平均進(jìn)程數(shù)理想閾值增加但卻不超過(guò)平均進(jìn)程數(shù)最大閾值的計(jì)算結(jié)點(diǎn)才設(shè)置為可分配,并執(zhí)行步驟203及其以后的步驟。
以上過(guò)程中,如果在步驟202不指定系統(tǒng)平衡指標(biāo)的權(quán)值,則認(rèn)為用戶作業(yè)對(duì)各項(xiàng)資源沒(méi)有特殊要求,因此機(jī)群作業(yè)管理系統(tǒng)可提供相同的缺省權(quán)值。
下面以一個(gè)具體的例子來(lái)進(jìn)行說(shuō)明。設(shè)有一機(jī)群系統(tǒng),其中機(jī)群作業(yè)管理系統(tǒng)用于統(tǒng)一管理和調(diào)度機(jī)群系統(tǒng)中作業(yè)與資源,該機(jī)群作業(yè)管理系統(tǒng)需要給某個(gè)用戶作業(yè)分配計(jì)算結(jié)點(diǎn)。假設(shè)該機(jī)群系統(tǒng)中可分配的計(jì)算結(jié)點(diǎn)數(shù)為3個(gè),分別為計(jì)算結(jié)點(diǎn)a,計(jì)算結(jié)點(diǎn)b,計(jì)算結(jié)點(diǎn)c。其中計(jì)算結(jié)點(diǎn)a在過(guò)去15分鐘內(nèi)的平均進(jìn)程數(shù)為0.6,內(nèi)存使用率為0.82,磁盤(pán)使用率為0.27;計(jì)算結(jié)點(diǎn)b在過(guò)去15分鐘內(nèi)的平均進(jìn)程數(shù)為0.4,內(nèi)存使用率為0.98,磁盤(pán)使用率為0.23;計(jì)算結(jié)點(diǎn)c在過(guò)去15分鐘內(nèi)的平均進(jìn)程數(shù)為0.0,內(nèi)存使用率為0.85,磁盤(pán)使用率為0.23。假設(shè)該用戶作業(yè)中指定的計(jì)算結(jié)點(diǎn)數(shù)目為2個(gè),并且要求執(zhí)行該用戶作業(yè)的計(jì)算結(jié)點(diǎn)的平均進(jìn)程數(shù)非常少、內(nèi)存使用率比較低,而該用戶作業(yè)對(duì)磁盤(pán)使用率的要求不高。
如圖2所示,依次有如下步驟在步驟201根據(jù)機(jī)群系統(tǒng)的資源情況,選取負(fù)載平衡指標(biāo)。此處負(fù)載平衡指標(biāo)為計(jì)算結(jié)點(diǎn)15分鐘內(nèi)的平均進(jìn)程數(shù)、內(nèi)存使用率和磁盤(pán)使用率。
在步驟202根據(jù)用戶作業(yè)對(duì)資源的實(shí)際需要,設(shè)置負(fù)載平衡指標(biāo)的權(quán)值。因?yàn)橛脩糇鳂I(yè)要求計(jì)算結(jié)點(diǎn)的平均進(jìn)程數(shù)非常少、內(nèi)存使用率比較低,而對(duì)磁盤(pán)使用率要求不是很高,所以給磁盤(pán)使用率設(shè)置很小的權(quán)值,給內(nèi)存使用率設(shè)置較小的權(quán)值和給平均進(jìn)程數(shù)設(shè)置較高的權(quán)值。可以設(shè)定過(guò)去15分鐘內(nèi)的平均進(jìn)程數(shù)的權(quán)值為30,內(nèi)存使用率的權(quán)值為20,磁盤(pán)使用率的權(quán)值為10。
在步驟203確定各計(jì)算結(jié)點(diǎn)的負(fù)載平衡指數(shù)。
計(jì)算結(jié)點(diǎn)a的負(fù)載平衡指數(shù)為(0.6×30)/(30+20+10)+(0.82×20)/(30+20+10)+(0.27×10)/(30+20+10)=0.618計(jì)算結(jié)點(diǎn)b的負(fù)載平衡指數(shù)為(0.4×30)/(30+20+10)+(0.98×20)/(30+20+10)+(0.23×10)/(30+20+10)=0.565計(jì)算結(jié)點(diǎn)c的負(fù)載平衡指數(shù)為(0.0×30)/(30+20+10)+(0.85×20)/(30+20+10)+(0.23×10)/(30+20+10)=0.322
在步驟204根據(jù)計(jì)算結(jié)點(diǎn)的負(fù)載平衡指數(shù)分配計(jì)算結(jié)點(diǎn)。比較計(jì)算結(jié)點(diǎn)a、計(jì)算結(jié)點(diǎn)b和計(jì)算結(jié)點(diǎn)c的負(fù)載平衡指標(biāo),依次選取負(fù)載平衡指數(shù)較小的計(jì)算結(jié)點(diǎn),所以選擇計(jì)算結(jié)點(diǎn)c和計(jì)算結(jié)點(diǎn)b執(zhí)行用戶作業(yè)。
以上例子中,可預(yù)先設(shè)定計(jì)算結(jié)點(diǎn)的平均進(jìn)程數(shù)最大閾值,假設(shè)為2.0。假設(shè)除了計(jì)算結(jié)點(diǎn)a、計(jì)算結(jié)點(diǎn)b和計(jì)算結(jié)點(diǎn)c之外,該機(jī)群系統(tǒng)還有一計(jì)算結(jié)點(diǎn)d,并且計(jì)算結(jié)點(diǎn)d在過(guò)去15分鐘內(nèi)的平均進(jìn)程數(shù)目為2.3。因?yàn)橛?jì)算結(jié)點(diǎn)d在過(guò)去15分鐘內(nèi)的平均數(shù)目進(jìn)程大于平均進(jìn)程數(shù)最大閾值,所以在給用戶作業(yè)分配計(jì)算結(jié)點(diǎn)時(shí),則將計(jì)算結(jié)點(diǎn)d排除在外。同時(shí),還可以進(jìn)一步預(yù)先設(shè)定計(jì)算結(jié)點(diǎn)的平均進(jìn)程數(shù)理想閾值,假設(shè)為1.5。當(dāng)計(jì)算結(jié)點(diǎn)d在過(guò)去15分鐘內(nèi)的平均數(shù)目由2.3降低為1.6時(shí),雖然此時(shí)計(jì)算結(jié)點(diǎn)d在過(guò)去15分鐘內(nèi)的平均進(jìn)程數(shù)已經(jīng)小于平均進(jìn)程數(shù)最大閾值2.0,但是由于仍然大于平均進(jìn)程數(shù)理想閾值1.5,所以此時(shí)仍然不考慮給計(jì)算結(jié)點(diǎn)d分配用戶作業(yè),以防止平均進(jìn)程數(shù)躍變。只有當(dāng)計(jì)算結(jié)點(diǎn)d的平均進(jìn)程數(shù)小于平均進(jìn)程數(shù)理想閾值0.6時(shí),才將計(jì)算結(jié)點(diǎn)d參與選擇。
以上所述,僅為本發(fā)明的較佳實(shí)施例而已,并非用于限定本發(fā)明的保護(hù)范圍。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
1.一種機(jī)群作業(yè)管理系統(tǒng)中分配計(jì)算結(jié)點(diǎn)的方法,其特征在于,包括以下步驟A、確定計(jì)算結(jié)點(diǎn)的負(fù)載平衡指標(biāo);B、根據(jù)用戶作業(yè)確定所述的每一個(gè)負(fù)載平衡指標(biāo)的權(quán)值;C、根據(jù)計(jì)算結(jié)點(diǎn)的所述負(fù)載平衡指標(biāo)的數(shù)值和步驟B所述的各負(fù)載平衡指標(biāo)的權(quán)值計(jì)算可分配的計(jì)算結(jié)點(diǎn)的負(fù)載平衡指數(shù);D、根據(jù)步驟C所述的負(fù)載平衡指數(shù)選擇執(zhí)行用戶作業(yè)的計(jì)算結(jié)點(diǎn)。
2.根據(jù)權(quán)利要求1所述的機(jī)群作業(yè)管理系統(tǒng)中分配計(jì)算結(jié)點(diǎn)的方法,其特征在于,步驟A所述的負(fù)載平衡指標(biāo)為CPU利用率、內(nèi)存使用率、磁盤(pán)使用率、軟件授權(quán)數(shù)、頁(yè)交換頻率、計(jì)算結(jié)點(diǎn)在過(guò)去預(yù)定時(shí)間內(nèi)的平均進(jìn)程數(shù)中一項(xiàng)或者任意組合。
3.根據(jù)權(quán)利要求1所述的機(jī)群作業(yè)管理系統(tǒng)中分配計(jì)算結(jié)點(diǎn)的方法,其特征在于,步驟C所述的計(jì)算可分配的計(jì)算結(jié)點(diǎn)的負(fù)載平衡指數(shù)的方法為計(jì)算可分配的計(jì)算結(jié)點(diǎn)的每一負(fù)載平衡指標(biāo)的數(shù)值與該負(fù)載平衡指標(biāo)的權(quán)重的乘積,然后將所述的乘積求和。
4.根據(jù)權(quán)利要求1所述的機(jī)群作業(yè)管理系統(tǒng)中分配計(jì)算結(jié)點(diǎn)的方法,其特征在于,步驟A所述的負(fù)載平衡指標(biāo)至少包括計(jì)算結(jié)點(diǎn)在過(guò)去預(yù)定時(shí)間內(nèi)的平均進(jìn)程數(shù),在步驟A與C之間進(jìn)一步將所述的過(guò)去預(yù)定時(shí)間設(shè)置為多于1個(gè)時(shí)間段,并分別為每個(gè)時(shí)間段內(nèi)的平均進(jìn)程數(shù)設(shè)置權(quán)值,所述的過(guò)去預(yù)定時(shí)間內(nèi)的平均進(jìn)程數(shù)為每一個(gè)時(shí)間段的平均進(jìn)程數(shù)數(shù)值與該時(shí)間段相應(yīng)權(quán)重的乘積之和。
5.根據(jù)權(quán)利要求1所述的機(jī)群作業(yè)管理系統(tǒng)中分配計(jì)算結(jié)點(diǎn)的方法,其特征在于,步驟B所述的確定各負(fù)載平衡指標(biāo)的權(quán)值的方法為按照用戶作業(yè)對(duì)負(fù)載平衡指標(biāo)的需求由高到低的順序,為負(fù)載平衡指標(biāo)設(shè)置由大到小的權(quán)值,步驟D所述的選擇執(zhí)行用戶作業(yè)的計(jì)算結(jié)點(diǎn)的方法為按照負(fù)載平衡指數(shù)從小到大的順序依次選擇計(jì)算結(jié)點(diǎn)。
6.根據(jù)權(quán)利要求1所述的機(jī)群作業(yè)管理系統(tǒng)中分配計(jì)算結(jié)點(diǎn)的方法,其特征在于,按照用戶作業(yè)對(duì)負(fù)載平衡指標(biāo)的需求由高到低的順序,為負(fù)載平衡指標(biāo)設(shè)置由小到大的權(quán)值,步驟D所述的選擇執(zhí)行用戶作業(yè)的計(jì)算結(jié)點(diǎn)的方法為按照負(fù)載平衡指數(shù)從小到大的順序依次選擇計(jì)算結(jié)點(diǎn)。
7.根據(jù)權(quán)利要求1所述的機(jī)群作業(yè)管理系統(tǒng)中分配計(jì)算結(jié)點(diǎn)的方法,其特征在于,進(jìn)一步在步驟C前預(yù)先設(shè)定平均進(jìn)程數(shù)最大閾值,并判斷計(jì)算結(jié)點(diǎn)的平均進(jìn)程數(shù)是否超過(guò)該預(yù)先設(shè)定的平均進(jìn)程數(shù)最大閾值,如果超過(guò)則設(shè)置該計(jì)算結(jié)點(diǎn)為不可分配的計(jì)算結(jié)點(diǎn),然后執(zhí)行步驟C,如果不超過(guò)則直接執(zhí)行步驟C。
8.根據(jù)權(quán)利要求7所述的機(jī)群作業(yè)管理系統(tǒng)中分配計(jì)算結(jié)點(diǎn)的方法,其特征在于,進(jìn)一步在步驟C前預(yù)先設(shè)定平均進(jìn)程數(shù)理想閾值,當(dāng)計(jì)算結(jié)點(diǎn)的平均進(jìn)程數(shù)從超過(guò)平均進(jìn)程數(shù)最大閾值減少至低于或等于平均進(jìn)程數(shù)最大閾值時(shí),判斷該計(jì)算結(jié)點(diǎn)的平均進(jìn)程數(shù)是否低于所述的預(yù)先設(shè)定的平均進(jìn)程數(shù)理想閾值,如果低于則直接執(zhí)行步驟C,如果不低于則設(shè)置該計(jì)算結(jié)點(diǎn)為不可分配的結(jié)算結(jié)點(diǎn),然后執(zhí)行步驟C。
全文摘要
本發(fā)明公開(kāi)了一種機(jī)群作業(yè)管理系統(tǒng)中分配計(jì)算結(jié)點(diǎn)的方法,包括以下步驟確定機(jī)群系統(tǒng)的負(fù)載平衡指標(biāo);根據(jù)用戶作業(yè)確定各負(fù)載平衡指標(biāo)的權(quán)值;計(jì)算各計(jì)算結(jié)點(diǎn)的負(fù)載平衡指數(shù);根據(jù)各計(jì)算結(jié)點(diǎn)的負(fù)載平衡指數(shù)選擇執(zhí)行用戶作業(yè)的計(jì)算結(jié)點(diǎn)。應(yīng)用本發(fā)明提供的這種方法所分配的計(jì)算結(jié)點(diǎn)與用戶作業(yè)對(duì)計(jì)算結(jié)點(diǎn)資源的需求非常吻合,更加合理地為用戶作業(yè)分配了計(jì)算結(jié)點(diǎn),極大地提高了用戶作業(yè)的計(jì)算效率,同時(shí)使得計(jì)算結(jié)點(diǎn)之間的負(fù)載更加平衡,顯著地提高了機(jī)群系統(tǒng)的資源利用率和吞吐率。
文檔編號(hào)G06F9/50GK1670706SQ20041002942
公開(kāi)日2005年9月21日 申請(qǐng)日期2004年3月17日 優(yōu)先權(quán)日2004年3月17日
發(fā)明者張喜青, 趙玉萍, 柳書(shū)廣, 肖利民 申請(qǐng)人:聯(lián)想(北京)有限公司