專利名稱:一種面向云計(jì)算平臺任務(wù)調(diào)度的多級負(fù)載評估方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種負(fù)載評估方法,主要用于實(shí)現(xiàn)云計(jì)算平臺任務(wù)調(diào)度中集群節(jié)點(diǎn)的負(fù)載評估,屬于計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)領(lǐng)域。
背景技術(shù):
云計(jì)算(Cloud Computing)是目前計(jì)算機(jī)領(lǐng)域研究的熱點(diǎn),具有高可擴(kuò)展性和高可用性等優(yōu)點(diǎn)。云計(jì)算平臺部署在大規(guī)模服務(wù)器集群上,為云計(jì)算提供可信賴的計(jì)算能力。在大規(guī)模服務(wù)器集群中,負(fù)責(zé)作業(yè)的調(diào)度和任務(wù)的分配節(jié)點(diǎn)稱為管理節(jié)點(diǎn);負(fù)責(zé)任務(wù)具體執(zhí)行的集群節(jié)點(diǎn)稱為任務(wù)節(jié)點(diǎn)。云計(jì)算平臺在實(shí)現(xiàn)任務(wù)的調(diào)度時(shí),受限于任務(wù)節(jié)點(diǎn)有限的資源和計(jì)算能力,不能無限制的分配任務(wù)。一種有效而簡單的方法是通過設(shè)定任務(wù)節(jié)點(diǎn)最大可并行執(zhí)行的任務(wù)總 數(shù)。但可能導(dǎo)致發(fā)生以下兩種情況(I)若任務(wù)節(jié)點(diǎn)屬于高性能計(jì)算節(jié)點(diǎn),當(dāng)正在執(zhí)行任務(wù)數(shù)已經(jīng)等于最大可并行執(zhí)行任務(wù)數(shù)時(shí),該任務(wù)節(jié)點(diǎn)將無權(quán)繼續(xù)獲取任務(wù),而此時(shí),若該任務(wù)節(jié)點(diǎn)的負(fù)載仍然較輕,表明還有能力執(zhí)行更多的任務(wù),這樣就會(huì)產(chǎn)生“饑餓”現(xiàn)象,造成空閑資源的浪費(fèi)。(2)若任務(wù)節(jié)點(diǎn)屬于低性能計(jì)算節(jié)點(diǎn),當(dāng)正在執(zhí)行任務(wù)數(shù)小于最大可并行執(zhí)行任務(wù)數(shù)時(shí),該任務(wù)節(jié)點(diǎn)將繼續(xù)申請新任務(wù),而此時(shí),若該任務(wù)節(jié)點(diǎn)的負(fù)載已經(jīng)很重,表明已無能力執(zhí)行更多的任務(wù),就會(huì)出現(xiàn)“飽和”現(xiàn)象,造成節(jié)點(diǎn)宕機(jī),發(fā)生災(zāi)難性事故。這不僅很大程度上影響集群的性能,還會(huì)造成集群資源的浪費(fèi)。考慮任務(wù)節(jié)點(diǎn)自身實(shí)際負(fù)載的動(dòng)態(tài)變化、不同任務(wù)節(jié)點(diǎn)性能的差異以及不同任務(wù)負(fù)載需求的差異,一種更加可靠且高效的方法是基于動(dòng)態(tài)負(fù)載自適應(yīng)調(diào)節(jié)最大可并行執(zhí)行的任務(wù)數(shù)。因此,對集群節(jié)點(diǎn)的負(fù)載大小作出合理的評估是實(shí)現(xiàn)高效、可靠的任務(wù)調(diào)度策略的前提。
發(fā)明內(nèi)容
本發(fā)明所要解決的技術(shù)問題在于克服現(xiàn)有云計(jì)算平臺負(fù)載評估機(jī)制存在的不足,提供一種面向云計(jì)算平臺任務(wù)調(diào)度的多級負(fù)載評估方法,在盡可能提高負(fù)載評估精度的同時(shí),減少負(fù)載評估方法本身帶來的系統(tǒng)開銷。本發(fā)明具體采用以下技術(shù)方案解決上述技術(shù)問題。一種面向云計(jì)算平臺任務(wù)調(diào)度的多級負(fù)載評估方法,包括以下步驟步驟A、任務(wù)節(jié)點(diǎn)計(jì)算當(dāng)前采集周期內(nèi)自身的運(yùn)行隊(duì)列平均進(jìn)程數(shù),并與預(yù)設(shè)的進(jìn)程數(shù)飽和閾值進(jìn)行比較如運(yùn)行隊(duì)列平均進(jìn)程數(shù)<進(jìn)程數(shù)飽和閾值,轉(zhuǎn)至步驟B ;否則,判斷該任務(wù)節(jié)點(diǎn)處于飽和態(tài),即負(fù)載超出承受范圍;步驟B、任務(wù)節(jié)點(diǎn)計(jì)算當(dāng)前采集周期內(nèi)自身的平均CPU利用率和平均內(nèi)存利用率,并分別與預(yù)設(shè)的CPU利用率飽和閾值,內(nèi)存利用率飽和閾值進(jìn)行比較如平均CPU利用率< CPU利用率飽和閾值,且平均內(nèi)存利用率< 內(nèi)存利用率飽和閾值,則轉(zhuǎn)步驟C ;否則,判斷該任務(wù)節(jié)點(diǎn)處于飽和態(tài);
步驟C、任務(wù)節(jié)點(diǎn)計(jì)算當(dāng)前采集周期內(nèi)自身的平均網(wǎng)絡(luò)帶寬利用率,并與預(yù)設(shè)的網(wǎng)絡(luò)帶寬利用率飽和閾值進(jìn)行比較如平均網(wǎng)絡(luò)帶寬利用率< 網(wǎng)絡(luò)帶寬利用率飽和閾值,則轉(zhuǎn)步驟D ;否則,判斷該任務(wù)節(jié)點(diǎn)處于飽和態(tài);步驟D、將運(yùn)行隊(duì)列平均進(jìn)程數(shù)、平均CPU利用率、平均內(nèi)存利用率、平均網(wǎng)絡(luò)帶寬利用率分別與預(yù)先設(shè)置的進(jìn)程數(shù)最優(yōu)閾值、CPU利用率最優(yōu)閾值、內(nèi)存利用率最優(yōu)閾值、網(wǎng)絡(luò)帶寬利用率最優(yōu)閾值比較,其中,進(jìn)程數(shù)最優(yōu)閾值<進(jìn)程數(shù)飽和閾值,CPU利用率最優(yōu)閾值< CPU利用率飽和閾值,內(nèi)存利用率最優(yōu)閾值<內(nèi)存利用率飽和閾值,網(wǎng)絡(luò)帶寬利用率最優(yōu)閾值 < 網(wǎng)絡(luò)帶寬利用率飽和閾值當(dāng)運(yùn)行隊(duì)列平均進(jìn)程數(shù)<進(jìn)程數(shù)最優(yōu)閾值、平均CPU利用率< CPU利用率最優(yōu)閾值、平均內(nèi)存利用率<內(nèi)存利用率最優(yōu)閾值,以及< 網(wǎng)絡(luò)帶寬利用率最優(yōu)閾值同時(shí)得到滿足,則判斷該任務(wù)節(jié)點(diǎn)處于饑餓態(tài),即負(fù)載較輕,可以繼續(xù)承擔(dān)新任務(wù);否則,判斷該任務(wù)節(jié)點(diǎn)處于最優(yōu)態(tài),即負(fù)載合理。
本發(fā)明選取運(yùn)行隊(duì)列平均進(jìn)程數(shù)、平均CPU利用率、平均內(nèi)存利用率、平均網(wǎng)絡(luò)帶寬利用率作為評估所需的負(fù)載參數(shù)主要基于以下考量(I)運(yùn)行隊(duì)列平均進(jìn)程數(shù)服務(wù)器的調(diào)度器會(huì)不斷讓隊(duì)列中的任務(wù)運(yùn)行,但是當(dāng)任務(wù)隊(duì)列過長時(shí),由于各個(gè)任務(wù)對資源的競爭,可能使得CPU處于未響應(yīng)狀態(tài),此時(shí)節(jié)點(diǎn)處于超負(fù)荷的工作狀態(tài)。運(yùn)行隊(duì)列平均進(jìn)程數(shù)的選擇能夠有效避免這種情況的發(fā)生。(2)平均CPU利用率、平均內(nèi)存利用率任務(wù)隊(duì)列存在多個(gè)正在執(zhí)行的任務(wù),平均CPU利用率以及平均內(nèi)存利用率能夠可靠的反映正在執(zhí)行任務(wù)占用系統(tǒng)資源的大小,判斷當(dāng)前節(jié)點(diǎn)有無足夠大的資源去執(zhí)行新的任務(wù)。(3)平均網(wǎng)絡(luò)帶寬利用率反映節(jié)點(diǎn)帶寬負(fù)荷的大小,判斷當(dāng)前節(jié)點(diǎn)有無足夠網(wǎng)絡(luò)帶寬接受接收新的任務(wù)。如果不考慮網(wǎng)絡(luò)帶寬的因素,會(huì)造成網(wǎng)絡(luò)阻塞現(xiàn)象的發(fā)生。本發(fā)明還為所選取的負(fù)載參數(shù)設(shè)定了不同的優(yōu)先級,當(dāng)高優(yōu)先級的負(fù)載參數(shù) > 預(yù)設(shè)的閥值時(shí),判斷該任務(wù)節(jié)點(diǎn)處于飽和態(tài),無需再采集較低優(yōu)先級的負(fù)載參數(shù),這樣能夠有效減少系統(tǒng)開銷。進(jìn)一步地,所述當(dāng)前采集周期內(nèi)的運(yùn)行隊(duì)列平均進(jìn)程數(shù)、平均CPU利用率、平均內(nèi)存利用率、平均網(wǎng)絡(luò)帶寬利用率,按照以下方法得到在當(dāng)前采集周期內(nèi)多次讀取該任務(wù)節(jié)點(diǎn)中相應(yīng)的系統(tǒng)內(nèi)核文件,獲得一組運(yùn)行隊(duì)列進(jìn)程數(shù)、CPU利用率、內(nèi)存利用率、網(wǎng)絡(luò)帶寬利用率,然后分別取其平均值。根據(jù)本發(fā)明的發(fā)明思路,還可得到一種云計(jì)算平臺自適應(yīng)任務(wù)調(diào)度方法,包括以下步驟步驟I、各任務(wù)節(jié)點(diǎn)在當(dāng)前心跳周期內(nèi)計(jì)算本任務(wù)節(jié)點(diǎn)正在執(zhí)行的任務(wù)數(shù),同時(shí)采用以上任一技術(shù)方案所述負(fù)載評估方法進(jìn)行負(fù)載評估;當(dāng)前心跳周期結(jié)束時(shí),如該任務(wù)節(jié)點(diǎn)正在執(zhí)行的任務(wù)數(shù)小于該任務(wù)節(jié)點(diǎn)的最大可并行執(zhí)行的任務(wù)數(shù),且其狀態(tài)為饑餓態(tài)或最優(yōu)態(tài),則向管理節(jié)點(diǎn)索取任務(wù);否則,不向管理節(jié)點(diǎn)索取任務(wù);步驟2、各任務(wù)節(jié)點(diǎn)根據(jù)連續(xù)k個(gè)心跳周期內(nèi)的自身的負(fù)載狀態(tài)及正在執(zhí)行的任務(wù)數(shù)對任務(wù)進(jìn)行動(dòng)態(tài)配置,k為預(yù)設(shè)的大于I的自然數(shù),具體配置方法如下當(dāng)出現(xiàn)連續(xù)k個(gè)心跳周期內(nèi)的負(fù)載狀態(tài)都處于饑餓態(tài)時(shí),若正在執(zhí)行的任務(wù)數(shù)小于當(dāng)前最大可并行執(zhí)行的任務(wù)數(shù),則不對最大可并行執(zhí)行的任務(wù)數(shù)進(jìn)行調(diào)整;否則,將最大可并行執(zhí)行的任務(wù)數(shù)增大;當(dāng)出現(xiàn)連續(xù)k個(gè)心跳周期內(nèi)的負(fù)載狀態(tài)都處于飽和態(tài)時(shí),首先殺死超時(shí)未得到響應(yīng)的任務(wù),并將此任務(wù)匯報(bào)給管理節(jié)點(diǎn),請求管理節(jié)點(diǎn)將該任務(wù)重新分配給合適的任務(wù)節(jié)點(diǎn);然后判斷正在執(zhí)行的任務(wù)數(shù)是否小于當(dāng)前最大可并行執(zhí)行的任務(wù)數(shù),如是,則將最大可并行執(zhí)行的任務(wù)數(shù)調(diào)整為正在執(zhí)行的任務(wù)數(shù);如否,則將最大可并行執(zhí)行的任務(wù)數(shù)減?。辉谄渌闆r下,不采取任何措施;步驟3、各任務(wù)節(jié)點(diǎn)按照心跳周期重復(fù)執(zhí)行步驟I、步驟2。上述方案的步驟2中所述將最大可并行執(zhí)行的任務(wù)數(shù)增大/減小,可以根據(jù)實(shí)際情況確定每次增大/減小的數(shù)值,本發(fā)明優(yōu)選將當(dāng)前最大可并行執(zhí)行的任務(wù)數(shù)加/減I。相比現(xiàn)有技術(shù),本發(fā)明具有以下有益效果 (I)負(fù)載評估結(jié)果準(zhǔn)確可靠。對于節(jié)點(diǎn)的負(fù)載實(shí)際開銷,本發(fā)明提出了完整的系統(tǒng)評估模型來分析節(jié)點(diǎn)狀態(tài)。為了規(guī)避系統(tǒng)性能的抖動(dòng),影響采集節(jié)點(diǎn)信息的準(zhǔn)確度與精度,引入了負(fù)載信息隊(duì)列方法,統(tǒng)計(jì)時(shí)間段內(nèi)的負(fù)載均值,動(dòng)態(tài)把握節(jié)點(diǎn)任務(wù)執(zhí)行的全過程。(2)為了規(guī)避傳統(tǒng)評估模型“采集機(jī)制”給管理節(jié)點(diǎn)帶來的龐大壓力,本發(fā)明采取任務(wù)節(jié)點(diǎn)“自行評估,自行管理”策略評估方法,評估實(shí)時(shí)性強(qiáng),能夠?qū)崟r(shí)動(dòng)態(tài)把握節(jié)點(diǎn)負(fù)載變化。(3)高評估精度,低評估系統(tǒng)開銷。本發(fā)明所采集的負(fù)載信息均是通過讀取系統(tǒng)內(nèi)核文件獲得,故不會(huì)產(chǎn)生過大的系統(tǒng)開銷。(4)本發(fā)明可實(shí)現(xiàn)任務(wù)節(jié)點(diǎn)在運(yùn)行的過程中根據(jù)負(fù)載的變化,按照計(jì)算能力獲取任務(wù),實(shí)現(xiàn)各個(gè)節(jié)點(diǎn)自適應(yīng)調(diào)節(jié);本發(fā)明的任務(wù)調(diào)度算法具有良好的加速比,能夠有效的減少任務(wù)響應(yīng)的總時(shí)間。
圖I為云計(jì)算平臺的系統(tǒng)結(jié)構(gòu)示意圖;圖2為本發(fā)明的多級負(fù)載評估方法的流程圖;圖3為任務(wù)節(jié)點(diǎn)的狀態(tài)轉(zhuǎn)換示意圖;圖4為本發(fā)明的云計(jì)算平臺自適應(yīng)任務(wù)調(diào)度方法的流程示意圖。
具體實(shí)施例方式下面結(jié)合附圖對本發(fā)明的技術(shù)方案進(jìn)行詳細(xì)說明本發(fā)明的思路是從集群節(jié)點(diǎn)的運(yùn)行隊(duì)列平均進(jìn)程數(shù)、CPU和內(nèi)存利用率、網(wǎng)絡(luò)帶寬利用率等方面考慮,采用多級負(fù)載評估方法,實(shí)現(xiàn)集群節(jié)點(diǎn)負(fù)載評估的高效性和可靠性。I、評估模型(I)節(jié)點(diǎn)模型云計(jì)算平臺的集群節(jié)點(diǎn),從功能上分為兩類管理節(jié)點(diǎn)(Master Node)和任務(wù)節(jié)點(diǎn)(Task Node),如圖I所示,當(dāng)作業(yè)提交給云計(jì)算平臺后,由管理節(jié)點(diǎn)負(fù)責(zé)將作業(yè)切分成若干個(gè)任務(wù)后選擇合適的任務(wù)節(jié)點(diǎn)部署任務(wù)。節(jié)點(diǎn)定義如下定義I管理節(jié)點(diǎn)(Master Node),云計(jì)算平臺的管理節(jié)點(diǎn),負(fù)責(zé)整個(gè)集群系統(tǒng)的管理和任務(wù)的調(diào)度。
定義2任務(wù)節(jié)點(diǎn)(Task Node),云計(jì)算平臺的任務(wù)節(jié)點(diǎn),負(fù)責(zé)任務(wù)的執(zhí)行。(2)負(fù)載模型對任務(wù)節(jié)點(diǎn)進(jìn)行合理的負(fù)載評估,實(shí)現(xiàn)任務(wù)節(jié)點(diǎn)在運(yùn)行的過程中根據(jù)負(fù)載評估的結(jié)果,動(dòng)態(tài)調(diào)節(jié)最大可并行執(zhí)行任務(wù)數(shù),實(shí)現(xiàn)按照計(jì)算能力獲取任務(wù)。同時(shí)避免因采用復(fù)雜調(diào)度算法對管理節(jié)點(diǎn)帶來的龐大壓力。按照上述要求,本發(fā)明引入負(fù)載優(yōu)先級的概念,首先選取運(yùn)行隊(duì)列平均長度(LoadAverage)作為高優(yōu)先級的負(fù)載參數(shù),它反應(yīng)了在特定時(shí)間間隔內(nèi)運(yùn)行隊(duì)列中的平均進(jìn)程數(shù);其次,選取CPU利用率(CpuUsage)和內(nèi)存利用率(MemoryUsage)作為中優(yōu)先級的負(fù)載參數(shù),它們反應(yīng)了當(dāng)前運(yùn)行任務(wù)占用系統(tǒng)資源的大?。蛔詈?,選取網(wǎng)絡(luò)帶寬利用率(NetworkBandwidthUsage)作為低優(yōu)先級的負(fù)載參數(shù),它是衡量網(wǎng)絡(luò)使用情況的一個(gè)重要指標(biāo),體現(xiàn)當(dāng)前節(jié)點(diǎn)網(wǎng)絡(luò)負(fù)載的大小。各個(gè)負(fù)載參數(shù)定義如下定義3運(yùn)行隊(duì)列平均長度(LoadAverage,LA),在某段時(shí)間內(nèi)的運(yùn)行隊(duì)列平均進(jìn)程數(shù)。 定義4CPU利用率(CpuUsage,CU),當(dāng)前采集周期內(nèi)的平均CPU利用率。定義5內(nèi)存利用率(MemoryUsage’MU),當(dāng)前采集周期內(nèi)的平均內(nèi)存利用率。定義6網(wǎng)絡(luò)帶寬利用率(NetworkBandwidthUsage, NBU),當(dāng)前采集周期內(nèi)的平均帶寬利用率。(3)狀態(tài)模型根據(jù)上述三級負(fù)載指標(biāo),統(tǒng)計(jì)任務(wù)節(jié)點(diǎn)當(dāng)前已使用的系統(tǒng)開銷。根據(jù)開銷的大小,為任務(wù)節(jié)點(diǎn)定義當(dāng)前所處狀態(tài)。本發(fā)明中將節(jié)點(diǎn)分為三種狀態(tài),每個(gè)任務(wù)節(jié)點(diǎn)都可能處在下列三種狀態(tài)之一狀態(tài)A (饑餓態(tài),HUNGER):任務(wù)節(jié)點(diǎn)的負(fù)載較輕,可以繼續(xù)承擔(dān)新任務(wù)。狀態(tài)B (最優(yōu)態(tài),OPTIMAL):任務(wù)節(jié)點(diǎn)的負(fù)載合理,當(dāng)前并行執(zhí)行任務(wù)數(shù)合理。狀態(tài)C (飽和態(tài),SATURATION):任務(wù)節(jié)點(diǎn)的負(fù)載較重,當(dāng)前并行執(zhí)行任務(wù)數(shù)超出承受范圍。為了描述和判斷節(jié)點(diǎn)狀態(tài)的屬性,本發(fā)明中為每個(gè)負(fù)載參數(shù)分別定義了最優(yōu)閾值(OptimalValue, 0V)和飽和閾值(ThresholdValue,TV),最優(yōu)閾值小于飽和閾值。當(dāng)前任務(wù)節(jié)點(diǎn)各負(fù)載參數(shù)均小于相應(yīng)的最優(yōu)值時(shí),該節(jié)點(diǎn)處于“饑餓態(tài)”;當(dāng)前任務(wù)節(jié)點(diǎn)的任一負(fù)載參數(shù)大于相應(yīng)的飽和閾值時(shí),該節(jié)點(diǎn)處于“飽和態(tài)”;其它情況下,節(jié)點(diǎn)處于“最優(yōu)態(tài)”。為了避免系統(tǒng)性能的抖動(dòng),影響采集節(jié)點(diǎn)信息的準(zhǔn)確度與精度,本發(fā)明引入了負(fù)載信息隊(duì)列,包括運(yùn)行隊(duì)列平均長度、CPU利用率、內(nèi)存利用率、網(wǎng)絡(luò)帶寬利用率(LoadAverageQueue、CpuQueue、MemoryQueue、NetworkBandwidthQueue)。每個(gè)任務(wù)節(jié)點(diǎn)維護(hù)一個(gè)長度為N的負(fù)載信息隊(duì)列,當(dāng)進(jìn)入下一個(gè)采集周期時(shí),重新采集節(jié)點(diǎn)信息,取代上一個(gè)周期的數(shù)據(jù)。下面以采用Linux系統(tǒng)的云計(jì)算平臺為例來對對本發(fā)明的技術(shù)方案進(jìn)行說明本發(fā)明的面向云計(jì)算平臺任務(wù)調(diào)度的多級負(fù)載評估方法,如圖2所示,按照以下步驟步驟I :初始化相關(guān)參數(shù)包括各負(fù)載參數(shù)的最優(yōu)閾值(0V)、飽和閾值(TV),以及負(fù)載信息隊(duì)列長度N,OV1-OV4, TV1-TV4分別表示運(yùn)行隊(duì)列平均長度、CPU利用率、內(nèi)存利用率、網(wǎng)絡(luò)帶寬利用率的最優(yōu)閾值、飽和閾值;步驟2 :在采集周期內(nèi),首先通過多次讀取系統(tǒng)內(nèi)核文件/proc/loadavg獲得一組運(yùn)行隊(duì)列進(jìn)程數(shù),并將其寫入負(fù)載信息隊(duì)列LoadAverageQueue ;步驟3 :根據(jù)負(fù)載信息隊(duì)列LoadAverageQueue計(jì)算當(dāng)前采集周期內(nèi)的運(yùn)行隊(duì)列平均進(jìn)程數(shù)LA,即
權(quán)利要求
1.一種面向云計(jì)算平臺任務(wù)調(diào)度的多級負(fù)載評估方法,其特征在于,包括以下步驟 步驟A、任務(wù)節(jié)點(diǎn)計(jì)算當(dāng)前采集周期內(nèi)自身的運(yùn)行隊(duì)列平均進(jìn)程數(shù),并與預(yù)設(shè)的進(jìn)程數(shù)飽和閾值進(jìn)行比較如運(yùn)行隊(duì)列平均進(jìn)程數(shù)<進(jìn)程數(shù)飽和閾值,轉(zhuǎn)至步驟B ;否則,判斷該任務(wù)節(jié)點(diǎn)處于飽和態(tài),即負(fù)載超出承受范圍; 步驟B、任務(wù)節(jié)點(diǎn)計(jì)算當(dāng)前采集周期內(nèi)自身的平均CPU利用率和平均內(nèi)存利用率,并分別與預(yù)設(shè)的CPU利用率飽和閾值,內(nèi)存利用率飽和閾值進(jìn)行比較如平均CPU利用率< CPU利用率飽和閾值,且平均內(nèi)存利用率< 內(nèi)存利用率飽和閾值,則轉(zhuǎn)步驟C ;否則,判斷該任務(wù)節(jié)點(diǎn)處于飽和態(tài); 步驟C、任務(wù)節(jié)點(diǎn)計(jì)算當(dāng)前采集周期內(nèi)自身的平均網(wǎng)絡(luò)帶寬利用率,并與預(yù)設(shè)的網(wǎng)絡(luò)帶寬利用率飽和閾值進(jìn)行比較如平均網(wǎng)絡(luò)帶寬利用率< 網(wǎng)絡(luò)帶寬利用率飽和閾值,則轉(zhuǎn)步驟D ;否則,判斷該任務(wù)節(jié)點(diǎn)處于飽和態(tài); 步驟D、將運(yùn)行隊(duì)列平均進(jìn)程數(shù)、平均CPU利用率、平均內(nèi)存利用率、平均網(wǎng)絡(luò)帶寬利用率分別與預(yù)先設(shè)置的進(jìn)程數(shù)最優(yōu)閾值、CPU利用率最優(yōu)閾值、內(nèi)存利用率最優(yōu)閾值、網(wǎng)絡(luò)帶寬利用率最優(yōu)閾值比較,其中,進(jìn)程數(shù)最優(yōu)閾值<進(jìn)程數(shù)飽和閾值,CPU利用率最優(yōu)閾值< CPU利用率飽和閾值,內(nèi)存利用率最優(yōu)閾值<內(nèi)存利用率飽和閾值,網(wǎng)絡(luò)帶寬利用率最優(yōu)閾值< 網(wǎng)絡(luò)帶寬利用率飽和閾值當(dāng)運(yùn)行隊(duì)列平均進(jìn)程數(shù)<進(jìn)程數(shù)最優(yōu)閾值、平均CPU利用率< CPU利用率最優(yōu)閾值、平均內(nèi)存利用率<內(nèi)存利用率最優(yōu)閾值,以及<網(wǎng)絡(luò)帶寬利用率最優(yōu)閾值同時(shí)得到滿足,則判斷該任務(wù)節(jié)點(diǎn)處于饑餓態(tài),即負(fù)載較輕,可以繼續(xù)承擔(dān)新任務(wù);否則,判斷該任務(wù)節(jié)點(diǎn)處于最優(yōu)態(tài),即負(fù)載合理。
2.如權(quán)利要求I所述面向云計(jì)算平臺任務(wù)調(diào)度的多級負(fù)載評估方法,其特征在于,所述當(dāng)前采集周期內(nèi)的運(yùn)行隊(duì)列平均進(jìn)程數(shù)、平均CPU利用率、平均內(nèi)存利用率、平均網(wǎng)絡(luò)帶寬利用率,按照以下方法得到在當(dāng)前采集周期內(nèi)多次讀取該任務(wù)節(jié)點(diǎn)中相應(yīng)的系統(tǒng)內(nèi)核文件,獲得一組運(yùn)行隊(duì)列進(jìn)程數(shù)、CPU利用率、內(nèi)存利用率、網(wǎng)絡(luò)帶寬利用率,然后分別取其平均值。
3.—種云計(jì)算平臺自適應(yīng)任務(wù)調(diào)度方法,其特征在于,包括以下步驟 步驟I、各任務(wù)節(jié)點(diǎn)在當(dāng)前心跳周期內(nèi)計(jì)算本任務(wù)節(jié)點(diǎn)正在執(zhí)行的任務(wù)數(shù),同時(shí)采用權(quán)利要求I或2所述負(fù)載評估方法進(jìn)行負(fù)載評估;當(dāng)前心跳周期結(jié)束時(shí),如該任務(wù)節(jié)點(diǎn)正在執(zhí)行的任務(wù)數(shù)小于該任務(wù)節(jié)點(diǎn)的最大可并行執(zhí)行的任務(wù)數(shù),且其狀態(tài)為饑餓態(tài)或最優(yōu)態(tài),則向管理節(jié)點(diǎn)索取任務(wù);否則,不向管理節(jié)點(diǎn)索取任務(wù); 步驟2、各任務(wù)節(jié)點(diǎn)根據(jù)連續(xù)k個(gè)心跳周期內(nèi)的自身的負(fù)載狀態(tài)及正在執(zhí)行的任務(wù)數(shù)對任務(wù)進(jìn)行動(dòng)態(tài)配置,k為預(yù)設(shè)的大于I的自然數(shù),具體配置方法如下 當(dāng)出現(xiàn)連續(xù)k個(gè)心跳周期內(nèi)的負(fù)載狀態(tài)都處于饑餓態(tài)時(shí),若正在執(zhí)行的任務(wù)數(shù)小于當(dāng)前最大可并行執(zhí)行的任務(wù)數(shù),則不對最大可并行執(zhí)行的任務(wù)數(shù)進(jìn)行調(diào)整;否則,將最大可并行執(zhí)行的任務(wù)數(shù)增大; 當(dāng)出現(xiàn)連續(xù)k個(gè)心跳周期內(nèi)的負(fù)載狀態(tài)都處于飽和態(tài)時(shí),首先殺死超時(shí)未得到響應(yīng)的任務(wù),并將此任務(wù)匯報(bào)給管理節(jié)點(diǎn),請求管理節(jié)點(diǎn)將該任務(wù)重新分配給合適的任務(wù)節(jié)點(diǎn);然后判斷正在執(zhí)行的任務(wù)數(shù)是否小于當(dāng)前最大可并行執(zhí)行的任務(wù)數(shù),如是,則將最大可并行執(zhí)行的任務(wù)數(shù)調(diào)整為正在執(zhí)行的任務(wù)數(shù);如否,則將最大可并行執(zhí)行的任務(wù)數(shù)減?。? 在其它情況下,不采取任何措施;步驟3、各任務(wù)節(jié)點(diǎn)按照心跳周期重復(fù)執(zhí)行步驟I、步驟2。
4.如權(quán)利要求3所述云計(jì)算平臺自適應(yīng)任務(wù)調(diào)度方法,其特征在于,步驟2中所述將最大可并行執(zhí)行的任務(wù)數(shù)增大/減小,具體是指將當(dāng)前最大可并行執(zhí)行的任務(wù)數(shù)加/減I。
全文摘要
本發(fā)明公開了一種面向云計(jì)算平臺任務(wù)調(diào)度的多級負(fù)載評估方法。本發(fā)明方法充分考慮任務(wù)節(jié)點(diǎn)自身負(fù)載的動(dòng)態(tài)變化、不同任務(wù)節(jié)點(diǎn)性能的差異以及不同任務(wù)負(fù)載需求的差異,選取了運(yùn)行隊(duì)列平均進(jìn)程數(shù)、平均CPU利用率、平均內(nèi)存利用率、平均網(wǎng)絡(luò)帶寬利用率作為評估所需的負(fù)載參數(shù),并對其賦予不同的優(yōu)先級,為大規(guī)模服務(wù)器集群的任務(wù)調(diào)度提供一種多級負(fù)載評估方法。本發(fā)明還公開了一種云計(jì)算平臺自適應(yīng)任務(wù)調(diào)度方法。相比現(xiàn)有技術(shù),本發(fā)明具有高精度,低消耗的優(yōu)點(diǎn),充分滿足了云計(jì)算平臺任務(wù)調(diào)度策略的需求。
文檔編號G06F9/50GK102708011SQ20121014695
公開日2012年10月3日 申請日期2012年5月11日 優(yōu)先權(quán)日2012年5月11日
發(fā)明者孫雁飛, 徐小龍, 曹玲玲, 李玲娟, 楊庚 申請人:南京郵電大學(xué)