亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

計算集群中多用戶的任務(wù)調(diào)度方法及設(shè)備與流程

文檔序號:12034434閱讀:580來源:國知局
計算集群中多用戶的任務(wù)調(diào)度方法及設(shè)備與流程

本申請涉及計算機(jī)領(lǐng)域,尤其涉及一種計算集群中多用戶的任務(wù)調(diào)度方法及設(shè)備。



背景技術(shù):

大數(shù)據(jù)技術(shù)依托于海量的數(shù)據(jù),而這樣新型的數(shù)據(jù)處理任務(wù)是單臺計算機(jī)不能勝任的,需要采用分布式的計算集群(計算引擎)。分布式計算引擎是將大型的處理任務(wù),在若干中間處理階段,分割成類型相同的小任務(wù),然后分發(fā)到不同的分布式節(jié)點(diǎn)進(jìn)行計算。如何將接收到的任務(wù)分發(fā)出去,便是引擎調(diào)度模塊(調(diào)度器)負(fù)責(zé)的。

分布式計算平臺上,往往很多用戶如多租戶使用同一個計算集群,并且使用集群運(yùn)行不同類型的運(yùn)算任務(wù)(混合負(fù)載)。在這樣的場景中,如何合理、高效地分配資源,是計算任務(wù)順利完成的關(guān)鍵,而其核心技術(shù)在于計算集群(計算引擎)的調(diào)度功能。而現(xiàn)有的調(diào)度器調(diào)度方案無法可靠保證多用戶和混合負(fù)載場景下的計算引擎對任務(wù)的執(zhí)行效率,同時影響了用戶的使用體驗(yàn)。



技術(shù)實(shí)現(xiàn)要素:

本申請的一個目的是提供一種計算集群中多用戶的任務(wù)調(diào)度方法及設(shè)備,能夠解決現(xiàn)有的調(diào)度器調(diào)度方案無法可靠保證多用戶和混合負(fù)載場景下的計算引擎對任務(wù)的執(zhí)行效率的問題。

根據(jù)本申請的一個方面,提供了一種計算集群中多用戶的任務(wù)調(diào)度方法,該方法包括:

根據(jù)計算集群中所有服務(wù)器的當(dāng)前占用總資源量,確定所述計算集群中各服務(wù)器的當(dāng)前的剩余總資源量配額;

根據(jù)所述計算集群中各服務(wù)器上各用戶當(dāng)前運(yùn)行的任務(wù)數(shù)量,確定各用戶當(dāng)前的剩余任務(wù)數(shù)量配額;

從新接收的任務(wù)中篩選出數(shù)量小于或等于各用戶當(dāng)前的剩余任務(wù)數(shù)量配額的任務(wù),其中,所述篩選出的所有任務(wù)的需求總資源量小于或等于所述當(dāng)前的剩余總資源量配額;

獲取所述篩選出的任務(wù)的任務(wù)類型,按任務(wù)類型對所述篩選出的任務(wù)進(jìn)行任務(wù)優(yōu)先級排序;

按所屬的用戶將所述任務(wù)優(yōu)先級排序后的任務(wù)分配到資源池中對應(yīng)的用戶的節(jié)點(diǎn)上,所述資源池中的節(jié)點(diǎn)對應(yīng)于所述計算集群中的服務(wù)器;

根據(jù)每個節(jié)點(diǎn)上的分配的任務(wù)的需求資源量和每個節(jié)點(diǎn)上的資源指標(biāo)對所有節(jié)點(diǎn)進(jìn)行節(jié)點(diǎn)優(yōu)先級排序;

按所述節(jié)點(diǎn)優(yōu)先級排序調(diào)度對應(yīng)的服務(wù)器執(zhí)行所述節(jié)點(diǎn)上分配的任務(wù),其中,同一節(jié)點(diǎn)上的任務(wù)按所述任務(wù)優(yōu)先級調(diào)度;

更新計算集群中對應(yīng)服務(wù)器的當(dāng)前占用總資源量和各用戶當(dāng)前運(yùn)行的任務(wù)數(shù)。

進(jìn)一步的,上述方法中,每個節(jié)點(diǎn)上的資源指標(biāo)包括:cpu資源量、內(nèi)存資源量、權(quán)重、保留資源量和最大資源量。

進(jìn)一步的,上述方法中,根據(jù)每個節(jié)點(diǎn)上的分配的任務(wù)的需求資源量和每個節(jié)點(diǎn)上的資源指標(biāo)對所有節(jié)點(diǎn)進(jìn)行節(jié)點(diǎn)優(yōu)先級排序,包括:

若某個節(jié)點(diǎn)上的分配的任務(wù)的需求資源量小于該節(jié)點(diǎn)上的保留資源量,則將該節(jié)點(diǎn)的節(jié)點(diǎn)優(yōu)先級設(shè)置得較高;

若某個節(jié)點(diǎn)上的分配的任務(wù)的需求資源量超過該節(jié)點(diǎn)上的保留資源量且小于該節(jié)點(diǎn)的最大資源量,則按該節(jié)點(diǎn)的權(quán)重設(shè)置該節(jié)點(diǎn)的節(jié)點(diǎn)優(yōu)先級高低。

進(jìn)一步的,上述方法中,所述資源池中的節(jié)點(diǎn)組成樹形結(jié)構(gòu),其中,節(jié)點(diǎn)之間滿足以下約束:

子節(jié)點(diǎn)只使用父節(jié)點(diǎn)的最大資源量;

同級兄弟節(jié)點(diǎn)使用的資源量總和不超過父節(jié)點(diǎn)最大資源量;

同級兄弟節(jié)點(diǎn)相互借用超過同級兄弟節(jié)點(diǎn)的最大資源量的父節(jié)點(diǎn)的最大資源量的剩余資源量。

進(jìn)一步的,上述方法中,當(dāng)所述資源池中的節(jié)點(diǎn)組成樹形結(jié)構(gòu)時,按所屬的用戶將所述任務(wù)優(yōu)先級排序后的任務(wù)分配到資源池中對應(yīng)的用戶的節(jié)點(diǎn)上,包括:

按所屬的用戶將所述任務(wù)優(yōu)先級排序后的任務(wù)分配到資源池中對應(yīng)的用戶的葉子節(jié)點(diǎn)上。

進(jìn)一步的,上述方法中,按所屬的用戶將所述任務(wù)優(yōu)先級排序后的任務(wù)分配到資源池中對應(yīng)的用戶的葉子節(jié)點(diǎn)上,包括:

根據(jù)同一用戶下的每個葉子節(jié)點(diǎn)的當(dāng)前占用資源量額和/或當(dāng)前任務(wù)數(shù)量,將同一用戶的任務(wù)均衡分配到同一用戶下各個葉子節(jié)點(diǎn)上。

進(jìn)一步的,上述方法中,當(dāng)所述資源池中的節(jié)點(diǎn)組成樹形結(jié)構(gòu)時,根據(jù)每個節(jié)點(diǎn)上的分配的任務(wù)的需求資源量和每個節(jié)點(diǎn)上的資源指標(biāo)對所有節(jié)點(diǎn)進(jìn)行節(jié)點(diǎn)優(yōu)先級排序,包括:

對樹形結(jié)構(gòu)中的葉子節(jié)點(diǎn)的父節(jié)點(diǎn)即樹形結(jié)構(gòu)的倒數(shù)第二層節(jié)點(diǎn)進(jìn)行優(yōu)先級排序,其中,根據(jù)所有葉子節(jié)點(diǎn)的上層節(jié)點(diǎn)上分配的任務(wù)的需求資源量和資源指標(biāo)對倒數(shù)第二層節(jié)點(diǎn)進(jìn)行優(yōu)先級排序,樹形結(jié)構(gòu)中除葉子節(jié)點(diǎn)外的每一上層節(jié)點(diǎn)上分配的任務(wù)的需求資源量為其下層節(jié)點(diǎn)上的分配的任務(wù)的需求資源量之和;

根據(jù)葉子節(jié)點(diǎn)上分配的任務(wù)的需求資源量和資源指標(biāo)分別對每個倒數(shù)第二層節(jié)點(diǎn)下的葉子節(jié)點(diǎn)進(jìn)行優(yōu)先級排序;

根據(jù)所述倒數(shù)第二層節(jié)點(diǎn)和葉子節(jié)點(diǎn)的優(yōu)先級排序,得到所有葉子節(jié)點(diǎn)的優(yōu)先級排序。

進(jìn)一步的,上述方法中,根據(jù)每個節(jié)點(diǎn)上的分配的任務(wù)的需求資源量和每個節(jié)點(diǎn)上的資源指標(biāo)對所有節(jié)點(diǎn)進(jìn)行節(jié)點(diǎn)優(yōu)先級排序,包括:

根據(jù)每個節(jié)點(diǎn)上的分配的任務(wù)的需求資源量和每個節(jié)點(diǎn)上的資源指標(biāo)對所有節(jié)點(diǎn)進(jìn)行節(jié)點(diǎn)優(yōu)先級一次排序;

在所述節(jié)點(diǎn)優(yōu)先級一次排序的基礎(chǔ)上,按照用戶的等級對所有節(jié)點(diǎn)進(jìn)行節(jié)點(diǎn)優(yōu)先級二次排序,在同一節(jié)點(diǎn)內(nèi)的任務(wù),保持所述任務(wù)優(yōu)先級的排序結(jié)果。

進(jìn)一步的,上述方法中,根據(jù)每個節(jié)點(diǎn)上的分配的任務(wù)的需求資源量和每個節(jié)點(diǎn)上的資源指標(biāo)對所有節(jié)點(diǎn)進(jìn)行節(jié)點(diǎn)優(yōu)先級排序,包括:

對樹形結(jié)構(gòu)中的葉子節(jié)點(diǎn)的父節(jié)點(diǎn)即樹形結(jié)構(gòu)的倒數(shù)第二層節(jié)點(diǎn)進(jìn)行優(yōu)先級排序,其中,根據(jù)所有葉子節(jié)點(diǎn)的上層節(jié)點(diǎn)上分配的任務(wù)的需求資源量和資源指標(biāo)對倒數(shù)第二層節(jié)點(diǎn)進(jìn)行優(yōu)先級排序,其中,樹形結(jié)構(gòu)中除葉子節(jié)點(diǎn)外的每一上層節(jié)點(diǎn)上分配的任務(wù)的需求資源量為其下層節(jié)點(diǎn)上的分配的任務(wù)的需求資源量之和;

根據(jù)葉子節(jié)點(diǎn)上分配的任務(wù)的需求資源量和資源指標(biāo)分別對每個倒數(shù)第二層節(jié)點(diǎn)下的葉子節(jié)點(diǎn)進(jìn)行優(yōu)先級排序;

根據(jù)所述倒數(shù)第二層節(jié)點(diǎn)和葉子節(jié)點(diǎn)的優(yōu)先級排序,得到所有葉子節(jié)點(diǎn)的優(yōu)先級一次排序;

在所有葉子節(jié)點(diǎn)的優(yōu)先級一次排序的基礎(chǔ)上,按照葉子節(jié)點(diǎn)所屬的用戶的等級進(jìn)行所有葉子節(jié)點(diǎn)的優(yōu)先級二次排序,在同一葉子節(jié)點(diǎn)內(nèi)的任務(wù),保持所述任務(wù)優(yōu)先級的排序結(jié)果。

進(jìn)一步的,上述方法中,,按所屬的用戶將所述任務(wù)優(yōu)先級排序后的任務(wù)分配到資源池中對應(yīng)的用戶的節(jié)點(diǎn)上的步驟中,

不同的用戶之間共享被分配到的節(jié)點(diǎn)上的一部分或全部資源。

進(jìn)一步的,上述方法中,獲取所述篩選出的任務(wù)的任務(wù)類型中,所述任務(wù)類型包括:

用戶身份和任務(wù)類型信息,其中,用戶身份信息包括用戶的角色和/或分組、服務(wù)保證等級、用戶使用的服務(wù)器地址。

進(jìn)一步的,上述方法中,按任務(wù)類型對所述篩選出的任務(wù)進(jìn)行任務(wù)優(yōu)先級排序,包括:

按任務(wù)類型、計算集群中的服務(wù)器的當(dāng)前運(yùn)行狀態(tài)和歷史運(yùn)行狀態(tài)、服務(wù)器上運(yùn)行的任務(wù)的當(dāng)前運(yùn)行狀態(tài)和歷史運(yùn)行狀態(tài),對所述篩選出的任務(wù)進(jìn)行任務(wù)優(yōu)先級排序。

根據(jù)本申請的另一方面,還提供了一種計算集群中多用戶的任務(wù)調(diào)度設(shè)備,該設(shè)備包括:

集群負(fù)載感知模塊,用于根據(jù)計算集群中所有服務(wù)器的當(dāng)前占用總資源量,確定所述計算集群中各服務(wù)器的當(dāng)前的剩余總資源量配額;及根據(jù)所述計算集群中各服務(wù)器上各用戶當(dāng)前運(yùn)行的任務(wù)數(shù)量,確定各用戶當(dāng)前的剩余任務(wù)數(shù)量配額;

策略應(yīng)用模塊,用于從新接收的任務(wù)中篩選出數(shù)量小于或等于各用戶當(dāng)前的剩余任務(wù)數(shù)量配額的任務(wù),其中,所述篩選出的所有任務(wù)的需求總資源量小于或等于所述當(dāng)前的剩余總資源量配額,按所屬的用戶將由所述任務(wù)類型感知模塊任務(wù)優(yōu)先級排序后的任務(wù)分配到資源池中對應(yīng)的用戶的節(jié)點(diǎn)上,所述資源池中的節(jié)點(diǎn)對應(yīng)于所述計算集群中的服務(wù)器;根據(jù)每個節(jié)點(diǎn)上的分配的任務(wù)的需求資源量和每個節(jié)點(diǎn)上的資源指標(biāo)對所有節(jié)點(diǎn)進(jìn)行節(jié)點(diǎn)優(yōu)先級排序;按所述節(jié)點(diǎn)優(yōu)先級排序調(diào)度對應(yīng)的服務(wù)器執(zhí)行所述節(jié)點(diǎn)上分配的任務(wù),其中,同一節(jié)點(diǎn)上的任務(wù)按所述任務(wù)優(yōu)先級調(diào)度;通知所述集群負(fù)載感知模塊更新計算集群中對應(yīng)服務(wù)器的當(dāng)前占用總資源量和各用戶當(dāng)前運(yùn)行的任務(wù)數(shù);

任務(wù)類型感知模塊,用于獲取所述篩選出的任務(wù)的任務(wù)類型,按任務(wù)類型對所述篩選出的任務(wù)進(jìn)行任務(wù)優(yōu)先級排序;

進(jìn)一步的,上述設(shè)備中,每個節(jié)點(diǎn)上的資源指標(biāo)包括:cpu資源量、內(nèi)存資源量、權(quán)重、保留資源量和最大資源量。

進(jìn)一步的,上述設(shè)備中,所述策略應(yīng)用模塊,用于若某個節(jié)點(diǎn)上的分配的任務(wù)的需求資源量小于該節(jié)點(diǎn)上的保留資源量,則將該節(jié)點(diǎn)的節(jié)點(diǎn)優(yōu)先級設(shè)置得較高;若某個節(jié)點(diǎn)上的分配的任務(wù)的需求資源量超過該節(jié)點(diǎn)上的保留資源量且小于該節(jié)點(diǎn)的最大資源量,則按該節(jié)點(diǎn)的權(quán)重設(shè)置該節(jié)點(diǎn)的節(jié)點(diǎn)優(yōu)先級高低。

進(jìn)一步的,上述設(shè)備中,所述資源池中的節(jié)點(diǎn)組成樹形結(jié)構(gòu),其中,節(jié)點(diǎn)之間滿足以下約束:

子節(jié)點(diǎn)只使用父節(jié)點(diǎn)的最大資源量;

同級兄弟節(jié)點(diǎn)使用的資源量總和不超過父節(jié)點(diǎn)最大資源量;

同級兄弟節(jié)點(diǎn)相互借用超過同級兄弟節(jié)點(diǎn)的最大資源量的父節(jié)點(diǎn)的最大資源量的剩余資源量。

進(jìn)一步的,上述設(shè)備中,所述策略應(yīng)用模塊,用于當(dāng)所述資源池中的節(jié)點(diǎn)組成樹形結(jié)構(gòu)時,按所屬的用戶將所述任務(wù)優(yōu)先級排序后的任務(wù)分配到資源池中對應(yīng)的用戶的葉子節(jié)點(diǎn)上。

進(jìn)一步的,上述設(shè)備中,所述策略應(yīng)用模塊,用于根據(jù)同一用戶下的每個葉子節(jié)點(diǎn)的當(dāng)前占用資源量額和/或當(dāng)前任務(wù)數(shù)量,將同一用戶的任務(wù)均衡分配到同一用戶下各個葉子節(jié)點(diǎn)上。

進(jìn)一步的,上述設(shè)備中,所述策略應(yīng)用模塊,用于當(dāng)所述資源池中的節(jié)點(diǎn)組成樹形結(jié)構(gòu)時,對樹形結(jié)構(gòu)中的葉子節(jié)點(diǎn)的父節(jié)點(diǎn)即樹形結(jié)構(gòu)的倒數(shù)第二層節(jié)點(diǎn)進(jìn)行優(yōu)先級排序,其中,根據(jù)所有葉子節(jié)點(diǎn)的上層節(jié)點(diǎn)上分配的任務(wù)的需求資源量和資源指標(biāo)對倒數(shù)第二層節(jié)點(diǎn)進(jìn)行優(yōu)先級排序,樹形結(jié)構(gòu)中除葉子節(jié)點(diǎn)外的每一上層節(jié)點(diǎn)上分配的任務(wù)的需求資源量為其下層節(jié)點(diǎn)上的分配的任務(wù)的需求資源量之和;根據(jù)葉子節(jié)點(diǎn)上分配的任務(wù)的需求資源量和資源指標(biāo)分別對每個倒數(shù)第二層節(jié)點(diǎn)下的葉子節(jié)點(diǎn)進(jìn)行優(yōu)先級排序;根據(jù)所述倒數(shù)第二層節(jié)點(diǎn)和葉子節(jié)點(diǎn)的優(yōu)先級排序,得到所有葉子節(jié)點(diǎn)的優(yōu)先級排序。

進(jìn)一步的,上述設(shè)備中,所述策略應(yīng)用模塊,用于根據(jù)每個節(jié)點(diǎn)上的分配的任務(wù)的需求資源量和每個節(jié)點(diǎn)上的資源指標(biāo)對所有節(jié)點(diǎn)進(jìn)行節(jié)點(diǎn)優(yōu)先級一次排序;

在所述節(jié)點(diǎn)優(yōu)先級一次排序的基礎(chǔ)上,按照用戶的等級對所有節(jié)點(diǎn)進(jìn)行節(jié)點(diǎn)優(yōu)先級二次排序,在同一節(jié)點(diǎn)內(nèi)的任務(wù),保持所述任務(wù)優(yōu)先級的排序結(jié)果。

進(jìn)一步的,上述設(shè)備中,所述策略應(yīng)用模塊,用于對樹形結(jié)構(gòu)中的葉子節(jié)點(diǎn)的父節(jié)點(diǎn)即樹形結(jié)構(gòu)的倒數(shù)第二層節(jié)點(diǎn)進(jìn)行優(yōu)先級排序,其中,根據(jù)所有葉子節(jié)點(diǎn)的上層節(jié)點(diǎn)上分配的任務(wù)的需求資源量和資源指標(biāo)對倒數(shù)第二層節(jié)點(diǎn)進(jìn)行優(yōu)先級排序,其中,樹形結(jié)構(gòu)中除葉子節(jié)點(diǎn)外的每一上層節(jié)點(diǎn)上分配的任務(wù)的需求資源量為其下層節(jié)點(diǎn)上的分配的任務(wù)的需求資源量之和;根據(jù)葉子節(jié)點(diǎn)上分配的任務(wù)的需求資源量和資源指標(biāo)分別對每個倒數(shù)第二層節(jié)點(diǎn)下的葉子節(jié)點(diǎn)進(jìn)行優(yōu)先級排序;根據(jù)所述倒數(shù)第二層節(jié)點(diǎn)和葉子節(jié)點(diǎn)的優(yōu)先級排序,得到所有葉子節(jié)點(diǎn)的優(yōu)先級一次排序;在所有葉子節(jié)點(diǎn)的優(yōu)先級一次排序的基礎(chǔ)上,按照葉子節(jié)點(diǎn)所屬的用戶的等級進(jìn)行所有葉子節(jié)點(diǎn)的優(yōu)先級二次排序,在同一葉子節(jié)點(diǎn)內(nèi)的任務(wù),保持所述任務(wù)優(yōu)先級的排序結(jié)果。

進(jìn)一步的,上述設(shè)備中,所述策略應(yīng)用模塊,用于讓不同的用戶之間共享被分配到的節(jié)點(diǎn)上的一部分或全部資源。

進(jìn)一步的,上述設(shè)備中,所述任務(wù)類型感知模塊獲取的所述任務(wù)類型包括:用戶身份和任務(wù)類型信息,其中,用戶身份信息包括用戶的角色和/或分組、服務(wù)保證等級、用戶使用的服務(wù)器地址。

進(jìn)一步的,上述設(shè)備中,所述集群負(fù)載感知模塊,用于獲取計算集群中的服務(wù)器的當(dāng)前運(yùn)行狀態(tài)和歷史運(yùn)行狀態(tài)、服務(wù)器上運(yùn)行的任務(wù)的當(dāng)前運(yùn)行狀態(tài)和歷史運(yùn)行狀態(tài);

所述任務(wù)類型感知模塊,用于按任務(wù)類型、計算集群中的服務(wù)器的當(dāng)前運(yùn)行狀態(tài)和歷史運(yùn)行狀態(tài)、服務(wù)器上運(yùn)行的任務(wù)的當(dāng)前運(yùn)行狀態(tài)和歷史運(yùn)行狀態(tài),對所述篩選出的任務(wù)進(jìn)行任務(wù)優(yōu)先級排序。

根據(jù)本申請的另一面,還提供一種基于計算的設(shè)備,包括:

處理器;以及

被安排成存儲計算機(jī)可執(zhí)行指令的存儲器,所述可執(zhí)行指令在被執(zhí)行時使所述處理器:

根據(jù)計算集群中所有服務(wù)器的當(dāng)前占用總資源量,確定所述計算集群中各服務(wù)器的當(dāng)前的剩余總資源量配額;

根據(jù)所述計算集群中各服務(wù)器上各用戶當(dāng)前運(yùn)行的任務(wù)數(shù)量,確定各用戶當(dāng)前的剩余任務(wù)數(shù)量配額;

從新接收的任務(wù)中篩選出數(shù)量小于或等于各用戶當(dāng)前的剩余任務(wù)數(shù)量配額的任務(wù),其中,所述篩選出的所有任務(wù)的需求總資源量小于或等于所述當(dāng)前的剩余總資源量配額;

獲取所述篩選出的任務(wù)的任務(wù)類型,按任務(wù)類型對所述篩選出的任務(wù)進(jìn)行任務(wù)優(yōu)先級排序;

按所屬的用戶將所述任務(wù)優(yōu)先級排序后的任務(wù)分配到資源池中對應(yīng)的用戶的節(jié)點(diǎn)上,所述資源池中的節(jié)點(diǎn)對應(yīng)于所述計算集群中的服務(wù)器;

根據(jù)每個節(jié)點(diǎn)上的分配的任務(wù)的需求資源量和每個節(jié)點(diǎn)上的資源指標(biāo)對所有節(jié)點(diǎn)進(jìn)行節(jié)點(diǎn)優(yōu)先級排序;

按所述節(jié)點(diǎn)優(yōu)先級排序調(diào)度對應(yīng)的服務(wù)器執(zhí)行所述節(jié)點(diǎn)上分配的任務(wù),其中,同一節(jié)點(diǎn)上的任務(wù)按所述任務(wù)優(yōu)先級調(diào)度;

更新計算集群中對應(yīng)服務(wù)器的當(dāng)前占用總資源量和各用戶當(dāng)前運(yùn)行的任務(wù)數(shù)。

根據(jù)本申請的另一面,還提供一種計算機(jī)可讀存儲介質(zhì),其上存儲有計算機(jī)可執(zhí)行指令,該計算機(jī)可執(zhí)行指令被處理器執(zhí)行時使得該處理器:

根據(jù)計算集群中所有服務(wù)器的當(dāng)前占用總資源量,確定所述計算集群中各服務(wù)器的當(dāng)前的剩余總資源量配額;

根據(jù)所述計算集群中各服務(wù)器上各用戶當(dāng)前運(yùn)行的任務(wù)數(shù)量,確定各用戶當(dāng)前的剩余任務(wù)數(shù)量配額;

從新接收的任務(wù)中篩選出數(shù)量小于或等于各用戶當(dāng)前的剩余任務(wù)數(shù)量配額的任務(wù),其中,所述篩選出的所有任務(wù)的需求總資源量小于或等于所述當(dāng)前的剩余總資源量配額;

獲取所述篩選出的任務(wù)的任務(wù)類型,按任務(wù)類型對所述篩選出的任務(wù)進(jìn)行任務(wù)優(yōu)先級排序;

按所屬的用戶將所述任務(wù)優(yōu)先級排序后的任務(wù)分配到資源池中對應(yīng)的用戶的節(jié)點(diǎn)上,所述資源池中的節(jié)點(diǎn)對應(yīng)于所述計算集群中的服務(wù)器;

根據(jù)每個節(jié)點(diǎn)上的分配的任務(wù)的需求資源量和每個節(jié)點(diǎn)上的資源指標(biāo)對所有節(jié)點(diǎn)進(jìn)行節(jié)點(diǎn)優(yōu)先級排序;

按所述節(jié)點(diǎn)優(yōu)先級排序調(diào)度對應(yīng)的服務(wù)器執(zhí)行所述節(jié)點(diǎn)上分配的任務(wù),其中,同一節(jié)點(diǎn)上的任務(wù)按所述任務(wù)優(yōu)先級調(diào)度;

更新計算集群中對應(yīng)服務(wù)器的當(dāng)前占用總資源量和各用戶當(dāng)前運(yùn)行的任務(wù)數(shù)。

與現(xiàn)有技術(shù)相比,本申請通過根據(jù)計算集群中所有服務(wù)器的當(dāng)前占用總資源量,確定所述計算集群中各服務(wù)器的當(dāng)前的剩余總資源量配額,根據(jù)所述計算集群中各服務(wù)器上各用戶當(dāng)前運(yùn)行的任務(wù)數(shù)量,確定各用戶當(dāng)前的剩余任務(wù)數(shù)量配額,能夠?qū)Ξ?dāng)前集群負(fù)載主動感知,通過從新接收的任務(wù)中篩選出數(shù)量小于或等于各用戶當(dāng)前的剩余任務(wù)數(shù)量配額的任務(wù),按所屬的用戶將所述任務(wù)優(yōu)先級排序后的任務(wù)分配到資源池中對應(yīng)的用戶的節(jié)點(diǎn)上,并對所有節(jié)點(diǎn)進(jìn)行節(jié)點(diǎn)優(yōu)先級排序,無需預(yù)先為任務(wù)指定固定的資源池,調(diào)度策略無需隨著調(diào)度器的配置而固定下來,調(diào)度策略能夠動態(tài)的生成,實(shí)現(xiàn)計算集群的計算資源靈活、動態(tài)分配,實(shí)現(xiàn)更加細(xì)粒度的資源分配和任務(wù)調(diào)度。

另外,通過獲取所述篩選出的任務(wù)的任務(wù)類型,能夠?qū)Ξ?dāng)前任務(wù)類型的主動感知,通過按任務(wù)類型對所述篩選出的任務(wù)進(jìn)行任務(wù)優(yōu)先級排序,能夠滿足不同類型任務(wù)(如交互式和批處理任務(wù))的響應(yīng)需求,在保證計算集群的計算資源被充分使用的前提下,實(shí)現(xiàn)不同類型的任務(wù)在合理時間內(nèi)完成,同時提高使用者的體驗(yàn)。

附圖說明

通過閱讀參照以下附圖所作的對非限制性實(shí)施例所作的詳細(xì)描述,本申請的其它特征、目的和優(yōu)點(diǎn)將會變得更明顯:

圖1示出根據(jù)本申請一個方面的一種計算集群中多用戶的任務(wù)調(diào)度方法及設(shè)備的原理圖;

圖2示出本申請中一實(shí)施例的資源池中的節(jié)點(diǎn)組成樹形結(jié)構(gòu)示意圖;

圖3示出根據(jù)本申請另一實(shí)施例的資源池中的節(jié)點(diǎn)組成樹形結(jié)構(gòu)的示意圖。

附圖中相同或相似的附圖標(biāo)記代表相同或相似的部件。

具體實(shí)施方式

下面結(jié)合附圖對本申請作進(jìn)一步詳細(xì)描述。

在本申請一個典型的配置中,終端、服務(wù)網(wǎng)絡(luò)的設(shè)備和可信方均包括一個或多個處理器(cpu)、輸入/輸出接口、網(wǎng)絡(luò)接口和內(nèi)存。

內(nèi)存可能包括計算機(jī)可讀介質(zhì)中的非永久性存儲器,隨機(jī)存取存儲器(ram)和/或非易失性內(nèi)存等形式,如只讀存儲器(rom)或閃存(flashram)。內(nèi)存是計算機(jī)可讀介質(zhì)的示例。

計算機(jī)可讀介質(zhì)包括永久性和非永久性、可移動和非可移動媒體可以由任何方法或技術(shù)來實(shí)現(xiàn)信息存儲。信息可以是計算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序的模塊或其他數(shù)據(jù)。計算機(jī)的存儲介質(zhì)的例子包括,但不限于相變內(nèi)存(pram)、靜態(tài)隨機(jī)存取存儲器(sram)、動態(tài)隨機(jī)存取存儲器(dram)、其他類型的隨機(jī)存取存儲器(ram)、只讀存儲器(rom)、電可擦除可編程只讀存儲器(eeprom)、快閃記憶體或其他內(nèi)存技術(shù)、只讀光盤只讀存儲器(cd-rom)、數(shù)字多功能光盤(dvd)或其他光學(xué)存儲、磁盒式磁帶,磁帶磁盤存儲或其他磁性存儲設(shè)備或任何其他非傳輸介質(zhì),可用于存儲可以被計算設(shè)備訪問的信息。按照本文中的界定,計算機(jī)可讀介質(zhì)不包括非暫存電腦可讀媒體(transitorymedia),如調(diào)制的數(shù)據(jù)信號和載波。

本申請?zhí)峁┮环N計算集群中多用戶的任務(wù)調(diào)度方法,包括:

步驟s1,根據(jù)計算集群中所有服務(wù)器的當(dāng)前占用總資源量,確定所述計算集群中各服務(wù)器的當(dāng)前的剩余總資源量配額;例如,一計算集群中所有服務(wù)器的總資源量配額為100,計算集群中所有服務(wù)器的當(dāng)前占用總資源量為60,則所述計算集群中各服務(wù)器的當(dāng)前的剩余總資源量配額為100-60=40;

步驟s2,根據(jù)所述計算集群中各服務(wù)器上各用戶當(dāng)前運(yùn)行的任務(wù)數(shù)量,確定各用戶當(dāng)前的剩余任務(wù)數(shù)量配額;例如,用戶a的任務(wù)配額是10,計算集群中各服務(wù)器上用戶a當(dāng)前運(yùn)行的任務(wù)數(shù)量為3,則用戶a當(dāng)前的剩余任務(wù)數(shù)量配額為10-3=7;用戶b的任務(wù)配額是13,計算集群中各服務(wù)器上用戶b當(dāng)前運(yùn)行的任務(wù)數(shù)量為8,則用戶a當(dāng)前的剩余任務(wù)數(shù)量配額為13-8=5;用戶b的任務(wù)配額是20,計算集群中各服務(wù)器上用戶b當(dāng)前運(yùn)行的任務(wù)數(shù)量為10,則用戶a當(dāng)前的剩余任務(wù)數(shù)量配額為20-10=10;

步驟s3,從新接收的任務(wù)中篩選出數(shù)量小于或等于各用戶當(dāng)前的剩余任務(wù)數(shù)量配額的任務(wù),其中,所述篩選出的所有任務(wù)的需求總資源量小于或等于所述當(dāng)前的剩余總資源量配額;

步驟s4,獲取所述篩選出的任務(wù)的任務(wù)類型,按任務(wù)類型對所述篩選出的任務(wù)進(jìn)行任務(wù)優(yōu)先級排序;在此,每一用戶對應(yīng)的篩選出的任務(wù)可以分別按任務(wù)類型進(jìn)行任務(wù)優(yōu)先級排序,例如,用戶a的篩選出的6個任務(wù)分別按任務(wù)類型進(jìn)行任務(wù)優(yōu)先級排序,用戶b的篩選出的4個任務(wù)分別按任務(wù)類型進(jìn)行任務(wù)優(yōu)先級排序,用戶c的篩選出的8個任務(wù)分別按任務(wù)類型進(jìn)行任務(wù)優(yōu)先級排序;

步驟s5,按所屬的用戶將所述任務(wù)優(yōu)先級排序后的任務(wù)分配到資源池中對應(yīng)的用戶的節(jié)點(diǎn)上,所述資源池中的節(jié)點(diǎn)對應(yīng)于所述計算集群中的服務(wù)器;在此,每個用戶與資源池對應(yīng)的節(jié)點(diǎn)對應(yīng),不同用戶可以對應(yīng)資源池中相同或不同的節(jié)點(diǎn),所述資源池中的節(jié)點(diǎn)與所述計算集群中的服務(wù)器,根據(jù)實(shí)際需要,可以是一對多的關(guān)系,也可以是多對一的關(guān)系,還可以是一對一的關(guān)系;

步驟s6,根據(jù)每個節(jié)點(diǎn)上的分配的任務(wù)的需求資源量和每個節(jié)點(diǎn)上的資源指標(biāo)對所有節(jié)點(diǎn)進(jìn)行節(jié)點(diǎn)優(yōu)先級排序;

步驟s7,按所述節(jié)點(diǎn)優(yōu)先級排序調(diào)度對應(yīng)的服務(wù)器執(zhí)行所述節(jié)點(diǎn)上分配的任務(wù),其中,同一節(jié)點(diǎn)上的任務(wù)按所述任務(wù)優(yōu)先級調(diào)度;

步驟s8,更新計算集群中對應(yīng)服務(wù)器的當(dāng)前占用總資源量和各用戶當(dāng)前運(yùn)行的任務(wù)數(shù)。

在此,本實(shí)施例,通過根據(jù)計算集群中所有服務(wù)器的當(dāng)前占用總資源量,確定所述計算集群中各服務(wù)器的當(dāng)前的剩余總資源量配額,根據(jù)所述計算集群中各服務(wù)器上各用戶當(dāng)前運(yùn)行的任務(wù)數(shù)量,確定各用戶當(dāng)前的剩余任務(wù)數(shù)量配額,能夠?qū)Ξ?dāng)前集群負(fù)載主動感知,通過從新接收的任務(wù)中篩選出數(shù)量小于或等于各用戶當(dāng)前的剩余任務(wù)數(shù)量配額的任務(wù),按所屬的用戶將所述任務(wù)優(yōu)先級排序后的任務(wù)分配到資源池中對應(yīng)的用戶的節(jié)點(diǎn)上,并對所有節(jié)點(diǎn)進(jìn)行節(jié)點(diǎn)優(yōu)先級排序,無需預(yù)先為任務(wù)指定固定的資源池,調(diào)度策略無需隨著調(diào)度器的配置而固定下來,調(diào)度策略能夠動態(tài)的生成,實(shí)現(xiàn)計算集群的計算資源靈活、動態(tài)分配,實(shí)現(xiàn)更加細(xì)粒度的資源分配和任務(wù)調(diào)度。

另外,通過獲取所述篩選出的任務(wù)的任務(wù)類型,能夠?qū)Ξ?dāng)前任務(wù)類型的主動感知,通過按任務(wù)類型對所述篩選出的任務(wù)進(jìn)行任務(wù)優(yōu)先級排序,能夠滿足不同類型任務(wù)(如交互式和批處理任務(wù))的響應(yīng)需求,在保證計算集群的計算資源被充分使用的前提下,實(shí)現(xiàn)不同類型的任務(wù)在合理時間內(nèi)完成,同時提高使用者的體驗(yàn)。

本申請的計算集群中多用戶的任務(wù)調(diào)度方法一實(shí)施例中,步驟s6中,每個節(jié)點(diǎn)上的資源指標(biāo)包括:cpu資源量、內(nèi)存資源量、權(quán)重、保留資源量和最大資源量等。其中,所述保留資源量是該節(jié)點(diǎn)專屬的資源量,其它節(jié)點(diǎn)不能占用;每個節(jié)點(diǎn)的最大資源量大于該節(jié)點(diǎn)的保留資源量。

本申請的計算集群中多用戶的任務(wù)調(diào)度方法一實(shí)施例中,步驟s6,根據(jù)每個節(jié)點(diǎn)上的分配的任務(wù)的需求資源量和每個節(jié)點(diǎn)上的資源指標(biāo)對所有節(jié)點(diǎn)進(jìn)行節(jié)點(diǎn)優(yōu)先級排序,包括:

若某個節(jié)點(diǎn)上的分配的任務(wù)的需求資源量小于該節(jié)點(diǎn)上的保留資源量,則將該節(jié)點(diǎn)的節(jié)點(diǎn)優(yōu)先級設(shè)置得較高;

若某個節(jié)點(diǎn)上的分配的任務(wù)的需求資源量超過該節(jié)點(diǎn)上的保留資源量且小于該節(jié)點(diǎn)的最大資源量,則按該節(jié)點(diǎn)的權(quán)重設(shè)置該節(jié)點(diǎn)的節(jié)點(diǎn)優(yōu)先級高低,從而保證優(yōu)先級設(shè)置得更精確。例如,權(quán)重大的,將該節(jié)點(diǎn)的節(jié)點(diǎn)優(yōu)先級設(shè)置得較高,權(quán)重小的,將該節(jié)點(diǎn)的節(jié)點(diǎn)優(yōu)先級設(shè)置得較低。

本申請的計算集群中多用戶的任務(wù)調(diào)度方法一實(shí)施例中,步驟s5中,所述資源池中的節(jié)點(diǎn)組成樹形結(jié)構(gòu),其中,節(jié)點(diǎn)之間滿足以下約束:

子節(jié)點(diǎn)只能使用父節(jié)點(diǎn)的最大資源量;如圖2所示,節(jié)點(diǎn)n2為節(jié)點(diǎn)n21和n22的父節(jié)點(diǎn),根節(jié)點(diǎn)root為節(jié)點(diǎn)n1和n2的父節(jié)點(diǎn),如父節(jié)點(diǎn)n2的最大資源量為60,那么節(jié)點(diǎn)n21和n22只能共同使用60的最大資源量;

同級兄弟節(jié)點(diǎn)(如n1和n2)使用的資源量總和不超過父節(jié)點(diǎn)最大資源量;如圖2所示,節(jié)點(diǎn)n21和n22使用的資源量總和不超過父節(jié)點(diǎn)的最大資源量60;

同級兄弟節(jié)點(diǎn)直接可以相互借用超過兄弟節(jié)點(diǎn)的最大資源量的父節(jié)點(diǎn)的最大資源量的剩余資源量。如圖3所示,節(jié)點(diǎn)n3為節(jié)點(diǎn)n31、n32和n33的父節(jié)點(diǎn),節(jié)點(diǎn)n3的最大資源量為100,節(jié)點(diǎn)n31使用了其自己的最大資源量30,節(jié)點(diǎn)n32使用了其自己的最大資源量40,那么節(jié)點(diǎn)n33可以使用父節(jié)點(diǎn)n3的最大資源量的剩余資源量100-30-40=30。

在此,每個節(jié)點(diǎn)上的分配的任務(wù)的需求資源量即為該節(jié)點(diǎn)的使用的資源量。

本申請的計算集群中多用戶的任務(wù)調(diào)度方法一實(shí)施例中,步驟s5,按所屬的用戶將所述任務(wù)優(yōu)先級排序后的任務(wù)分配到資源池中對應(yīng)的用戶的節(jié)點(diǎn)上的步驟中,

不同的用戶之間共享被分配到的節(jié)點(diǎn)上的一部分或全部資源,例如,如圖2所示,租戶a使用n21的所有資源、并和租戶b、c共享n2的資源,租戶b、c共享n2的資源,從而保證每個節(jié)點(diǎn)資源的充分利用。

本申請的計算集群中多用戶的任務(wù)調(diào)度方法一實(shí)施例中,當(dāng)所述資源池中的節(jié)點(diǎn)組成樹形結(jié)構(gòu)時,步驟s5,按所屬的用戶將所述任務(wù)優(yōu)先級排序后的任務(wù)分配到資源池中對應(yīng)的用戶的節(jié)點(diǎn)上,包括:

步驟s51,按所屬的用戶將所述任務(wù)優(yōu)先級排序后的任務(wù)分配到資源池中對應(yīng)的用戶的葉子節(jié)點(diǎn)上。

在此,如圖2所示,所述葉子節(jié)點(diǎn)時樹形結(jié)構(gòu)中最下一層的子節(jié)點(diǎn),同級葉子節(jié)點(diǎn)為兄弟節(jié)點(diǎn),同級中間節(jié)點(diǎn)為兄弟節(jié)點(diǎn),圖2中n1、n21、n22為葉子節(jié)點(diǎn),任務(wù)t1被最終分配到葉子節(jié)點(diǎn)n1上,任務(wù)t2、t3被最終分配到葉子節(jié)點(diǎn)n21上,任務(wù)t4被最終分配到葉子節(jié)點(diǎn)n22上。

本申請的計算集群中多用戶的任務(wù)調(diào)度方法一實(shí)施例中,步驟s51,按所屬的用戶將所述任務(wù)優(yōu)先級排序后的任務(wù)分配到資源池中對應(yīng)的用戶的葉子節(jié)點(diǎn)上的步驟中,

所述任務(wù)被分配到資源池中最大資源量大于且接近所述任務(wù)的需求資源量的葉子節(jié)點(diǎn),以充分利用每一葉子節(jié)點(diǎn)的資源。

本申請的計算集群中多用戶的任務(wù)調(diào)度方法一實(shí)施例中,步驟s51,按所屬的用戶將所述任務(wù)優(yōu)先級排序后的任務(wù)分配到資源池中對應(yīng)的用戶的葉子節(jié)點(diǎn)上的步驟中,

根據(jù)同一用戶下的每個葉子節(jié)點(diǎn)的當(dāng)前占用資源量額和/或當(dāng)前任務(wù)數(shù)量,將同一用戶的任務(wù)均衡分配到同一用戶下各個葉子節(jié)點(diǎn)上,從而保證同一用戶下各個葉子節(jié)點(diǎn)的當(dāng)前占用資源量額和/或當(dāng)前任務(wù)數(shù)量保持均衡。

本申請的計算集群中多用戶的任務(wù)調(diào)度方法一實(shí)施例中,如圖2所示,當(dāng)所述資源池中的節(jié)點(diǎn)組成樹形結(jié)構(gòu)時,步驟s6,根據(jù)每個節(jié)點(diǎn)上的分配的任務(wù)的需求資源量和每個節(jié)點(diǎn)上的資源指標(biāo)對所有節(jié)點(diǎn)進(jìn)行節(jié)點(diǎn)優(yōu)先級排序,包括:

對樹形結(jié)構(gòu)中的葉子節(jié)點(diǎn)的父節(jié)點(diǎn)即樹形結(jié)構(gòu)的倒數(shù)第二層節(jié)點(diǎn)進(jìn)行優(yōu)先級排序,其中,根據(jù)所有葉子節(jié)點(diǎn)的上層節(jié)點(diǎn)上分配的任務(wù)的需求資源量和資源指標(biāo)對倒數(shù)第二層節(jié)點(diǎn)進(jìn)行優(yōu)先級排序,樹形結(jié)構(gòu)中除葉子節(jié)點(diǎn)外的每一上層節(jié)點(diǎn)上分配的任務(wù)的需求資源量為其下層節(jié)點(diǎn)上的分配的任務(wù)的需求資源量之和;

在此,所述資源指標(biāo)是指某一節(jié)點(diǎn)的資源限額,可以從根節(jié)點(diǎn)開始對每一層節(jié)點(diǎn)排序,下一層節(jié)點(diǎn)的排序可以根據(jù)上一層節(jié)點(diǎn)的優(yōu)先級排序和本層節(jié)點(diǎn)上分配的任務(wù)的需求資源量和資源指標(biāo)得到;例如,如圖2所示,倒數(shù)第二層節(jié)點(diǎn)n1、n2的優(yōu)先級排序是n2、n1;

根據(jù)葉子節(jié)點(diǎn)上分配的任務(wù)的需求資源量和資源指標(biāo)分別對每個倒數(shù)第二層節(jié)點(diǎn)下的葉子節(jié)點(diǎn)進(jìn)行優(yōu)先級排序;例如,如圖2所示,倒數(shù)第二層節(jié)點(diǎn)n2下的葉子節(jié)點(diǎn)n21、n22的優(yōu)先級排序是n22、n21;

根據(jù)所述倒數(shù)第二層節(jié)點(diǎn)和葉子節(jié)點(diǎn)的優(yōu)先級排序,得到所有葉子節(jié)點(diǎn)的優(yōu)先級排序。例如,如圖2所示,所有葉子節(jié)點(diǎn)的節(jié)點(diǎn)的優(yōu)先級排序?yàn)閚22、n21、n1。

在此,對應(yīng)的,步驟s7,按所述節(jié)點(diǎn)優(yōu)先級排序調(diào)度對應(yīng)的服務(wù)器執(zhí)行所述節(jié)點(diǎn)上分配的任務(wù),其中,同一節(jié)點(diǎn)上的任務(wù)按所述任務(wù)優(yōu)先級調(diào)度,包括:

按所述葉子節(jié)點(diǎn)的節(jié)點(diǎn)優(yōu)先級排序調(diào)度對應(yīng)的服務(wù)器執(zhí)行所述節(jié)點(diǎn)上分配的任務(wù),其中,同一葉子節(jié)點(diǎn)上的任務(wù)按所述任務(wù)優(yōu)先級調(diào)度。

本申請的計算集群中多用戶的任務(wù)調(diào)度方法一實(shí)施例中,步驟s6,根據(jù)每個節(jié)點(diǎn)上的分配的任務(wù)的需求資源量和每個節(jié)點(diǎn)上的資源指標(biāo)對所有節(jié)點(diǎn)進(jìn)行節(jié)點(diǎn)優(yōu)先級排序,包括:

步驟s6-1,根據(jù)每個節(jié)點(diǎn)上的分配的任務(wù)的需求資源量和每個節(jié)點(diǎn)上的資源指標(biāo)對所有節(jié)點(diǎn)進(jìn)行節(jié)點(diǎn)優(yōu)先級一次排序;

步驟s6-2,在所述節(jié)點(diǎn)優(yōu)先級一次排序的基礎(chǔ)上,按照用戶的等級對所有節(jié)點(diǎn)進(jìn)行節(jié)點(diǎn)優(yōu)先級二次排序,在同一節(jié)點(diǎn)內(nèi)的任務(wù),保持步驟s4的所述任務(wù)優(yōu)先級的排序結(jié)果。

在此,例如用戶a的節(jié)點(diǎn)上有兩個任務(wù)t5、t6,用戶b的節(jié)點(diǎn)上有兩個任務(wù)t7、t8,步驟s4的任務(wù)優(yōu)先級的排序結(jié)果依次為t5、t6、t8、t7,步驟s6-1中節(jié)點(diǎn)優(yōu)先級一次排序的結(jié)果依次為用戶a的節(jié)點(diǎn)、用戶b的節(jié)點(diǎn),s6-2中節(jié)點(diǎn)優(yōu)先級一次排序的結(jié)果依次為用戶b的節(jié)點(diǎn)、用戶a的節(jié)點(diǎn),則任務(wù)優(yōu)先級的排序結(jié)果進(jìn)一步調(diào)整為t8、t7、t5、t6,通過對節(jié)點(diǎn)進(jìn)行兩次優(yōu)先級排序,使節(jié)點(diǎn)優(yōu)先級更準(zhǔn)確。

本申請的計算集群中多用戶的任務(wù)調(diào)度方法一實(shí)施例中,步驟s6,根據(jù)每個節(jié)點(diǎn)上的分配的任務(wù)的需求資源量和每個節(jié)點(diǎn)上的資源指標(biāo)對所有節(jié)點(diǎn)進(jìn)行節(jié)點(diǎn)優(yōu)先級排序,包括:

步驟s6-1,對樹形結(jié)構(gòu)中的葉子節(jié)點(diǎn)的父節(jié)點(diǎn)即樹形結(jié)構(gòu)的倒數(shù)第二層節(jié)點(diǎn)進(jìn)行優(yōu)先級排序,其中,根據(jù)所有葉子節(jié)點(diǎn)的上層節(jié)點(diǎn)上分配的任務(wù)的需求資源量和資源指標(biāo)對倒數(shù)第二層節(jié)點(diǎn)進(jìn)行優(yōu)先級排序,其中,樹形結(jié)構(gòu)中除葉子節(jié)點(diǎn)外的每一上層節(jié)點(diǎn)上分配的任務(wù)的需求資源量為其下層節(jié)點(diǎn)上的分配的任務(wù)的需求資源量之和;在此,可以從根節(jié)點(diǎn)開始對每一層節(jié)點(diǎn)排序,下一層節(jié)點(diǎn)的排序可以根據(jù)上一層節(jié)點(diǎn)的優(yōu)先級排序和本層節(jié)點(diǎn)上分配的任務(wù)的需求資源量和資源指標(biāo)得到;例如,如圖2所示,倒數(shù)第二層節(jié)點(diǎn)n1、n2的優(yōu)先級排序是n2、n1;

根據(jù)葉子節(jié)點(diǎn)上分配的任務(wù)的需求資源量和資源指標(biāo)分別對每個倒數(shù)第二層節(jié)點(diǎn)下的葉子節(jié)點(diǎn)進(jìn)行優(yōu)先級排序;例如,如圖2所示,倒數(shù)第二層節(jié)點(diǎn)n2下的葉子節(jié)點(diǎn)n21、n22的優(yōu)先級排序是n22、n21;

根據(jù)所述倒數(shù)第二層節(jié)點(diǎn)和葉子節(jié)點(diǎn)的優(yōu)先級排序,得到所有葉子節(jié)點(diǎn)的優(yōu)先級一次排序;

步驟s6-2,在所有葉子節(jié)點(diǎn)的優(yōu)先級一次排序的基礎(chǔ)上,按照葉子節(jié)點(diǎn)所屬的用戶的等級進(jìn)行所有葉子節(jié)點(diǎn)的優(yōu)先級二次排序,在同一葉子節(jié)點(diǎn)內(nèi)的任務(wù),保持步驟s4的所述任務(wù)優(yōu)先級的排序結(jié)果。

本申請的計算集群中多用戶的任務(wù)調(diào)度方法一實(shí)施例中,步驟s4,獲取所述篩選出的任務(wù)的任務(wù)類型中,所述任務(wù)類型包括:

用戶身份和任務(wù)類型信息,其中,用戶身份信息包括用戶的角色和/或分組、服務(wù)保證等級(sla)、用戶使用的服務(wù)器地址等相關(guān)信息,任務(wù)類型信息包括發(fā)出任務(wù)的業(yè)務(wù)類型(如批處理還是交互查詢)、任務(wù)資源消耗、任務(wù)提交時間、預(yù)計執(zhí)行時間等。

本申請的計算集群中多用戶的任務(wù)調(diào)度方法一實(shí)施例中,步驟s4,按任務(wù)類型對所述篩選出的任務(wù)進(jìn)行任務(wù)優(yōu)先級排序,包括:

按任務(wù)類型、計算集群中的服務(wù)器的當(dāng)前運(yùn)行狀態(tài)和歷史運(yùn)行狀態(tài)、服務(wù)器上運(yùn)行的任務(wù)的當(dāng)前運(yùn)行狀態(tài)和歷史運(yùn)行狀態(tài),對所述篩選出的任務(wù)進(jìn)行任務(wù)優(yōu)先級排序,從而保證任務(wù)優(yōu)先級排序更精準(zhǔn)。

詳細(xì)的,對于任何的計算平臺來講,調(diào)度器的功能在于將資源合理分配到任務(wù)上,實(shí)現(xiàn)計算資源利用的最大化。要實(shí)現(xiàn)較高的分配效率,調(diào)度器除了自身結(jié)構(gòu)之外,還需要能夠?qū)ο到y(tǒng)運(yùn)行狀態(tài)有所感知,將任務(wù)調(diào)度-執(zhí)行-感知-調(diào)度的過程實(shí)現(xiàn)信息閉環(huán),從而動態(tài)生成最優(yōu)的調(diào)度策略。本申請的任務(wù)調(diào)度流程如圖1所示:

4.1輸入/輸出模塊

輸入為一個或多個待執(zhí)行的任務(wù),輸出為任務(wù)在計算集群上的執(zhí)行方案。

在本申請中,任務(wù)可以被抽象為一組描述,其基本信息包括提交任務(wù)的租戶、任務(wù)處理的數(shù)據(jù)對象、執(zhí)行邏輯、以及輸出對象。多個任務(wù)之間或相互獨(dú)立、或存在一定的依賴關(guān)系。

4.2集群負(fù)載感知模塊

負(fù)責(zé)采集、分析計算集群中的服務(wù)器的當(dāng)前運(yùn)行狀態(tài)和歷史運(yùn)行狀態(tài)、服務(wù)器上運(yùn)行的任務(wù)的當(dāng)前運(yùn)行狀態(tài)和歷史運(yùn)行狀態(tài),為策略生成模塊提供輸入信息。當(dāng)前運(yùn)行狀態(tài)和歷史運(yùn)行狀態(tài)可以包括服務(wù)器或任務(wù)占用的cpu資源量、內(nèi)存資源量、運(yùn)行花費(fèi)時間、出錯概率等等。

本申請中,計算集群中的服務(wù)器的當(dāng)前運(yùn)行狀態(tài)和歷史運(yùn)行狀態(tài)、服務(wù)器上運(yùn)行的任務(wù)的當(dāng)前運(yùn)行狀態(tài)和歷史運(yùn)行狀態(tài)為包含集群中軟件和硬件的狀態(tài)信息的集合。軟硬件信息標(biāo)志著集群運(yùn)行狀態(tài)的好壞,在本申請中擁有兩個基本的功能實(shí)現(xiàn):

一是幫助調(diào)度器探查資源池中各節(jié)點(diǎn)的任務(wù)執(zhí)行狀態(tài),對計算集群當(dāng)前的處理能力進(jìn)行評估;

二是探查已經(jīng)下發(fā)的策略對集群狀態(tài)性能的影響,實(shí)現(xiàn)策略和狀態(tài)變化間的正反饋,進(jìn)而幫助策略生成模塊優(yōu)化未來的調(diào)度策略。

采集、分析計算集群中的服務(wù)器的歷史運(yùn)行狀態(tài)、服務(wù)器上運(yùn)行的任務(wù)的歷史運(yùn)行狀態(tài),可以是負(fù)責(zé)對已經(jīng)調(diào)度完成的任務(wù)進(jìn)行統(tǒng)計分析,得到任務(wù)畫像,其基本信息包括:哪些輸入數(shù)據(jù)為訪問熱點(diǎn)、不同任務(wù)的執(zhí)行頻次、執(zhí)行時間分布、與集群狀態(tài)變化的關(guān)聯(lián)等。

4.3任務(wù)類型感知模塊

負(fù)責(zé)結(jié)合多源信息,對任務(wù)類優(yōu)先級進(jìn)行評估。輸入為任務(wù)描述,輸出為任務(wù)優(yōu)先級標(biāo)識,如1,2,3。

任務(wù)類型感知模塊中,可以用到兩種信息來源,即租戶身份和任務(wù)類型信息。前者包括租戶的角色/分組、服務(wù)保證等級(sla)、租戶使用的服務(wù)器地址等相關(guān)信息,后者包括發(fā)出任務(wù)的業(yè)務(wù)類型(如批處理還是交互查詢)、任務(wù)資源消耗、任務(wù)提交時間、預(yù)計執(zhí)行時間等。

任務(wù)感知模塊綜合這兩類信息,對任務(wù)的優(yōu)先級進(jìn)行評定,并將評定結(jié)果傳遞給策略生成模塊。例如,判斷租戶的服務(wù)保證等級,服務(wù)等級高的則優(yōu)先調(diào)度。

4.4策略生成模塊

策略生成模塊是調(diào)度器的核心模塊,通過綜合集群負(fù)載和任務(wù)類型信息,輸出新任務(wù)的調(diào)度策略。

調(diào)度策略通過實(shí)現(xiàn)一組規(guī)則動態(tài)生成,包括:

1)判斷集群負(fù)載是否滿足當(dāng)前任務(wù)的運(yùn)行,如果滿足則優(yōu)先調(diào)度,同時,判斷租戶的資源控制,資源使用低于預(yù)分配資源的則優(yōu)先調(diào)度,即步驟s1,根據(jù)計算集群中所有服務(wù)器的當(dāng)前占用總資源量,確定所述計算集群中各服務(wù)器的當(dāng)前的剩余總資源量配額,步驟s2,根據(jù)所述計算集群中各服務(wù)器上各用戶當(dāng)前運(yùn)行的任務(wù)數(shù)量,確定各用戶當(dāng)前的剩余任務(wù)數(shù)量配額,步驟s3,從新接收的任務(wù)中篩選出數(shù)量小于或等于各用戶當(dāng)前的剩余任務(wù)數(shù)量配額的任務(wù);

2)按照4.3中生成的任務(wù)優(yōu)先級將待調(diào)度的任務(wù)進(jìn)行排序,優(yōu)先級高的先進(jìn)行調(diào)度,即步驟s4,按任務(wù)類型對所述篩選出的任務(wù)進(jìn)行任務(wù)優(yōu)先級排序;

3)對生成的任務(wù)策略傳遞給轉(zhuǎn)發(fā)適配到調(diào)度資源池上,實(shí)現(xiàn)任務(wù)需求和資源的關(guān)聯(lián),即步驟s5,按所屬的用戶將所述任務(wù)優(yōu)先級排序后的任務(wù)分配到資源池中對應(yīng)的用戶的節(jié)點(diǎn)上,所述資源池中的節(jié)點(diǎn)對應(yīng)于所述計算集群中的服務(wù)器。

4.5調(diào)度器資源池結(jié)構(gòu)

資源池采用樹形數(shù)據(jù)結(jié)構(gòu)進(jìn)行存儲,如圖2所示的3級樹結(jié)構(gòu)中,總的資源池由樹的根節(jié)點(diǎn)標(biāo)識,即root。其包含兩個子節(jié)點(diǎn)n1和n2,同時n2也包含兩個子節(jié)點(diǎn)。該結(jié)構(gòu)中,葉子節(jié)點(diǎn)為任務(wù)的提交節(jié)點(diǎn),即n1,n21,n22,也就是提交的任務(wù)被關(guān)聯(lián)到這些節(jié)點(diǎn)上。

每個節(jié)點(diǎn)上的資源指標(biāo)包括:cpu、內(nèi)存資源、權(quán)重、保留資源量、最大資源量等。其中,保留資源量是該節(jié)點(diǎn)專屬的資源量,每個節(jié)點(diǎn)的最大資源量大于該節(jié)點(diǎn)的保留資源量。

節(jié)點(diǎn)之間滿足以下約束:

子節(jié)點(diǎn)只能使用父節(jié)點(diǎn)的最大資源量;如圖2所示,節(jié)點(diǎn)n2為節(jié)點(diǎn)n21和n22的父節(jié)點(diǎn),根節(jié)點(diǎn)root為節(jié)點(diǎn)n1和n2的父節(jié)點(diǎn),如父節(jié)點(diǎn)n2的最大資源量為60,那么節(jié)點(diǎn)n21和n22只能共同使用60的最大資源量;

同級兄弟節(jié)點(diǎn)(如n1和n2)使用的資源量總和不超過父節(jié)點(diǎn)最大資源量;如圖2所示,節(jié)點(diǎn)n21和n22使用的資源量總和不超過父節(jié)點(diǎn)的最大資源量60;

同級兄弟節(jié)點(diǎn)直接可以相互借用超過兄弟節(jié)點(diǎn)的各自最大資源量的父節(jié)點(diǎn)的最大資源量的剩余資源量。如圖3所示,節(jié)點(diǎn)n3為節(jié)點(diǎn)n31、n32和n33的父節(jié)點(diǎn),節(jié)點(diǎn)n3的最大資源量為100,節(jié)點(diǎn)n31使用了其自己的最大資源量30,節(jié)點(diǎn)n32使用了其自己的最大資源量40,那么節(jié)點(diǎn)n33可以使用父節(jié)點(diǎn)n3的最大資源量的剩余資源量100-30-40=30。

同時在資源池上,對租戶優(yōu)先級越高的權(quán)限進(jìn)行了控制,具體規(guī)則如下:

對于每個租戶,僅能夠使用資源池中的一部分或全部資源,如租戶a使用n21的所有資源、并和租戶b、c共享n22的資源。

不同租戶可以共享一部分或全部資源,如租戶b、c共享相同的資源。

4.6策略應(yīng)用模塊

策略應(yīng)用模塊根據(jù)4.4的策略規(guī)則和4.5的資源池結(jié)構(gòu),對新任務(wù)進(jìn)行調(diào)度,并提交計算集群中對應(yīng)的服務(wù)器進(jìn)行執(zhí)行。

這里的策略應(yīng)用模塊包括執(zhí)行以下主要步驟:

步驟s3,從新接收的任務(wù)中篩選出數(shù)量小于或等于各用戶當(dāng)前的剩余任務(wù)數(shù)量配額的任務(wù),其中,所述篩選出的所有任務(wù)的需求總資源量小于或等于所述當(dāng)前的剩余總資源量配額,如篩選出滿足條件的任務(wù),則進(jìn)入下一步,不滿足則等待;

步驟s4,獲取所述篩選出的任務(wù)的任務(wù)類型,按任務(wù)類型對所述篩選出的任務(wù)進(jìn)行任務(wù)優(yōu)先級排序;

步驟s5,按所屬的用戶將所述任務(wù)優(yōu)先級排序后的任務(wù)分配到資源池中對應(yīng)的用戶的節(jié)點(diǎn)上,所述資源池中的節(jié)點(diǎn)對應(yīng)于所述計算集群中的服務(wù)器;在此,這里的用戶可以是租戶,將每個租戶的任務(wù)分配到資源池中該租戶擁有的節(jié)點(diǎn)上,如租戶a提交的任務(wù)被分配到n2和n21;

步驟s6-1,根據(jù)每個節(jié)點(diǎn)上的分配的任務(wù)的需求資源量和每個節(jié)點(diǎn)上的資源指標(biāo)對所有節(jié)點(diǎn)進(jìn)行節(jié)點(diǎn)優(yōu)先級一次排序;在此,如圖2所示,可以從root節(jié)點(diǎn)出發(fā),根據(jù)每個節(jié)點(diǎn)上的分配的任務(wù)的需求資源量和每個節(jié)點(diǎn)上的資源指標(biāo)對節(jié)點(diǎn)進(jìn)行遞歸排序,排序越靠前則優(yōu)先級越高;

步驟s6-2,對步驟s6-1中的結(jié)果按照租戶sla等級對所有節(jié)點(diǎn)進(jìn)行節(jié)點(diǎn)優(yōu)先級二次排序,在同一節(jié)點(diǎn)內(nèi)的任務(wù),保持步驟s4的任務(wù)優(yōu)先級的排序結(jié)果;

步驟s7,按所述節(jié)點(diǎn)優(yōu)先級排序調(diào)度對應(yīng)的服務(wù)器執(zhí)行所述節(jié)點(diǎn)上分配的任務(wù),其中,同一節(jié)點(diǎn)上的任務(wù)按所述任務(wù)優(yōu)先級調(diào)度;

步驟s8,更新計算集群中對應(yīng)服務(wù)器的當(dāng)前占用總資源量和各用戶當(dāng)前運(yùn)行的任務(wù)數(shù),在此,可以根據(jù)任務(wù)進(jìn)度對應(yīng)更新調(diào)度資源池狀態(tài);

步驟s9,如果調(diào)度器通過步驟s1,根據(jù)計算集群中所有服務(wù)器的當(dāng)前占用總資源量,確定所述計算集群中各服務(wù)器的當(dāng)前的剩余總資源量配額,和步驟s2,根據(jù)所述計算集群中各服務(wù)器上各用戶當(dāng)前運(yùn)行的任務(wù)數(shù)量,確定各用戶當(dāng)前的剩余任務(wù)數(shù)量配額,監(jiān)測到計算集群中的服務(wù)器有空閑資源釋放,則返回s3進(jìn)入下一輪調(diào)度。

根據(jù)本申請的另一面,還提供一種計算集群中多用戶的任務(wù)調(diào)度設(shè)備,該設(shè)備包括:

集群負(fù)載感知模塊,用于根據(jù)計算集群中所有服務(wù)器的當(dāng)前占用總資源量,確定所述計算集群中各服務(wù)器的當(dāng)前的剩余總資源量配額;及根據(jù)所述計算集群中各服務(wù)器上各用戶當(dāng)前運(yùn)行的任務(wù)數(shù)量,確定各用戶當(dāng)前的剩余任務(wù)數(shù)量配額;

策略應(yīng)用模塊,用于從新接收的任務(wù)中篩選出數(shù)量小于或等于各用戶當(dāng)前的剩余任務(wù)數(shù)量配額的任務(wù),其中,所述篩選出的所有任務(wù)的需求總資源量小于或等于所述當(dāng)前的剩余總資源量配額,按所屬的用戶將由所述任務(wù)類型感知模塊任務(wù)優(yōu)先級排序后的任務(wù)分配到資源池中對應(yīng)的用戶的節(jié)點(diǎn)上,所述資源池中的節(jié)點(diǎn)對應(yīng)于所述計算集群中的服務(wù)器;根據(jù)每個節(jié)點(diǎn)上的分配的任務(wù)的需求資源量和每個節(jié)點(diǎn)上的資源指標(biāo)對所有節(jié)點(diǎn)進(jìn)行節(jié)點(diǎn)優(yōu)先級排序;按所述節(jié)點(diǎn)優(yōu)先級排序調(diào)度對應(yīng)的服務(wù)器執(zhí)行所述節(jié)點(diǎn)上分配的任務(wù),其中,同一節(jié)點(diǎn)上的任務(wù)按所述任務(wù)優(yōu)先級調(diào)度;通知所述集群負(fù)載感知模塊更新計算集群中對應(yīng)服務(wù)器的當(dāng)前占用總資源量和各用戶當(dāng)前運(yùn)行的任務(wù)數(shù);

任務(wù)類型感知模塊,用于獲取所述篩選出的任務(wù)的任務(wù)類型,按任務(wù)類型對所述篩選出的任務(wù)進(jìn)行任務(wù)優(yōu)先級排序;

本申請一實(shí)施例的計算集群中多用戶的任務(wù)調(diào)度設(shè)備中,每個節(jié)點(diǎn)上的資源指標(biāo)包括:cpu資源量、內(nèi)存資源量、權(quán)重、保留資源量和最大資源量。

本申請一實(shí)施例的計算集群中多用戶的任務(wù)調(diào)度設(shè)備中,所述策略應(yīng)用模塊,用于若某個節(jié)點(diǎn)上的分配的任務(wù)的需求資源量小于該節(jié)點(diǎn)上的保留資源量,則將該節(jié)點(diǎn)的節(jié)點(diǎn)優(yōu)先級設(shè)置得較高;若某個節(jié)點(diǎn)上的分配的任務(wù)的需求資源量超過該節(jié)點(diǎn)上的保留資源量且小于該節(jié)點(diǎn)的最大資源量,則按該節(jié)點(diǎn)的權(quán)重設(shè)置該節(jié)點(diǎn)的節(jié)點(diǎn)優(yōu)先級高低。

本申請一實(shí)施例的計算集群中多用戶的任務(wù)調(diào)度設(shè)備中,所述資源池中的節(jié)點(diǎn)組成樹形結(jié)構(gòu),其中,節(jié)點(diǎn)之間滿足以下約束:

子節(jié)點(diǎn)只使用父節(jié)點(diǎn)的最大資源量;

同級兄弟節(jié)點(diǎn)使用的資源量總和不超過父節(jié)點(diǎn)最大資源量;

同級兄弟節(jié)點(diǎn)相互借用超過同級兄弟節(jié)點(diǎn)的最大資源量的父節(jié)點(diǎn)的最大資源量的剩余資源量。

本申請一實(shí)施例的計算集群中多用戶的任務(wù)調(diào)度設(shè)備中,所述策略應(yīng)用模塊,用于當(dāng)所述資源池中的節(jié)點(diǎn)組成樹形結(jié)構(gòu)時,按所屬的用戶將所述任務(wù)優(yōu)先級排序后的任務(wù)分配到資源池中對應(yīng)的用戶的葉子節(jié)點(diǎn)上。

本申請一實(shí)施例的計算集群中多用戶的任務(wù)調(diào)度設(shè)備中,所述策略應(yīng)用模塊,用于根據(jù)同一用戶下的每個葉子節(jié)點(diǎn)的當(dāng)前占用資源量額和/或當(dāng)前任務(wù)數(shù)量,將同一用戶的任務(wù)均衡分配到同一用戶下各個葉子節(jié)點(diǎn)上。

本申請一實(shí)施例的計算集群中多用戶的任務(wù)調(diào)度設(shè)備中,所述策略應(yīng)用模塊,用于當(dāng)所述資源池中的節(jié)點(diǎn)組成樹形結(jié)構(gòu)時,對樹形結(jié)構(gòu)中的葉子節(jié)點(diǎn)的父節(jié)點(diǎn)即樹形結(jié)構(gòu)的倒數(shù)第二層節(jié)點(diǎn)進(jìn)行優(yōu)先級排序,其中,根據(jù)所有葉子節(jié)點(diǎn)的上層節(jié)點(diǎn)上分配的任務(wù)的需求資源量和資源指標(biāo)對倒數(shù)第二層節(jié)點(diǎn)進(jìn)行優(yōu)先級排序,樹形結(jié)構(gòu)中除葉子節(jié)點(diǎn)外的每一上層節(jié)點(diǎn)上分配的任務(wù)的需求資源量為其下層節(jié)點(diǎn)上的分配的任務(wù)的需求資源量之和;根據(jù)葉子節(jié)點(diǎn)上分配的任務(wù)的需求資源量和資源指標(biāo)分別對每個倒數(shù)第二層節(jié)點(diǎn)下的葉子節(jié)點(diǎn)進(jìn)行優(yōu)先級排序;根據(jù)所述倒數(shù)第二層節(jié)點(diǎn)和葉子節(jié)點(diǎn)的優(yōu)先級排序,得到所有葉子節(jié)點(diǎn)的優(yōu)先級排序。

本申請一實(shí)施例的計算集群中多用戶的任務(wù)調(diào)度設(shè)備中,所述策略應(yīng)用模塊,用于根據(jù)每個節(jié)點(diǎn)上的分配的任務(wù)的需求資源量和每個節(jié)點(diǎn)上的資源指標(biāo)對所有節(jié)點(diǎn)進(jìn)行節(jié)點(diǎn)優(yōu)先級一次排序;

在所述節(jié)點(diǎn)優(yōu)先級一次排序的基礎(chǔ)上,按照用戶的等級對所有節(jié)點(diǎn)進(jìn)行節(jié)點(diǎn)優(yōu)先級二次排序,在同一節(jié)點(diǎn)內(nèi)的任務(wù),保持所述任務(wù)優(yōu)先級的排序結(jié)果。

本申請一實(shí)施例的計算集群中多用戶的任務(wù)調(diào)度設(shè)備中,所述策略應(yīng)用模塊,用于對樹形結(jié)構(gòu)中的葉子節(jié)點(diǎn)的父節(jié)點(diǎn)即樹形結(jié)構(gòu)的倒數(shù)第二層節(jié)點(diǎn)進(jìn)行優(yōu)先級排序,其中,根據(jù)所有葉子節(jié)點(diǎn)的上層節(jié)點(diǎn)上分配的任務(wù)的需求資源量和資源指標(biāo)對倒數(shù)第二層節(jié)點(diǎn)進(jìn)行優(yōu)先級排序,其中,樹形結(jié)構(gòu)中除葉子節(jié)點(diǎn)外的每一上層節(jié)點(diǎn)上分配的任務(wù)的需求資源量為其下層節(jié)點(diǎn)上的分配的任務(wù)的需求資源量之和;根據(jù)葉子節(jié)點(diǎn)上分配的任務(wù)的需求資源量和資源指標(biāo)分別對每個倒數(shù)第二層節(jié)點(diǎn)下的葉子節(jié)點(diǎn)進(jìn)行優(yōu)先級排序;根據(jù)所述倒數(shù)第二層節(jié)點(diǎn)和葉子節(jié)點(diǎn)的優(yōu)先級排序,得到所有葉子節(jié)點(diǎn)的優(yōu)先級一次排序;在所有葉子節(jié)點(diǎn)的優(yōu)先級一次排序的基礎(chǔ)上,按照葉子節(jié)點(diǎn)所屬的用戶的等級進(jìn)行所有葉子節(jié)點(diǎn)的優(yōu)先級二次排序,在同一葉子節(jié)點(diǎn)內(nèi)的任務(wù),保持所述任務(wù)優(yōu)先級的排序結(jié)果。

本申請一實(shí)施例的計算集群中多用戶的任務(wù)調(diào)度設(shè)備中,所述策略應(yīng)用模塊,用于讓不同的用戶之間共享被分配到的節(jié)點(diǎn)上的一部分或全部資源。

本申請一實(shí)施例的計算集群中多用戶的任務(wù)調(diào)度設(shè)備中,所述任務(wù)類型感知模塊獲取的所述任務(wù)類型包括:用戶身份和任務(wù)類型信息,其中,用戶身份信息包括用戶的角色和/或分組、服務(wù)保證等級、用戶使用的服務(wù)器地址。

本申請一實(shí)施例的計算集群中多用戶的任務(wù)調(diào)度設(shè)備中,所述集群負(fù)載感知模塊,用于獲取計算集群中的服務(wù)器的當(dāng)前運(yùn)行狀態(tài)和歷史運(yùn)行狀態(tài)、服務(wù)器上運(yùn)行的任務(wù)的當(dāng)前運(yùn)行狀態(tài)和歷史運(yùn)行狀態(tài);

所述任務(wù)類型感知模塊,用于按任務(wù)類型、計算集群中的服務(wù)器的當(dāng)前運(yùn)行狀態(tài)和歷史運(yùn)行狀態(tài)、服務(wù)器上運(yùn)行的任務(wù)的當(dāng)前運(yùn)行狀態(tài)和歷史運(yùn)行狀態(tài),對所述篩選出的任務(wù)進(jìn)行任務(wù)優(yōu)先級排序。

根據(jù)本申請的另一面,還提供一種基于計算的設(shè)備,包括:

處理器;以及

被安排成存儲計算機(jī)可執(zhí)行指令的存儲器,所述可執(zhí)行指令在被執(zhí)行時使所述處理器:

根據(jù)計算集群中所有服務(wù)器的當(dāng)前占用總資源量,確定所述計算集群中各服務(wù)器的當(dāng)前的剩余總資源量配額;

根據(jù)所述計算集群中各服務(wù)器上各用戶當(dāng)前運(yùn)行的任務(wù)數(shù)量,確定各用戶當(dāng)前的剩余任務(wù)數(shù)量配額;

從新接收的任務(wù)中篩選出數(shù)量小于或等于各用戶當(dāng)前的剩余任務(wù)數(shù)量配額的任務(wù),其中,所述篩選出的所有任務(wù)的需求總資源量小于或等于所述當(dāng)前的剩余總資源量配額;

獲取所述篩選出的任務(wù)的任務(wù)類型,按任務(wù)類型對所述篩選出的任務(wù)進(jìn)行任務(wù)優(yōu)先級排序;

按所屬的用戶將所述任務(wù)優(yōu)先級排序后的任務(wù)分配到資源池中對應(yīng)的用戶的節(jié)點(diǎn)上,所述資源池中的節(jié)點(diǎn)對應(yīng)于所述計算集群中的服務(wù)器;

根據(jù)每個節(jié)點(diǎn)上的分配的任務(wù)的需求資源量和每個節(jié)點(diǎn)上的資源指標(biāo)對所有節(jié)點(diǎn)進(jìn)行節(jié)點(diǎn)優(yōu)先級排序;

按所述節(jié)點(diǎn)優(yōu)先級排序調(diào)度對應(yīng)的服務(wù)器執(zhí)行所述節(jié)點(diǎn)上分配的任務(wù),其中,同一節(jié)點(diǎn)上的任務(wù)按所述任務(wù)優(yōu)先級調(diào)度;

更新計算集群中對應(yīng)服務(wù)器的當(dāng)前占用總資源量和各用戶當(dāng)前運(yùn)行的任務(wù)數(shù)。

根據(jù)本申請的另一面,還提供一種計算機(jī)可讀存儲介質(zhì),其上存儲有計算機(jī)可執(zhí)行指令,該計算機(jī)可執(zhí)行指令被處理器執(zhí)行時使得該處理器:

根據(jù)計算集群中所有服務(wù)器的當(dāng)前占用總資源量,確定所述計算集群中各服務(wù)器的當(dāng)前的剩余總資源量配額;

根據(jù)所述計算集群中各服務(wù)器上各用戶當(dāng)前運(yùn)行的任務(wù)數(shù)量,確定各用戶當(dāng)前的剩余任務(wù)數(shù)量配額;

從新接收的任務(wù)中篩選出數(shù)量小于或等于各用戶當(dāng)前的剩余任務(wù)數(shù)量配額的任務(wù),其中,所述篩選出的所有任務(wù)的需求總資源量小于或等于所述當(dāng)前的剩余總資源量配額;

獲取所述篩選出的任務(wù)的任務(wù)類型,按任務(wù)類型對所述篩選出的任務(wù)進(jìn)行任務(wù)優(yōu)先級排序;

按所屬的用戶將所述任務(wù)優(yōu)先級排序后的任務(wù)分配到資源池中對應(yīng)的用戶的節(jié)點(diǎn)上,所述資源池中的節(jié)點(diǎn)對應(yīng)于所述計算集群中的服務(wù)器;

根據(jù)每個節(jié)點(diǎn)上的分配的任務(wù)的需求資源量和每個節(jié)點(diǎn)上的資源指標(biāo)對所有節(jié)點(diǎn)進(jìn)行節(jié)點(diǎn)優(yōu)先級排序;

按所述節(jié)點(diǎn)優(yōu)先級排序調(diào)度對應(yīng)的服務(wù)器執(zhí)行所述節(jié)點(diǎn)上分配的任務(wù),其中,同一節(jié)點(diǎn)上的任務(wù)按所述任務(wù)優(yōu)先級調(diào)度;

更新計算集群中對應(yīng)服務(wù)器的當(dāng)前占用總資源量和各用戶當(dāng)前運(yùn)行的任務(wù)數(shù)。

上述設(shè)備的各實(shí)施例的詳細(xì)內(nèi)容具體可參見各方法實(shí)施例的對應(yīng)部分,在此,不再贅述。

綜上所述,本申請通過根據(jù)計算集群中所有服務(wù)器的當(dāng)前占用總資源量,確定所述計算集群中各服務(wù)器的當(dāng)前的剩余總資源量配額,根據(jù)所述計算集群中各服務(wù)器上各用戶當(dāng)前運(yùn)行的任務(wù)數(shù)量,確定各用戶當(dāng)前的剩余任務(wù)數(shù)量配額,能夠?qū)Ξ?dāng)前集群負(fù)載主動感知,通過從新接收的任務(wù)中篩選出數(shù)量小于或等于各用戶當(dāng)前的剩余任務(wù)數(shù)量配額的任務(wù),按所屬的用戶將所述任務(wù)優(yōu)先級排序后的任務(wù)分配到資源池中對應(yīng)的用戶的節(jié)點(diǎn)上,并對所有節(jié)點(diǎn)進(jìn)行節(jié)點(diǎn)優(yōu)先級排序,無需預(yù)先為任務(wù)指定固定的資源池,調(diào)度策略無需隨著調(diào)度器的配置而固定下來,調(diào)度策略能夠動態(tài)的生成,實(shí)現(xiàn)計算集群的計算資源靈活、動態(tài)分配,實(shí)現(xiàn)更加細(xì)粒度的資源分配和任務(wù)調(diào)度。

另外,本申請通過獲取所述篩選出的任務(wù)的任務(wù)類型,能夠?qū)Ξ?dāng)前任務(wù)類型的主動感知,通過按任務(wù)類型對所述篩選出的任務(wù)進(jìn)行任務(wù)優(yōu)先級排序,能夠滿足不同類型任務(wù)(如交互式和批處理任務(wù))的響應(yīng)需求,在保證計算集群的計算資源被充分使用的前提下,實(shí)現(xiàn)不同類型的任務(wù)在合理時間內(nèi)完成,同時提高使用者的體驗(yàn)。

顯然,本領(lǐng)域的技術(shù)人員可以對本申請進(jìn)行各種改動和變型而不脫離本申請的精神和范圍。這樣,倘若本申請的這些修改和變型屬于本申請權(quán)利要求及其等同技術(shù)的范圍之內(nèi),則本申請也意圖包含這些改動和變型在內(nèi)。

需要注意的是,本申請可在軟件和/或軟件與硬件的組合體中被實(shí)施,例如,可采用專用集成電路(asic)、通用目的計算機(jī)或任何其他類似硬件設(shè)備來實(shí)現(xiàn)。在一個實(shí)施例中,本申請的軟件程序可以通過處理器執(zhí)行以實(shí)現(xiàn)上文所述步驟或功能。同樣地,本申請的軟件程序(包括相關(guān)的數(shù)據(jù)結(jié)構(gòu))可以被存儲到計算機(jī)可讀記錄介質(zhì)中,例如,ram存儲器,磁或光驅(qū)動器或軟磁盤及類似設(shè)備。另外,本申請的一些步驟或功能可采用硬件來實(shí)現(xiàn),例如,作為與處理器配合從而執(zhí)行各個步驟或功能的電路。

另外,本申請的一部分可被應(yīng)用為計算機(jī)程序產(chǎn)品,例如計算機(jī)程序指令,當(dāng)其被計算機(jī)執(zhí)行時,通過該計算機(jī)的操作,可以調(diào)用或提供根據(jù)本申請的方法和/或技術(shù)方案。而調(diào)用本申請的方法的程序指令,可能被存儲在固定的或可移動的記錄介質(zhì)中,和/或通過廣播或其他信號承載媒體中的數(shù)據(jù)流而被傳輸,和/或被存儲在根據(jù)所述程序指令運(yùn)行的計算機(jī)設(shè)備的工作存儲器中。在此,根據(jù)本申請的一個實(shí)施例包括一個裝置,該裝置包括用于存儲計算機(jī)程序指令的存儲器和用于執(zhí)行程序指令的處理器,其中,當(dāng)該計算機(jī)程序指令被該處理器執(zhí)行時,觸發(fā)該裝置運(yùn)行基于前述根據(jù)本申請的多個實(shí)施例的方法和/或技術(shù)方案。

對于本領(lǐng)域技術(shù)人員而言,顯然本申請不限于上述示范性實(shí)施例的細(xì)節(jié),而且在不背離本申請的精神或基本特征的情況下,能夠以其他的具體形式實(shí)現(xiàn)本申請。因此,無論從哪一點(diǎn)來看,均應(yīng)將實(shí)施例看作是示范性的,而且是非限制性的,本申請的范圍由所附權(quán)利要求而不是上述說明限定,因此旨在將落在權(quán)利要求的等同要件的含義和范圍內(nèi)的所有變化涵括在本申請內(nèi)。不應(yīng)將權(quán)利要求中的任何附圖標(biāo)記視為限制所涉及的權(quán)利要求。此外,顯然“包括”一詞不排除其他單元或步驟,單數(shù)不排除復(fù)數(shù)。裝置權(quán)利要求中陳述的多個單元或裝置也可以由一個單元或裝置通過軟件或者硬件來實(shí)現(xiàn)。第一,第二等詞語用來表示名稱,而并不表示任何特定的順序。

當(dāng)前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1