一種用于云計(jì)算系統(tǒng)的作業(yè)調(diào)度方法
【專利摘要】本發(fā)明公開一種用于云計(jì)算系統(tǒng)的作業(yè)調(diào)度方法,方法中采用的系統(tǒng)包括全局作業(yè)隊(duì)列、子作業(yè)隊(duì)列、作業(yè)調(diào)度器和與子作業(yè)隊(duì)列對(duì)應(yīng)的虛擬機(jī),所述全局作業(yè)隊(duì)列接收到達(dá)系統(tǒng)的作業(yè),所述作業(yè)調(diào)度器將全局作業(yè)隊(duì)列中的作業(yè)調(diào)度至合適的子作業(yè)隊(duì)列中排隊(duì),等待虛擬機(jī)執(zhí)行,所述作業(yè)調(diào)度方法基于先進(jìn)先出工作方式,其中,調(diào)度規(guī)則為:當(dāng)作業(yè)到達(dá)全局作業(yè)隊(duì)列時(shí),只有當(dāng)子作業(yè)隊(duì)列剩余緩存空間容量大于0,或作業(yè)最大等待分配時(shí)延小于虛擬機(jī)正在執(zhí)行作業(yè)的最小剩余執(zhí)行時(shí)間,作業(yè)才會(huì)等待被調(diào)度到子作業(yè)隊(duì)列,否則,該作業(yè)將被丟棄。本發(fā)明的作業(yè)調(diào)度方法能提高系統(tǒng)資源利用率,同時(shí)節(jié)省了作業(yè)請(qǐng)求者的時(shí)間,提高了云計(jì)算系統(tǒng)的服務(wù)質(zhì)量。
【專利說明】—種用于云計(jì)算系統(tǒng)的作業(yè)調(diào)度方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及云計(jì)算領(lǐng)域,具體涉及一種用于云計(jì)算系統(tǒng)的作業(yè)調(diào)度方法。
【背景技術(shù)】
[0002]云計(jì)算作為一種新興的計(jì)算模式,具有海量的處理存儲(chǔ)能力,且具有高效、虛擬和廉價(jià)等特點(diǎn),因此得到了商業(yè)界以及學(xué)術(shù)界的高度關(guān)注。云計(jì)算系統(tǒng)可以部署在廉價(jià)的普通服務(wù)器上,通過網(wǎng)絡(luò)為用戶提供不同的服務(wù),并高效地執(zhí)行和管理用戶提交的各種作業(yè)。而作業(yè)調(diào)度算法是否優(yōu)良影響著云計(jì)算的執(zhí)行效率,優(yōu)秀的作業(yè)調(diào)度算法可以降低作業(yè)的調(diào)度時(shí)間,提高系統(tǒng)的資源利用率,因此云計(jì)算的核心問題是怎樣達(dá)到高效的作業(yè)調(diào)度和資源分配。
[0003]常見的作業(yè)調(diào)度算法有三種:先進(jìn)先出的作業(yè)調(diào)度算法、Facebook開發(fā)的基于保證大作業(yè)運(yùn)行的公平份額的作業(yè)調(diào)度算法、Yahoo開發(fā)的基于容量的計(jì)算能力的作業(yè)調(diào)度算法。這些云計(jì)算作業(yè)調(diào)度方案存在著不足:沒有考慮各作業(yè)隊(duì)列剩余緩存空間、作業(yè)所能容忍的最大等待分配時(shí)延和虛擬機(jī)當(dāng)前執(zhí)行作業(yè)的剩余執(zhí)行時(shí)間,使得作業(yè)不能在其所能忍受的等待時(shí)間內(nèi)被分配的情況下,仍然要浪費(fèi)時(shí)間等待。這樣,該作業(yè)不僅占用了系統(tǒng)資源,降低了系統(tǒng)的資源利用率,還浪費(fèi)了作業(yè)請(qǐng)求者的時(shí)間,使得用戶體驗(yàn)不好。
【發(fā)明內(nèi)容】
[0004]本發(fā)明正是基于上述技術(shù)問題,提出了一種用于云計(jì)算系統(tǒng)的作業(yè)調(diào)度方法,提高云計(jì)算系統(tǒng)的資源利用率和服務(wù)質(zhì)量,采用的技術(shù)方案如下:
一種用于云計(jì)算系統(tǒng)的作業(yè)調(diào)度方法,方法中采用的系統(tǒng)包括全局作業(yè)隊(duì)列、子作業(yè)隊(duì)列、作業(yè)調(diào)度器和與子作業(yè)隊(duì)列對(duì)應(yīng)的虛擬機(jī),所述全局作業(yè)隊(duì)列接收到達(dá)系統(tǒng)的作業(yè),所述作業(yè)調(diào)度器將全局作業(yè)隊(duì)列中的作業(yè)調(diào)度至合適的子作業(yè)隊(duì)列中排隊(duì),等待虛擬機(jī)執(zhí)行,所述作業(yè)調(diào)度方法基于先進(jìn)先出工作方式,其中,調(diào)度規(guī)則為:當(dāng)作業(yè)到達(dá)全局作業(yè)隊(duì)列時(shí),只有當(dāng)子作業(yè)隊(duì)列剩余緩存空間容量大于0,或作業(yè)最大等待分配時(shí)延小于虛擬機(jī)正在執(zhí)行作業(yè)的最小剩余執(zhí)行時(shí)間,作業(yè)才會(huì)等待被調(diào)度到子作業(yè)隊(duì)列,否則,該作業(yè)將被丟棄。
[0005]傳統(tǒng)的先進(jìn)先出調(diào)度方法,沒有考慮各子作業(yè)隊(duì)列剩余緩存空間容量、作業(yè)所能容忍的最大等待分配時(shí)延和虛擬機(jī)當(dāng)前執(zhí)行作業(yè)的剩余執(zhí)行時(shí)間,使得作業(yè)不能在其所能忍受的最大等待時(shí)間內(nèi)被分配的情況下,仍然要浪費(fèi)時(shí)間等待分配,占用系統(tǒng)資源,降低系統(tǒng)資源利用率,浪費(fèi)作業(yè)請(qǐng)求者的時(shí)間。而本發(fā)明增加的作業(yè)調(diào)度規(guī)則使得,在各子作業(yè)隊(duì)列剩余緩存空間為0且作業(yè)最大等待分配時(shí)延小于各虛擬機(jī)中正在執(zhí)行作業(yè)的最小剩余執(zhí)行時(shí)間時(shí),該作業(yè)不會(huì)繼續(xù)等待被分配,而是直接被丟棄,釋放該作業(yè)占用的系統(tǒng)資源,提高了系統(tǒng)資源利用率,同時(shí)節(jié)省了作業(yè)請(qǐng)求者的時(shí)間。
[0006]作為優(yōu)選,所述最大等待分配時(shí)延不大于作業(yè)與該作業(yè)相鄰下一個(gè)作業(yè)到達(dá)全局作業(yè)隊(duì)列的時(shí)間之差。 這樣,在該作業(yè)相鄰下一個(gè)作業(yè)到達(dá)之前,該作業(yè)必須被處理,要么被調(diào)度,要么被丟棄,這樣能避免某一作業(yè)長時(shí)間占用系統(tǒng)資源,造成其后的作業(yè)沒有資源可利用。
[0007]作為優(yōu)選,本發(fā)明進(jìn)一步包括,當(dāng)作業(yè)到達(dá)全局作業(yè)隊(duì)列時(shí),讀取該作業(yè)端到端時(shí)延要求,當(dāng)端到端時(shí)延要求能被滿足時(shí),該作業(yè)才會(huì)等待被調(diào)度到子作業(yè)隊(duì)列,否則,該作業(yè)將被丟棄。
[0008]本發(fā)明中,端到端時(shí)延與計(jì)算機(jī)網(wǎng)絡(luò)中的端到端時(shí)延概念及含義相同,也就是作業(yè)從全局作業(yè)隊(duì)列傳輸?shù)阶幼鳂I(yè)隊(duì)列所需要的時(shí)間。當(dāng)作業(yè)的時(shí)延要求不能被滿足時(shí),即作業(yè)的時(shí)延要求小于作業(yè)從全局作業(yè)隊(duì)列傳輸?shù)阶幼鳂I(yè)隊(duì)列所需要的時(shí)間時(shí),該作業(yè)也不會(huì)繼續(xù)等待被分配,這樣就可以進(jìn)一步釋放系統(tǒng)資源,提高資源利用率和服務(wù)質(zhì)量,改善用戶體驗(yàn)。
[0009]作為優(yōu)選,本發(fā)明進(jìn)一步包括,根據(jù)作業(yè)被丟棄的不同情況向用戶返回作業(yè)被丟棄的原因,具體為:當(dāng)子作業(yè)隊(duì)列剩余緩存空間容量為0,且作業(yè)最大等待分配時(shí)延小于虛擬機(jī)中正在執(zhí)行作業(yè)的最小剩余執(zhí)行時(shí)間時(shí),向用戶返回“隊(duì)列滿”信息;當(dāng)作業(yè)的端到端時(shí)延要求不能被滿足時(shí),向用戶返回“超時(shí)”信息。
[0010]通過向作業(yè)請(qǐng)求者返回作業(yè)被丟棄的原因,使得用戶能實(shí)時(shí)掌握作業(yè)運(yùn)行情況,并能夠根據(jù)反饋消息決定接下來的動(dòng)作,包括重新提交作業(yè)或者放棄執(zhí)行作業(yè),提高了服務(wù)質(zhì)量,改善了用戶體驗(yàn)。
[0011]作為優(yōu)選,本發(fā)明進(jìn)一步包括,計(jì)算每個(gè)子作業(yè)隊(duì)列的前置作業(yè)執(zhí)行時(shí)間之和,將全局作業(yè)隊(duì)列中的作業(yè)調(diào)度到,前置作業(yè)執(zhí)行時(shí)間之和最短的子作業(yè)隊(duì)列中排隊(duì)。
[0012]某些子作業(yè)隊(duì)列排隊(duì)的作業(yè)較少,但是其中的某些作業(yè)卻需要很長的執(zhí)行時(shí)間,若忽視這點(diǎn),直接將作業(yè)安排到作業(yè)較少的子作業(yè)隊(duì)列中,會(huì)導(dǎo)致作業(yè)等待時(shí)間不合理,作業(yè)調(diào)度效率低等問題。而本發(fā)明通過計(jì)算子作業(yè)隊(duì)列的前置作業(yè)執(zhí)行時(shí)間之和,即各子作業(yè)隊(duì)列中虛擬機(jī)正在運(yùn)行作業(yè)的剩余執(zhí)行時(shí)間與排隊(duì)作業(yè)的執(zhí)行時(shí)間之和。然后將符合被調(diào)度規(guī)則的作業(yè)調(diào)度到子作業(yè)隊(duì)列的前置作業(yè)執(zhí)行時(shí)間之和最短的子作業(yè)隊(duì)列中,減少了作業(yè)的等待時(shí)間,提高了作業(yè)調(diào)度的效率和云計(jì)算系統(tǒng)的服務(wù)質(zhì)量。
[0013]具體地,本發(fā)明的一種用于云計(jì)算系統(tǒng)的作業(yè)調(diào)度方法包括以下步驟:
51.作業(yè)到達(dá)全局作業(yè)隊(duì)列;
52.讀取該作業(yè)的端到端時(shí)延要求,分配作業(yè)編號(hào),設(shè)置該作業(yè)能容忍的最大等待時(shí)延,估算該作業(yè)的執(zhí)行時(shí)間;
53.判斷是否有子作業(yè)隊(duì)列剩余緩存空間容量大于0,若是,則執(zhí)行S4,若否,則執(zhí)行
S8 ;
54.計(jì)算各子作業(yè)隊(duì)列的前置作業(yè)執(zhí)行時(shí)間之和;
55.判斷該作業(yè)是否滿足端到端時(shí)延要求,若是,則執(zhí)行S6,若否,則執(zhí)行S7;
56.該作業(yè)進(jìn)入前置作業(yè)執(zhí)行時(shí)間之和最短的子作業(yè)隊(duì)列,結(jié)束本次調(diào)度;
57.丟棄該作業(yè)并發(fā)送“超時(shí)”信息給作業(yè)請(qǐng)求者,結(jié)束本次調(diào)度;
58.判斷最大等待分配時(shí)延是否大于虛擬機(jī)正在執(zhí)行作業(yè)的最小剩余執(zhí)行時(shí)間:若是,則執(zhí)行步驟S9,若否,則執(zhí)行步驟SlO ;
59.該作業(yè)等待最小剩余執(zhí)行時(shí)間后,執(zhí)行步驟S4;
S10.丟棄該作業(yè)并發(fā)送“隊(duì)列滿”信息給作業(yè)請(qǐng)求者,結(jié)束本次調(diào)度。
[0014]其中,步驟S2中估算作業(yè)執(zhí)行時(shí)間的方法如下:
設(shè)作業(yè)的大小為F,占用的云計(jì)算系統(tǒng)資源為C,則該作業(yè)的執(zhí)行時(shí)間估計(jì)為t,則t滿足,其中云計(jì)算系統(tǒng)資源C為一個(gè)256兆內(nèi)存的虛擬中央處理器。
[0015]作為優(yōu)選,所述步驟S2中的作業(yè)編號(hào)在該作業(yè)完成之前是唯一不變的。
[0016]本發(fā)明為作業(yè)建立一個(gè)作業(yè)編號(hào),該作業(yè)編號(hào)負(fù)責(zé)封裝作業(yè)和記錄信息,在作業(yè)期間保證作業(yè)編號(hào)唯一不變,以便跟蹤作業(yè)執(zhí)行狀態(tài)與進(jìn)程。
[0017]具體地,所述子作業(yè)隊(duì)列剩余緩存空間容量、各虛擬機(jī)中當(dāng)前執(zhí)行作業(yè)剩余執(zhí)行時(shí)間以及各子作業(yè)隊(duì)列的前置作業(yè)執(zhí)行時(shí)間之和是通過作業(yè)調(diào)度器監(jiān)控計(jì)算的。
[0018]作為優(yōu)選,本發(fā)明中所述全局作業(yè)隊(duì)列的長度滿足:所述作業(yè)調(diào)度器完成全局作業(yè)隊(duì)列所需時(shí)間不大于作業(yè)與該作業(yè)相鄰下一個(gè)作業(yè)到達(dá)全局作業(yè)隊(duì)列的時(shí)間之差。
[0019]對(duì)全局作業(yè)隊(duì)列的長度作這樣的限定,可以避免因全局作業(yè)隊(duì)列中等待調(diào)度的作業(yè)數(shù)超過全局作業(yè)隊(duì)列所能容納的最大作業(yè)數(shù)而導(dǎo)致的作業(yè)流失,降低了作業(yè)的阻塞率,提聞了服務(wù)質(zhì)量。
[0020]作為優(yōu)選,本發(fā)明中所述子作業(yè)隊(duì)列為一個(gè)或以上,其隊(duì)列長度滿足:虛擬機(jī)完成子作業(yè)隊(duì)列所需時(shí)間不大于作業(yè)與該作業(yè)相鄰下一個(gè)作業(yè)到達(dá)子作業(yè)隊(duì)列的時(shí)間之差。
[0021]對(duì)子作業(yè)隊(duì)列的長度作這樣的限定,可以避免因子作業(yè)隊(duì)列中等待調(diào)度的作業(yè)數(shù)超過子作業(yè)隊(duì)列所能容納的最大作業(yè)數(shù)而導(dǎo)致的作業(yè)流失,降低了作業(yè)的阻塞率,提高了服務(wù)質(zhì)量。
[0022]本發(fā)明有益效果:與現(xiàn)有技術(shù)相比,本發(fā)明在進(jìn)行作業(yè)調(diào)度時(shí)考慮了作業(yè)所能容忍的最大等待分配時(shí)延、子作業(yè)隊(duì)列剩余緩存空間和作業(yè)傳輸?shù)亩说蕉藭r(shí)延,提高了系統(tǒng)資源利用率,節(jié)省了作業(yè)請(qǐng)求者的時(shí)間;向作業(yè)請(qǐng)求者返回作業(yè)被丟棄原因,使得用戶能實(shí)時(shí)掌握作業(yè)運(yùn)行情況;將作業(yè)調(diào)度到前置作業(yè)執(zhí)行時(shí)間之和最短的子作業(yè)隊(duì)列中排隊(duì),減少了作業(yè)的等待時(shí)間,提高了系統(tǒng)的服務(wù)質(zhì)量。對(duì)全局作業(yè)隊(duì)列和子作業(yè)隊(duì)列的長度作合理限定,降低了作業(yè)的阻塞率,提高了服務(wù)質(zhì)量。
【專利附圖】
【附圖說明】
[0023]圖1為本發(fā)明的調(diào)度規(guī)則示意圖;
圖2為本發(fā)明的處理流程圖。
【具體實(shí)施方式】
[0024]下面結(jié)合附圖和具體實(shí)施例對(duì)本發(fā)明作進(jìn)一步說明。
[0025]實(shí)施例:
如圖1所示,一種用于云計(jì)算系統(tǒng)的作業(yè)調(diào)度方法,方法中采用的系統(tǒng)包括全局作業(yè)隊(duì)列、子作業(yè)隊(duì)列、作業(yè)調(diào)度器和與子作業(yè)隊(duì)列對(duì)應(yīng)的虛擬機(jī),所述全局作業(yè)隊(duì)列接收到達(dá)系統(tǒng)的作業(yè),所述作業(yè)調(diào)度器將全局作業(yè)隊(duì)列中的作業(yè)調(diào)度至合適的子作業(yè)隊(duì)列中排隊(duì),等待虛擬機(jī)執(zhí)行,所述作業(yè)調(diào)度方法基于先進(jìn)先出工作方式,其中,調(diào)度規(guī)則為:當(dāng)作業(yè)到達(dá)全局作業(yè)隊(duì)列時(shí),只有當(dāng)子作業(yè)隊(duì)列剩余緩存空間容量大于0,或作業(yè)最大等待分配時(shí)延小于虛擬機(jī)正在執(zhí)行作業(yè)的最小剩余執(zhí)行時(shí)間,作業(yè)才會(huì)等待被調(diào)度到子作業(yè)隊(duì)列,否則,該作業(yè)將被丟棄。
[0026]作為優(yōu)選,本實(shí)施例中,所述最大等待分配時(shí)延不大于作業(yè)與該作業(yè)相鄰下一個(gè)作業(yè)到達(dá)全局作業(yè)隊(duì)列的時(shí)間之差。
令最大等待分配時(shí)延等于作業(yè)到達(dá)時(shí)間與該作業(yè)相鄰下一個(gè)作業(yè)到達(dá)時(shí)間之差,即在該作業(yè)相鄰下一個(gè)作業(yè)到達(dá)之前,該作業(yè)必須被處理,要么被調(diào)度,要么被丟棄,這樣能避免某一作業(yè)長時(shí)間占用系統(tǒng)資源,造成其后的作業(yè)沒有資源可利用。
[0027]作為優(yōu)選,本實(shí)施例進(jìn)一步包括,當(dāng)作業(yè)到達(dá)全局作業(yè)隊(duì)列時(shí),讀取該作業(yè)端到端時(shí)延要求,當(dāng)端到端時(shí)延要求能被滿足時(shí),該作業(yè)才會(huì)等待被調(diào)度到子作業(yè)隊(duì)列,否則,該作業(yè)將被丟棄。
作為優(yōu)選,本實(shí)施例進(jìn)一步包括,根據(jù)作業(yè)被丟棄的不同情況向用戶返回作業(yè)被丟棄的原因,具體為:當(dāng)子作業(yè)隊(duì)列剩余緩存空間容量為0,且作業(yè)最大等待分配時(shí)延小于虛擬機(jī)中正在執(zhí)行作業(yè)的最小剩余執(zhí)行時(shí)間時(shí),向用戶返回“隊(duì)列滿”信息;當(dāng)作業(yè)的端到端時(shí)延要求不能被滿足時(shí),向用戶返回“超時(shí)”信息。
[0028]作為優(yōu)選,本實(shí)施例進(jìn)一步包括,計(jì)算每個(gè)子作業(yè)隊(duì)列的前置作業(yè)執(zhí)行時(shí)間之和,將全局作業(yè)隊(duì)列中的作業(yè)調(diào)度到,前置作業(yè)執(zhí)行時(shí)間之和最短的子作業(yè)隊(duì)列中排隊(duì)。
[0029]將作業(yè)調(diào)度到前置作業(yè)執(zhí)行時(shí)間之和最短的子作業(yè)隊(duì)列中排隊(duì),減少了作業(yè)的等待時(shí)間,提高了調(diào)度效率,使得系統(tǒng)資源得到更合理的利用。
[0030]如圖2所示,本實(shí)施例的一種用于云計(jì)算系統(tǒng)的作業(yè)調(diào)度方法具體包括以下步驟:
51.作業(yè)到達(dá)全局作業(yè)隊(duì)列;
52.讀取該作業(yè)的端到端時(shí)延要求,分配作業(yè)編號(hào),設(shè)置該作業(yè)能容忍的最大等待時(shí)延,估算該作業(yè)的執(zhí)行時(shí)間;
53.判斷是否有子作業(yè)隊(duì)列剩余緩存空間容量大于0,若是,則執(zhí)行S4,若否,則執(zhí)行
S8 ;
54.計(jì)算各子作業(yè)隊(duì)列的前置作業(yè)執(zhí)行時(shí)間之和;
55.判斷該作業(yè)是否滿足端到端時(shí)延要求,若是,則執(zhí)行S6,若否,則執(zhí)行S7;
56.該作業(yè)進(jìn)入前置作業(yè)執(zhí)行時(shí)間之和最短的子作業(yè)隊(duì)列,結(jié)束本次調(diào)度;
57.丟棄該作業(yè)并發(fā)送“超時(shí)”信息給作業(yè)請(qǐng)求者,結(jié)束本次調(diào)度;
58.判斷最大等待分配時(shí)延是否大于虛擬機(jī)正在執(zhí)行作業(yè)的最小剩余執(zhí)行時(shí)間:若是,則執(zhí)行步驟S9,若否,則執(zhí)行步驟SlO ;
59.該作業(yè)等待最小剩余執(zhí)行時(shí)間后,執(zhí)行步驟S4;
S10.丟棄該作業(yè)并發(fā)送“隊(duì)列滿”信息給作業(yè)請(qǐng)求者,結(jié)束本次調(diào)度。
[0031]其中,步驟S2中估算作業(yè)執(zhí)行時(shí)間的方法如下:
設(shè)作業(yè)的大小為F,占用的云計(jì)算系統(tǒng)資源為C,則該作業(yè)的執(zhí)行時(shí)間估計(jì)為t,則t滿足,其中云計(jì)算系統(tǒng)資源C為一個(gè)256兆內(nèi)存的虛擬中央處理器。
[0032]作為優(yōu)選,所述步驟S2中的作業(yè)編號(hào)在該作業(yè)完成之前是唯一不變的。
[0033]具體地,本實(shí)施例中,所述子作業(yè)隊(duì)列剩余緩存空間容量、各虛擬機(jī)中當(dāng)前執(zhí)行作業(yè)剩余執(zhí)行時(shí)間以及各子作業(yè)隊(duì)列的前置作業(yè)執(zhí)行時(shí)間之和是通過作業(yè)調(diào)度器監(jiān)控計(jì)算的。
[0034]作為優(yōu)選,本實(shí)施例中所述全局作業(yè)隊(duì)列的長度滿足:所述作業(yè)調(diào)度器完成全局作業(yè)隊(duì)列所需時(shí)間不大作業(yè)與該作業(yè)相鄰下一個(gè)作業(yè)到達(dá)全局作業(yè)隊(duì)列的時(shí)間之差。
[0035]作為優(yōu)選,本實(shí)施例中所述子作業(yè)隊(duì)列為一個(gè)或以上,其隊(duì)列長度滿足:虛擬機(jī)完成子作業(yè)隊(duì)列所需時(shí)間不大于作業(yè)與該作業(yè)相鄰下一個(gè)作業(yè)到達(dá)子作業(yè)隊(duì)列的時(shí)間之差。
【權(quán)利要求】
1.一種用于云計(jì)算系統(tǒng)的作業(yè)調(diào)度方法,方法中采用的系統(tǒng)包括全局作業(yè)隊(duì)列、子作業(yè)隊(duì)列、作業(yè)調(diào)度器和與子作業(yè)隊(duì)列對(duì)應(yīng)的虛擬機(jī),所述全局作業(yè)隊(duì)列接收到達(dá)系統(tǒng)的作業(yè),所述作業(yè)調(diào)度器將全局作業(yè)隊(duì)列中的作業(yè)調(diào)度至合適的子作業(yè)隊(duì)列中排隊(duì),等待虛擬機(jī)執(zhí)行,所述作業(yè)調(diào)度方法基于先進(jìn)先出工作方式,其特征在于,調(diào)度規(guī)則為:當(dāng)作業(yè)到達(dá)全局作業(yè)隊(duì)列時(shí),只有當(dāng)子作業(yè)隊(duì)列剩余緩存空間容量大于O,或作業(yè)最大等待分配時(shí)延小于虛擬機(jī)正在執(zhí)行作業(yè)的最小剩余執(zhí)行時(shí)間,作業(yè)才會(huì)等待被調(diào)度到子作業(yè)隊(duì)列,否則,該作業(yè)將被丟棄。
2.根據(jù)權(quán)利要求1所述的一種用于云計(jì)算系統(tǒng)的作業(yè)調(diào)度方法,其特征在于,所述最大等待分配時(shí)延不大于作業(yè)與該作業(yè)相鄰下一個(gè)作業(yè)到達(dá)全局作業(yè)隊(duì)列的時(shí)間之差。
3.根據(jù)權(quán)利要求1或2所述的一種用于云計(jì)算系統(tǒng)的作業(yè)調(diào)度方法,其特征在于,進(jìn)一步包括,當(dāng)作業(yè)到達(dá)全局作業(yè)隊(duì)列時(shí),讀取該作業(yè)端到端時(shí)延要求,當(dāng)端到端時(shí)延要求能被滿足時(shí),該作業(yè)才會(huì)等待被調(diào)度到子作業(yè)隊(duì)列,否則,該作業(yè)將被丟棄。
4.根據(jù)權(quán)利要求3所述的一種用于云計(jì)算系統(tǒng)的作業(yè)調(diào)度方法,其特征在于,進(jìn)一步包括,根據(jù)作業(yè)被丟棄的不同情況向用戶返回作業(yè)被丟棄的原因,具體為:當(dāng)子作業(yè)隊(duì)列剩余緩存空間容量為O,且作業(yè)最大等待分配時(shí)延小于虛擬機(jī)中正在執(zhí)行作業(yè)的最小剩余執(zhí)行時(shí)間時(shí),向用戶返回“隊(duì)列滿”信息;當(dāng)作業(yè)的端到端時(shí)延要求不能被滿足時(shí),向用戶返回“超時(shí)”信息。
5.根據(jù)權(quán)利要求4所述的一種用于云計(jì)算系統(tǒng)的作業(yè)調(diào)度方法,其特征在于,進(jìn)一步包括,計(jì)算每個(gè)子作業(yè)隊(duì)列的前置作業(yè)執(zhí)行時(shí)間之和,將全局作業(yè)隊(duì)列中的作業(yè)調(diào)度到,前置作業(yè)執(zhí)行時(shí)間之和最短的子作業(yè)隊(duì)列中排隊(duì)。
6.根據(jù)權(quán)利要求5所述的一種用于云計(jì)算系統(tǒng)的作業(yè)調(diào)度方法,其特征在于,包括以下步驟: 51.作業(yè)到達(dá)全局作業(yè)隊(duì)列; 52.讀取該作業(yè)的端到端時(shí)延要求,分配作業(yè)編號(hào),設(shè)置該作業(yè)能容忍的最大等待時(shí)延,估算該作業(yè)的執(zhí)行時(shí)間; 53.判斷是否有子作業(yè)隊(duì)列剩余緩存空間容量大于O,若是,則執(zhí)行S4,若否,則執(zhí)行S8 ; 54.計(jì)算各子作業(yè)隊(duì)列的前置作業(yè)執(zhí)行時(shí)間之和; 55.判斷該作業(yè)是否滿足端到端時(shí)延要求,若是,則執(zhí)行S6,若否,則執(zhí)行S7; 56.該作業(yè)進(jìn)入前置作業(yè)執(zhí)行時(shí)間之和最短的子作業(yè)隊(duì)列,結(jié)束本次調(diào)度; 57.丟棄該作業(yè)并發(fā)送“超時(shí)”信息給作業(yè)請(qǐng)求者,結(jié)束本次調(diào)度; 58.判斷最大等待分配時(shí)延是否大于虛擬機(jī)正在執(zhí)行作業(yè)的最小剩余執(zhí)行時(shí)間:若是,則執(zhí)行步驟S9,若否,則執(zhí)行步驟SlO ; 59.該作業(yè)等待最小剩余執(zhí)行時(shí)間后,執(zhí)行步驟S4; S10.丟棄該作業(yè)并發(fā)送“隊(duì)列滿”信息給作業(yè)請(qǐng)求者,結(jié)束本次調(diào)度。
7.根據(jù)權(quán)利要求6所述的一種用于云計(jì)算系統(tǒng)的作業(yè)調(diào)度方法,其特征在于,所述步驟S2中的作業(yè)編號(hào)在該作業(yè)完成之前是唯一不變的。
8.根據(jù)權(quán)利要求6所述的一種用于云計(jì)算系統(tǒng)的作業(yè)調(diào)度方法,其特征在于,所述子作業(yè)隊(duì)列剩余緩存空間容量、各虛擬機(jī)中當(dāng)前執(zhí)行作業(yè)剩余執(zhí)行時(shí)間以及各子作業(yè)隊(duì)列的前置作業(yè)執(zhí)行時(shí)間之和是通過作業(yè)調(diào)度器監(jiān)控計(jì)算的。
9.根據(jù)權(quán)利要求6所述的一種用于云計(jì)算系統(tǒng)的作業(yè)調(diào)度方法,其特征在于,所述全局作業(yè)隊(duì)列長度滿足:所述作業(yè)調(diào)度器完成全局作業(yè)隊(duì)列所需時(shí)間不大于作業(yè)與該作業(yè)相鄰下一個(gè)作業(yè)到達(dá)全局作業(yè)隊(duì)列的時(shí)間之差。
10.根據(jù)權(quán)利要求8或9所述的一種用于云計(jì)算系統(tǒng)的作業(yè)調(diào)度方法,其特征在于,所述子作業(yè)隊(duì)列為一個(gè)或以上,其隊(duì)列長度滿足:虛擬機(jī)完成子作業(yè)隊(duì)列所需時(shí)間不大于作業(yè)與該作業(yè)相鄰下一個(gè)作業(yè)到達(dá)子作業(yè)隊(duì)列的時(shí)間之差。
【文檔編號(hào)】G06F9/455GK104461722SQ201410774633
【公開日】2015年3月25日 申請(qǐng)日期:2014年12月16日 優(yōu)先權(quán)日:2014年12月16日
【發(fā)明者】彭志平, 崔德龍 申請(qǐng)人:廣東石油化工學(xué)院