本申請涉及數(shù)據(jù)處理技術(shù)領(lǐng)域,特別涉及一種計算任務(wù)的調(diào)度控制方法及電子設(shè)備。
背景技術(shù):
隨著技術(shù)的發(fā)展,越來越多的企業(yè)內(nèi)部設(shè)置有大數(shù)據(jù)的計算平臺或集群,用以執(zhí)行大量的計算任務(wù)。整體計算任務(wù)的效率依賴于計算資源(如cpu、內(nèi)存及存儲空間等)分配的合理性。
計算平臺負責對整體計算資源的調(diào)度,在計算任務(wù)申請計算資源時,計算平臺會根據(jù)當前剩余的計算資源進行分配,如果剩余的計算資源不滿足計算任務(wù)的需求,則需要等待其他計算任務(wù)完成并釋放計算資源之后再分配。
而在實際實現(xiàn)中,計算任務(wù)之間可能存在執(zhí)行順序的依賴關(guān)系及調(diào)度時間不同等原因,會存在有些計算任務(wù)在執(zhí)行,有些計算任務(wù)在排隊的情況,由此,即使剩余的計算資源較多,也會因為不滿足排隊的下一個計算任務(wù)的資源需求而無法充分利用,使得計算資源的利用率不高,導(dǎo)致整體計算任務(wù)的計算效率較低。
技術(shù)實現(xiàn)要素:
有鑒于此,本申請的目的是提供一種計算任務(wù)的調(diào)度控制方法及電子設(shè)備,用以解決現(xiàn)有技術(shù)中計算任務(wù)調(diào)度過程中存在計算資源的利用率不高,導(dǎo)致整體計算任務(wù)的計算效率較低的技術(shù)問題。
本申請?zhí)峁┝艘环N計算任務(wù)的調(diào)度控制方法,包括:
獲得任務(wù)集合及計算資源集合,所述任務(wù)集合中包括多個計算任務(wù);
獲得所述任務(wù)集合中各計算任務(wù)之間的任務(wù)關(guān)聯(lián)關(guān)系及各計算任務(wù)所需要的計算資源;
基于所述計算資源集合、所述任務(wù)關(guān)聯(lián)關(guān)系、各計算任務(wù)所需要的計算資源,調(diào)整各計算任務(wù)的調(diào)度順序,以縮短完成所述任務(wù)集合中所有計算任務(wù)所用的時間。
上述方法,優(yōu)選的,在調(diào)整各計算任務(wù)的調(diào)度順序之后,所述方法還包括:
基于所述調(diào)度順序,調(diào)度所述任務(wù)集合中的各個計算任務(wù)。
上述方法,優(yōu)選的,基于所述計算資源集合、所述任務(wù)關(guān)聯(lián)關(guān)系、各計算任務(wù)所需要的計算資源,調(diào)整各計算任務(wù)的調(diào)度順序,包括:
基于所述任務(wù)關(guān)聯(lián)關(guān)系,確定各計算任務(wù)中的當前計算任務(wù);
確定所述計算資源集合中的剩余計算資源;
基于所述任務(wù)關(guān)聯(lián)關(guān)系,在所述任務(wù)集合中的剩余計算任務(wù)中,查找滿足所述任務(wù)關(guān)聯(lián)關(guān)系的需求,且所述剩余計算資源能夠滿足的至少一個計算任務(wù)作為所述當前計算任務(wù)的后續(xù)調(diào)度計算任務(wù),以調(diào)整各計算任務(wù)的調(diào)度順序。
上述方法,優(yōu)選的,還包括:
獲取各計算任務(wù)的執(zhí)行持續(xù)時間;
所述在所述任務(wù)集合中的剩余計算任務(wù)中,查找滿足所述任務(wù)關(guān)聯(lián)關(guān)系的需求,且所述剩余計算資源能夠滿足的至少一個計算任務(wù)作為所述當前計算任務(wù)的后續(xù)調(diào)度計算任務(wù),包括:
在所述任務(wù)集合中的剩余計算任務(wù)中,查找滿足所述任務(wù)關(guān)聯(lián)關(guān)系的需求,且所述剩余計算資源能夠滿足且執(zhí)行持續(xù)時間不大于剩余資源空閑時間的至少一個計算任務(wù)作為所述當前計算任務(wù)的后續(xù)調(diào)度計算任務(wù)。
上述方法,優(yōu)選的,所述滿足所述任務(wù)關(guān)聯(lián)關(guān)系的需求,包括:
計算任務(wù)所依賴的前置計算任務(wù)已全部完成。
上述方法,優(yōu)選的,所述方法還包括:
更新各計算任務(wù)的調(diào)度時間。
本申請還提供了另一種計算任務(wù)的調(diào)度控制方法,包括:
獲得任務(wù)集合及計算資源集合,所述任務(wù)集合中包括多個計算任務(wù);
獲得所述任務(wù)集合中各計算任務(wù)之間的任務(wù)關(guān)聯(lián)關(guān)系、各計算任務(wù)所需要的計算資源;
基于所述計算資源集合、所述任務(wù)關(guān)聯(lián)關(guān)系、各計算任務(wù)所需要的計算資源,調(diào)度各所述計算任務(wù),以縮短完成所述任務(wù)集合中所有計算任務(wù)所用的時間。
上述方法,優(yōu)選的,所述基于所述計算資源集合、所述任務(wù)關(guān)聯(lián)關(guān)系、各計算任務(wù)所需要的計算資源及調(diào)度時間,調(diào)度各所述計算任務(wù),包括:
基于所述任務(wù)關(guān)聯(lián)關(guān)系,調(diào)度所述任務(wù)集合中的一個計算任務(wù);
確定所述計算資源集合中的剩余計算資源;
基于所述任務(wù)關(guān)聯(lián)關(guān)系,在所述任務(wù)集合中的剩余計算任務(wù)中,查找所述剩余計算資源能夠滿足且執(zhí)行持續(xù)時間不大于剩余資源空閑時間的至少一個計算任務(wù);
調(diào)度查找到的計算任務(wù),返回重新確定所述計算資源集合中的剩余計算資源,直到所述任務(wù)集合中每個所述計算任務(wù)均調(diào)度完成。
上述方法,優(yōu)選的,所述任務(wù)關(guān)聯(lián)關(guān)系包括:調(diào)度次序相鄰的關(guān)聯(lián)關(guān)系;
所述基于所述任務(wù)關(guān)聯(lián)關(guān)系,在所述任務(wù)集合中的剩余計算任務(wù)中,查找所述剩余計算資源能夠滿足的計算任務(wù),包括:
在所述任務(wù)集合中的剩余計算任務(wù)中查找與當前正在調(diào)度的計算任務(wù)調(diào)度次序相鄰的至少一個計算任務(wù);
如果沒有查找到與當前正在調(diào)度的計算任務(wù)調(diào)度次序相鄰的計算任務(wù),查找所述剩余計算資源能夠滿足且執(zhí)行持續(xù)時間不大于剩余資源空閑時間的至少一個計算任務(wù)。
本申請還提供了一種電子設(shè)備,包括:
第一采集模塊,用于獲得任務(wù)集合及計算資源集合,所述任務(wù)集合中包括多個計算任務(wù),并獲得所述任務(wù)集合中各計算任務(wù)之間的任務(wù)關(guān)聯(lián)關(guān)系、各計算任務(wù)所需要的計算資源;
第一處理器,用于基于所述計算資源集合、所述任務(wù)關(guān)聯(lián)關(guān)系、各計算任務(wù)所需要的計算資源及調(diào)度時間,調(diào)整各計算任務(wù)的調(diào)度順序,以縮短完成所述任務(wù)集合中所有計算任務(wù)所用的時間。
本申請還提供了另一種電子設(shè)備,包括:
第二采集模塊,用于獲得任務(wù)集合及計算資源集合,所述任務(wù)集合中包括多個計算任務(wù),并獲得所述任務(wù)集合中各計算任務(wù)之間的任務(wù)關(guān)聯(lián)關(guān)系、各計算任務(wù)所需要的計算資源;
第二處理器,用于基于所述計算資源集合、所述任務(wù)關(guān)聯(lián)關(guān)系、各計算任務(wù)所需要的計算資源及調(diào)度時間,調(diào)度各所述計算任務(wù),以縮短完成所述任務(wù)集合中所有計算任務(wù)所用的時間。
由上述方案可知,本申請?zhí)峁┑囊环N計算任務(wù)的調(diào)度控制方法及電子設(shè)備,在獲得包含多個計算任務(wù)的任務(wù)集合和計算資源集合之后,通過獲得各個計算任務(wù)之間的任務(wù)關(guān)聯(lián)關(guān)系、各計算任務(wù)所需要的計算資源及各計算任務(wù)的調(diào)度時間,進而基于這些信息及計算資源集合來調(diào)整各計算任務(wù)的調(diào)度順序或者在計算任務(wù)執(zhí)行過程中調(diào)度,以縮短完成任務(wù)集合中所有計算任務(wù)所用的時間。本申請通過對進行任務(wù)進行調(diào)度來,來提高計算資源的利用率,縮短整體運行時間,以此來提高整體計算任務(wù)的計算效率。
附圖說明
為了更清楚地說明本申請實施例中的技術(shù)方案,下面將對實施例描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本申請的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為本申請實施例一提供的一種計算任務(wù)的調(diào)度控制方法的實現(xiàn)流程圖;
圖2為本申請實施例二提供的一種計算任務(wù)的調(diào)度控制方法的實現(xiàn)流程圖;
圖3為本申請實施例三提供的一種計算任務(wù)的調(diào)度控制方法的部分流程圖;
圖4a為本申請實施例三的另一部分流程圖;
圖4b為本申請實施例的應(yīng)用示例圖;
圖5為本申請實施例四提供的一種計算任務(wù)的調(diào)度控制方法的實現(xiàn)流程圖;
圖6為本申請實施例四的部分流程圖;
圖7為本申請實施例五提供的一種電子設(shè)備的結(jié)構(gòu)示意圖;
圖8為本申請實施例六提供的一種電子設(shè)備的結(jié)構(gòu)示意圖;
圖9為本申請實施例七提供的一種服務(wù)器集群的結(jié)構(gòu)示意圖。
具體實施方式
下面將結(jié)合本申請實施例中的附圖,對本申請實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本申請一部分實施例,而不是全部的實施例?;诒旧暾堉械膶嵤├?,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本申請保護的范圍。
參考圖1,為本申請實施例一提供的一種計算任務(wù)的調(diào)度控制方法的實現(xiàn)流程圖,適用于對大數(shù)據(jù)計算任務(wù)的調(diào)度中,目的在于提高計算效率。
本實施例中的方法可以包括以下步驟:
步驟101:獲得任務(wù)集合及計算資源集合。
其中,任務(wù)集合中包括多個計算任務(wù),如計算任務(wù)a、計算任務(wù)b、計算任務(wù)c及計算任務(wù)d等。
步驟102:獲得任務(wù)集合中各計算任務(wù)之間的任務(wù)關(guān)聯(lián)關(guān)系及各計算任務(wù)所需要的計算資源。
其中,每個計算任務(wù)具有各自所需要的計算資源及執(zhí)行所需要的調(diào)度時間等。
計算資源可以為中央處理器(centralprocessingunit,cpu)資源及內(nèi)存資源等。
計算任務(wù)在被申請時可能還具有其調(diào)度時間,調(diào)度時間是指計算任務(wù)被調(diào)度的時刻點,如1點的時刻或者1點5分的時刻等。
而各個計算任務(wù)之間具有任務(wù)關(guān)聯(lián)關(guān)系,如b任務(wù)需要在c任務(wù)完成之后執(zhí)行,c任務(wù)需要與d任務(wù)并行執(zhí)行,等等。
計算資源集合中包含能夠為任務(wù)集合中的計算任務(wù)所提供的cpu資源及內(nèi)存資源等。
步驟103:基于計算資源集合、任務(wù)關(guān)聯(lián)關(guān)系、各計算任務(wù)所需要的計算資源,調(diào)整各計算任務(wù)的調(diào)度順序,以縮短完成任務(wù)集合中所有計算任務(wù)所用的時間。
其中,本實施例中預(yù)先基于計算資源集合、各計算任務(wù)的任務(wù)關(guān)聯(lián)關(guān)系、所需要的計算資源,來綜合調(diào)整各計算任務(wù)之間的調(diào)度順序,進而在基于這個調(diào)度順序調(diào)度任務(wù)集合中的計算任務(wù)時,能夠讓計算資源集合中的計算資源盡量在任意時刻的使用率都達到最高,且被使用時間盡量連續(xù)且緊湊,由此提高計算資源集合中的計算資源的使用率的最大化,這樣才能提高計算資源的利用率,進而提高計算任務(wù)的執(zhí)行效率。
由上述方案可知,本申請實施例一提供的一種計算任務(wù)的調(diào)度控制方法,在獲得包含多個計算任務(wù)的任務(wù)集合和計算資源集合之后,通過獲得各個計算任務(wù)之間的任務(wù)關(guān)聯(lián)關(guān)系、各計算任務(wù)所需要的計算資源,進而基于這些信息及計算資源集合來調(diào)整各計算任務(wù)的調(diào)度順序,進而按照這個調(diào)度順序調(diào)度各個計算任務(wù),以縮短完成任務(wù)集合中所有計算任務(wù)所用的時間。本實施例通過對進行任務(wù)進行調(diào)度來,來提高計算資源的利用率,縮短整體運行時間,以此來提高整體計算任務(wù)的計算效率。
參考圖2,為本申請實施例二提供的一種計算任務(wù)的調(diào)度控制方法的實現(xiàn)流程圖,在步驟103之后,該方法還可以包括以下步驟:
步驟104:基于調(diào)度順序,調(diào)度所述任務(wù)集合中的各個計算任務(wù)。
也就是說,本實施例在任務(wù)集合中各計算任務(wù)開始被調(diào)用之前,調(diào)整各計算任務(wù)的調(diào)度順序,使得在各計算任務(wù)被調(diào)度執(zhí)行之后,任務(wù)集合中所有計算任務(wù)都被調(diào)度執(zhí)行完成所用的時間被縮短。
需要說明的是,調(diào)度任務(wù)集合中各個計算任務(wù)的開始時刻可以基于任務(wù)集合中計算任務(wù)所申請的調(diào)度時刻中的最早時刻來確定。
參考圖3,為本申請實施例三提供的一種計算任務(wù)的調(diào)度控制方法中步驟103的實現(xiàn)流程圖,圖1中的步驟103可以通過以下步驟實現(xiàn):
步驟301:基于任務(wù)關(guān)聯(lián)關(guān)系,確定各計算任務(wù)中的一個計算任務(wù)作為當前計算任務(wù)。
以任務(wù)集合中包括計算任務(wù)a、b、c、d為例:
在服務(wù)器集群中可以提供100g的內(nèi)存作為計算資源,有如下任務(wù)和資源申請情況:
a申請的調(diào)度時間為1:00,需要50g內(nèi)存;
b申請的調(diào)度時間為1:05,需要50g內(nèi)存;
c申請的調(diào)度時間為1:10,需要25g內(nèi)存;
d申請的調(diào)度時間為1:00,需要25g內(nèi)存;
本實施例中基于a、b、c、d之間的任務(wù)關(guān)聯(lián)關(guān)系:b任務(wù)需要在c任務(wù)完成之后執(zhí)行,c任務(wù)需要與d任務(wù)并行執(zhí)行,a與b、c和d沒有關(guān)聯(lián)關(guān)系,確定a作為當前計算任務(wù),或者確定a、c、d作為當前計算任務(wù),而為了最大化任意時刻的計算資源的利用率,本實施例中可以確定a、c、d作為當前計算任務(wù)。
而本實施例中可以基于任務(wù)集合中各個計算任務(wù)所申請的調(diào)度時刻中的最早時刻來確定整個任務(wù)集合的開始調(diào)度時刻,如確定1:00為開始調(diào)度時刻。
步驟302:確定計算資源集合中的剩余計算資源。
例如,確定a、c、d作為當前計算任務(wù)之后,基于a、c和d各自占用的50g、25g和25g的內(nèi)存計算資源可知,在a、c和d均未執(zhí)行完成之前,剩余計算資源為0,若其中一個計算任務(wù)執(zhí)行完成,那么該計算任務(wù)所占用的計算資源被釋放:
例如,若c執(zhí)行完成而a和d沒有執(zhí)行完成,那么c釋放25g,此時剩余計算資源為25g;若d執(zhí)行完成而a和c沒有執(zhí)行完成,那么d釋放25g,此時剩余計算資源為25g;若a執(zhí)行完成且c和d沒有執(zhí)行完成,那么a釋放50g,此時剩余計算資源為50g;
若c和d執(zhí)行完成而a沒有執(zhí)行完成,那么c和d共釋放50g,此時剩余計算資源為50g;若d和a執(zhí)行完成而c沒有執(zhí)行完成,那么d和a共釋放75g,此時剩余計算資源為75g;若a和c執(zhí)行完成且d沒有執(zhí)行完成,那么a和c釋放75g,此時剩余計算資源為75g;
若a、c和d均執(zhí)行完成,那么共釋放100g內(nèi)存,此時剩余計算資源為100g。
步驟303:基于任務(wù)關(guān)聯(lián)關(guān)系,在任務(wù)集合中的剩余計算任務(wù)中,查找滿足任務(wù)關(guān)聯(lián)關(guān)系的需求且剩余計算資源滿足的至少一個計算任務(wù)作為當前計算任務(wù)的后續(xù)調(diào)度計算任務(wù),以調(diào)整各計算任務(wù)的調(diào)度順序。
具體的,本實施例中還可以包括以下方法步驟,如圖4a中所示:
步驟300:獲取各計算任務(wù)的執(zhí)行持續(xù)時間。
其中,步驟300的執(zhí)行位置可以在步驟303之前的任意位置均可以。
例如,a申請的執(zhí)行持續(xù)時間為20分鐘;
b申請的執(zhí)行持續(xù)時間為10分鐘;
c申請的執(zhí)行持續(xù)時間為5分鐘;
d申請的執(zhí)行持續(xù)時間為10分鐘;
相應(yīng)的,步驟303在在任務(wù)集合中的剩余計算任務(wù)中,查找滿足任務(wù)關(guān)聯(lián)關(guān)系的需求且剩余計算資源滿足的至少一個計算任務(wù)作為當前計算任務(wù)的后續(xù)調(diào)度計算任務(wù),可以通過以下方式實現(xiàn):
在任務(wù)集合中的剩余計算任務(wù)中,查找滿足任務(wù)關(guān)聯(lián)關(guān)系的需求,且剩余計算資源能夠滿足,且執(zhí)行持續(xù)時間不大于剩余資源空閑時間的至少一個計算任務(wù)作為當前計算任務(wù)的后續(xù)調(diào)度計算任務(wù)。
其中,滿足任務(wù)關(guān)聯(lián)關(guān)系的需求,是指:該后續(xù)調(diào)度計算任務(wù)所依賴的前置計算任務(wù)已全部完成。例如,b需要在c完成之后才能執(zhí)行,那么c為b所依賴的前置計算任務(wù),只有在c完成之后,b關(guān)于任務(wù)關(guān)聯(lián)關(guān)系的需求才能被滿足。
剩余計算資源能夠滿足,是指:剩余計算資源能夠支持該后續(xù)調(diào)度計算任務(wù)的正常運行。例如,b需要內(nèi)存50g,那么只有剩余計算資源大于等于50g時,b才有可能被執(zhí)行。
執(zhí)行持續(xù)時間不大于剩余資源空閑時間,是指:剩余計算資源能夠在該執(zhí)行持續(xù)時間內(nèi)為該后續(xù)調(diào)度計算任務(wù)提供計算資源。
例如,c的執(zhí)行持續(xù)時間為5分鐘,d的執(zhí)行持續(xù)時間為10分鐘,a的執(zhí)行持續(xù)時間為20分鐘,那么在5分鐘后即c執(zhí)行完成之后,剩余計算資源為25g,此時雖然b的前置計算任務(wù)c已經(jīng)完成,但剩余計算資源不夠b所需要的計算資源,那么繼續(xù)等待;在10分鐘后即d完成之后,剩余計算資源為50g,此時,b的前置計算任務(wù)c已經(jīng)完成且剩余計算資源足夠b所需要的計算資源,且b的執(zhí)行持續(xù)時間10分鐘小于剩余資源空閑時間(沒有其他任務(wù)需要使用剩余資源,那么剩余資源空閑時間為無限),此時,安排b在d完成之后開始調(diào)度,因此,任務(wù)集合中的計算任務(wù)調(diào)度順序為:a、c及d最先開始且同時調(diào)度,在d執(zhí)行完成之后b開始調(diào)度,如圖4b中所示。
由此,基于以上的調(diào)度順序調(diào)整方案,對任務(wù)集合中的計算任務(wù)的調(diào)度順序進行調(diào)整,以縮短完成任務(wù)集合中所有計算任務(wù)所用的時間。
例如,假如對于以下任務(wù)集合:
a申請的調(diào)度時間為1:00,需要50g內(nèi)存,執(zhí)行持續(xù)時間為20分鐘;
b申請的調(diào)度時間為1:05,需要50g內(nèi)存,執(zhí)行持續(xù)時間為10分鐘;
c申請的調(diào)度時間為1:10,需要25g內(nèi)存,執(zhí)行持續(xù)時間為5分鐘;
d申請的調(diào)度時間為1:00,需要25g內(nèi)存,執(zhí)行持續(xù)時間為10分鐘;
按照原始的申請調(diào)度時間進行任務(wù)調(diào)度,a和d最開始在1:00執(zhí)行,b在1:05執(zhí)行時,因為內(nèi)存不足(a、d還在執(zhí)行,共占了75g內(nèi)存,還剩25g),必須等到d執(zhí)行完成(1:10),b才開始執(zhí)行,此時c也開始排隊(a、b還在執(zhí)行,共占了100g內(nèi)存)。依次類推,整個任務(wù)集合中的計算任務(wù)執(zhí)行完成需要25分鐘,需要到1:25才能完成。
而采用以上本實施例中的調(diào)度方案,a、c和d在1:00開始執(zhí)行,到1:10,c、d都已經(jīng)完成,可以開始執(zhí)行b,整個任務(wù)集合中的計算任務(wù)執(zhí)行完成需要20分鐘,到1:20完成,相比較原來,提前了5分鐘。
參考圖5,為本申請實施例四提供的一種計算任務(wù)的調(diào)度控制方法的實現(xiàn)流程圖,該方法可以包括:
步驟501:獲得任務(wù)集合及計算資源集合。
其中,任務(wù)集合中包括多個計算任務(wù),如計算任務(wù)a、計算任務(wù)b、計算任務(wù)c及計算任務(wù)d等。
步驟502:獲得任務(wù)集合中各計算任務(wù)之間的任務(wù)關(guān)聯(lián)關(guān)系、各計算任務(wù)所需要的計算資源。
其中,每個計算任務(wù)具有各自所需要的計算資源及執(zhí)行所需要的調(diào)度時間等。
計算資源可以為中央處理器(centralprocessingunit,cpu)資源及內(nèi)存資源等。
計算任務(wù)在被申請時可能還具有其調(diào)度時間,調(diào)度時間是指計算任務(wù)被調(diào)度的時刻點,如1點的時刻或者1點5分的時刻等。
而各個計算任務(wù)之間具有任務(wù)關(guān)聯(lián)關(guān)系,如b任務(wù)需要在c任務(wù)完成之后執(zhí)行,c任務(wù)需要與d任務(wù)并行執(zhí)行,等等。
計算資源集合中包含能夠為任務(wù)集合中的計算任務(wù)所提供的cpu資源及內(nèi)存資源等。
步驟503:基于計算資源集合、任務(wù)關(guān)聯(lián)關(guān)系、各計算任務(wù)所需要的計算資源,調(diào)度各計算任務(wù),以縮短完成任務(wù)集合中所有計算任務(wù)所用的時間。
其中,本實施例在調(diào)度各計算任務(wù)的過程中,基于計算資源集合、各計算任務(wù)的任務(wù)關(guān)聯(lián)關(guān)系、所需要的計算資源,來綜合調(diào)度計算任務(wù),讓計算資源集合中的計算資源盡量在任意時刻的使用率都達到最高,且被使用時間盡量連續(xù)且緊湊,由此提高計算資源集合中的計算資源的使用率的最大化,這樣才能提高計算資源的利用率,進而提高計算任務(wù)的執(zhí)行效率。
由上述方案可知,本申請實施例四提供的一種計算任務(wù)的調(diào)度控制方法,在獲得包含多個計算任務(wù)的任務(wù)集合和計算資源集合之后,通過獲得各個計算任務(wù)之間的任務(wù)關(guān)聯(lián)關(guān)系、各計算任務(wù)所需要的計算資源,進而基于這些信息及計算資源集合在計算任務(wù)執(zhí)行過程中調(diào)度各計算任務(wù),以縮短完成任務(wù)集合中所有計算任務(wù)所用的時間。本實施例通過對進行任務(wù)進行調(diào)度來,來提高計算資源的利用率,縮短整體運行時間,以此來提高整體計算任務(wù)的計算效率。
也就是說,本實施例中,是在任務(wù)集合的計算任務(wù)被調(diào)度的過程中,調(diào)整各個計算任務(wù)的調(diào)度順序,實現(xiàn)動態(tài)調(diào)度計算任務(wù),達到提高計算效率的目的。
在一種實現(xiàn)中,如圖6中所示,步驟503可以通過以下步驟實現(xiàn):
步驟601:基于任務(wù)關(guān)聯(lián)關(guān)系,調(diào)度所述任務(wù)集合中的一個計算任務(wù)。
以任務(wù)集合中包括計算任務(wù)a、b、c、d為例:
在服務(wù)器集群中可以提供100g的內(nèi)存作為計算資源,有如下任務(wù)和資源申請情況:
a申請的調(diào)度時間為1:00,需要50g內(nèi)存;
b申請的調(diào)度時間為1:05,需要50g內(nèi)存;
c申請的調(diào)度時間為1:10,需要25g內(nèi)存;
d申請的調(diào)度時間為1:00,需要25g內(nèi)存;
本實施例中基于a、b、c、d之間的任務(wù)關(guān)聯(lián)關(guān)系:b任務(wù)需要在c任務(wù)完成之后執(zhí)行,c任務(wù)需要與d任務(wù)并行執(zhí)行,a與b、c和d沒有關(guān)聯(lián)關(guān)系,確定a作為當前計算任務(wù),或者確定a、c、d作為當前計算任務(wù),而為了最大化任意時刻的計算資源的利用率,本實施例中可以確定a、c、d作為當前計算任務(wù)。
而本實施例中可以基于任務(wù)集合中各個計算任務(wù)所申請的調(diào)度時刻中的最早時刻來確定整個任務(wù)集合的開始調(diào)度時刻,如確定1:00為開始調(diào)度時刻。
步驟602:確定計算資源集合中的剩余計算資源。
例如,確定a、c、d作為當前計算任務(wù)之后,基于a、c和d各自占用的50g、25g和25g的內(nèi)存計算資源可知,在a、c和d均未執(zhí)行完成之前,剩余計算資源為0,若其中一個計算任務(wù)執(zhí)行完成,那么該計算任務(wù)所占用的計算資源被釋放。
步驟603:基于任務(wù)關(guān)聯(lián)關(guān)系,在任務(wù)集合中的剩余計算任務(wù)中,查找剩余計算資源能夠滿足且執(zhí)行持續(xù)時間不大于剩余資源空閑時間的至少一個計算任務(wù)。
其中,任務(wù)關(guān)聯(lián)關(guān)系是指:調(diào)度次序相鄰的關(guān)聯(lián)關(guān)系,例如:后續(xù)計算任務(wù)所依賴的前置計算任務(wù)需要被全部完成,后續(xù)計算任務(wù)才能被調(diào)度執(zhí)行。
相應(yīng)的,步驟603可以通過以下方式實現(xiàn):
在任務(wù)集合中的剩余計算任務(wù)中查找與當前正在調(diào)度的計算任務(wù)調(diào)度次序相鄰的至少一個計算任務(wù);
如果沒有查找到與當前正在調(diào)度的計算任務(wù)調(diào)度次序相鄰的計算任務(wù),查找剩余計算資源能夠滿足且執(zhí)行持續(xù)時間不大于剩余資源空閑時間的至少一個計算任務(wù)。
步驟604:調(diào)度查找到的計算任務(wù),返回步驟602重新確定計算資源集合中的剩余計算資源,直到任務(wù)集合中每個計算任務(wù)均調(diào)度完成。
例如:在a、c和d開始調(diào)度指揮,c的執(zhí)行持續(xù)時間為5分鐘,d的執(zhí)行持續(xù)時間為10分鐘,a的執(zhí)行持續(xù)時間為20分鐘,那么在5分鐘后即c執(zhí)行完成之后,剩余計算資源為25g,此時雖然b的前置計算任務(wù)c已經(jīng)完成,但剩余計算資源不夠b所需要的計算資源,那么繼續(xù)等待;在10分鐘后即d完成之后,剩余計算資源為50g,此時,b的前置計算任務(wù)c已經(jīng)完成且剩余計算資源足夠b所需要的計算資源,且b的執(zhí)行持續(xù)時間10分鐘小于剩余資源空閑時間(沒有其他任務(wù)需要使用剩余資源,那么剩余資源空閑時間為無限),此時,安排b在d完成之后開始調(diào)度,因此,任務(wù)集合中的計算任務(wù)調(diào)度順序為:a、c及d最先開始且同時調(diào)度,在d執(zhí)行完成之后b開始調(diào)度,以此類推,直到任務(wù)集合中的所有計算任務(wù)均調(diào)度完成。
參考圖7,為本申請實施例五提供的一種電子設(shè)備的結(jié)構(gòu)示意圖,該電子設(shè)備可以為服務(wù)器集群或計算機集群中的中央管理設(shè)備,用以對集群中的資源進行調(diào)度。
本實施例中,該電子設(shè)備可以包括以下結(jié)構(gòu):
第一采集模塊701,用于獲得任務(wù)集合及計算資源集合,所述任務(wù)集合中包括多個計算任務(wù),并獲得所述任務(wù)集合中各計算任務(wù)之間的任務(wù)關(guān)聯(lián)關(guān)系、各計算任務(wù)所需要的計算資源。
其中,第一采集模塊701可以為輸入接口等。
第一處理器702,用于基于所述計算資源集合、所述任務(wù)關(guān)聯(lián)關(guān)系、各計算任務(wù)所需要的計算資源及調(diào)度時間,調(diào)整各計算任務(wù)的調(diào)度順序,以縮短完成所述任務(wù)集合中所有計算任務(wù)所用的時間。
由上述方案可知,本申請實施例五提供的一種電子設(shè)備,在利用采集模塊獲得包含多個計算任務(wù)的任務(wù)集合和計算資源集合之后,通過獲得各個計算任務(wù)之間的任務(wù)關(guān)聯(lián)關(guān)系、各計算任務(wù)所需要的計算資源,進而由處理器基于這些信息及計算資源集合來調(diào)整各計算任務(wù)的調(diào)度順序,進而按照這個調(diào)度順序調(diào)度各個計算任務(wù),以縮短完成任務(wù)集合中所有計算任務(wù)所用的時間。本實施例通過對進行任務(wù)進行調(diào)度來,來提高計算資源的利用率,縮短整體運行時間,以此來提高整體計算任務(wù)的計算效率。
其中,本實施例中各組成結(jié)構(gòu)的具體實現(xiàn)方式可以參考前文中圖1~圖6中相應(yīng)內(nèi)容,此處不再贅述。
參考圖8,為本申請實施例六提供的一種電子設(shè)備的結(jié)構(gòu)示意圖,該電子設(shè)備可以為服務(wù)器集群或計算機集群中的中央管理設(shè)備,用以對集群中的資源進行調(diào)度。
本實施例中,該電子設(shè)備可以包括以下結(jié)構(gòu):
第二采集模塊801,用于獲得任務(wù)集合及計算資源集合,所述任務(wù)集合中包括多個計算任務(wù),并獲得所述任務(wù)集合中各計算任務(wù)之間的任務(wù)關(guān)聯(lián)關(guān)系、各計算任務(wù)所需要的計算資源。
其中,第二采集模塊801可以為輸入接口等。
第二處理器802,用于基于所述計算資源集合、所述任務(wù)關(guān)聯(lián)關(guān)系、各計算任務(wù)所需要的計算資源及調(diào)度時間,調(diào)度各所述計算任務(wù),以縮短完成所述任務(wù)集合中所有計算任務(wù)所用的時間。
由上述方案可知,本申請實施例六提供的一種電子設(shè)備,在采集模塊獲得包含多個計算任務(wù)的任務(wù)集合和計算資源集合之后,通過獲得各個計算任務(wù)之間的任務(wù)關(guān)聯(lián)關(guān)系、各計算任務(wù)所需要的計算資源,進而由處理器基于這些信息及計算資源集合在計算任務(wù)執(zhí)行過程中調(diào)度各計算任務(wù),以縮短完成任務(wù)集合中所有計算任務(wù)所用的時間。本實施例通過對進行任務(wù)進行調(diào)度來,來提高計算資源的利用率,縮短整體運行時間,以此來提高整體計算任務(wù)的計算效率。
其中,本實施例中各組成結(jié)構(gòu)的具體實現(xiàn)方式可以參考前文中圖1~圖6中相應(yīng)內(nèi)容,此處不再贅述。
參考圖9,為本申請實施例七提供的一種服務(wù)器集群的結(jié)構(gòu)示意圖,該服務(wù)器集群中至少包括:能夠提供計算資源的計算設(shè)備901以及電子設(shè)備902。
其中,計算設(shè)備901可以為提供內(nèi)存或cpu等計算資源的計算機等終端設(shè)備,計算設(shè)備901可以為多個。
而電子設(shè)備用于在接收到用戶申請的計算任務(wù)之后,通過調(diào)度計算設(shè)備901來為用戶提供計算服務(wù),如圖7或圖8中所示的電子設(shè)備。
其中,電子設(shè)備902可以為能夠進行數(shù)據(jù)處理的計算機等終端設(shè)備。
在一種實現(xiàn)方式中,電子設(shè)備902具體用于:獲得任務(wù)集合及計算資源集合,所述任務(wù)集合中包括多個計算任務(wù),獲得所述任務(wù)集合中各計算任務(wù)之間的任務(wù)關(guān)聯(lián)關(guān)系及各計算任務(wù)所需要的計算資源,基于所述計算資源集合、所述任務(wù)關(guān)聯(lián)關(guān)系、各計算任務(wù)所需要的計算資源,調(diào)整各計算任務(wù)的調(diào)度順序,以縮短完成所述任務(wù)集合中所有計算任務(wù)所用的時間。
在一種實現(xiàn)方式中,電子設(shè)備902具體用于:獲得任務(wù)集合及計算資源集合,所述任務(wù)集合中包括多個計算任務(wù),并獲得所述任務(wù)集合中各計算任務(wù)之間的任務(wù)關(guān)聯(lián)關(guān)系、各計算任務(wù)所需要的計算資源,基于所述計算資源集合、所述任務(wù)關(guān)聯(lián)關(guān)系、各計算任務(wù)所需要的計算資源及調(diào)度時間,調(diào)度各所述計算任務(wù),以縮短完成所述任務(wù)集合中所有計算任務(wù)所用的時間。
電子設(shè)備902的具體實現(xiàn)方式可以參考前文中圖1~圖8中相應(yīng)內(nèi)容,此處不再贅述。
由上述方案可知,本申請實施例七提供的一種服務(wù)器集群,利用為用戶提供計算服務(wù)的電子設(shè)備獲得包含多個計算任務(wù)的任務(wù)集合和計算資源集合之后,通過獲得各個計算任務(wù)之間的任務(wù)關(guān)聯(lián)關(guān)系、各計算任務(wù)所需要的計算資源及各計算任務(wù)的調(diào)度時間,進而基于這些信息及計算資源集合來調(diào)整各計算任務(wù)的調(diào)度順序或者在計算任務(wù)執(zhí)行過程中調(diào)度,以縮短完成任務(wù)集合中所有計算任務(wù)所用的時間。本申請通過對進行任務(wù)進行調(diào)度來,來提高計算資源的利用率,縮短整體運行時間,以此來提高整體計算任務(wù)的計算效率。
需要說明的是,本說明書中的各個實施例均采用遞進的方式描述,每個實施例重點說明的都是與其他實施例的不同之處,各個實施例之間相同相似的部分互相參見即可。
最后,還需要說明的是,在本文中,諸如第一和第二等之類的關(guān)系術(shù)語僅僅用來將一個實體或者操作與另一個實體或操作區(qū)分開來,而不一定要求或者暗示這些實體或操作之間存在任何這種實際的關(guān)系或者順序。而且,術(shù)語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設(shè)備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設(shè)備所固有的要素。在沒有更多限制的情況下,由語句“包括一個……”限定的要素,并不排除在包括所述要素的過程、方法、物品或者設(shè)備中還存在另外的相同要素。
以上對本發(fā)明所提供的一種計算任務(wù)的調(diào)度控制方法及電子設(shè)備進行了詳細介紹,對所公開的實施例的上述說明,使本領(lǐng)域?qū)I(yè)技術(shù)人員能夠?qū)崿F(xiàn)或使用本發(fā)明。對這些實施例的多種修改對本領(lǐng)域的專業(yè)技術(shù)人員來說將是顯而易見的,本文中所定義的一般原理可以在不脫離本發(fā)明的精神或范圍的情況下,在其它實施例中實現(xiàn)。因此,本發(fā)明將不會被限制于本文所示的這些實施例,而是要符合與本文所公開的原理和新穎特點相一致的最寬的范圍。