欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種節(jié)點(diǎn)集群中任務(wù)分配的方法、節(jié)點(diǎn)和系統(tǒng)與流程

文檔序號(hào):11388949閱讀:431來(lái)源:國(guó)知局
一種節(jié)點(diǎn)集群中任務(wù)分配的方法、節(jié)點(diǎn)和系統(tǒng)與流程

本發(fā)明涉及深度學(xué)習(xí)技術(shù)領(lǐng)域,具體而言,涉及一種節(jié)點(diǎn)集群中任務(wù)分配的方法、節(jié)點(diǎn)和系統(tǒng)。



背景技術(shù):

近年來(lái),深度學(xué)習(xí)在語(yǔ)音識(shí)別、圖像識(shí)別、自然語(yǔ)言處理等應(yīng)用中取得了顯著的成效;在安防行業(yè),深度學(xué)習(xí)已經(jīng)開(kāi)始大規(guī)模實(shí)施,已經(jīng)有很多安防企業(yè)開(kāi)始投入資源開(kāi)發(fā)基于深度學(xué)習(xí)技術(shù)的任務(wù)、產(chǎn)品;可見(jiàn),深度學(xué)習(xí)正影響著安防企業(yè),影響著智能視頻分析技術(shù);尤其是體現(xiàn)在人臉識(shí)別應(yīng)用和車(chē)輛特征識(shí)別應(yīng)用等方面。

深度學(xué)習(xí)帶來(lái)了更高的識(shí)別率以及更多的視頻信息的同時(shí),也引入了任務(wù)計(jì)算量超大的問(wèn)題,傳統(tǒng)做法是采用cpu來(lái)完成計(jì)算量,但是在計(jì)算量過(guò)大時(shí),采用單核或者多核cpu的計(jì)算速度依然達(dá)不到使用要求;而且即便采用多核計(jì)算能夠滿足要求,但是卻帶來(lái)了多核cpu的成本更高和計(jì)算密度更低的缺陷;現(xiàn)有技術(shù)中,采用專用的gpu計(jì)算卡完成深度學(xué)習(xí)任務(wù),雖然使運(yùn)算速度得以提高,但是在使用過(guò)程中都是分別設(shè)有cpu節(jié)點(diǎn)集群或者gpu節(jié)點(diǎn)集群,在進(jìn)行任務(wù)執(zhí)行時(shí)則分別使用cpu節(jié)點(diǎn)集群或者gpu節(jié)點(diǎn)集群,進(jìn)而cpu節(jié)點(diǎn)集群和gpu節(jié)點(diǎn)集群是被分別進(jìn)行管理管理和使用的,二者相互獨(dú)立,無(wú)法進(jìn)行g(shù)pu節(jié)點(diǎn)集群加cpu節(jié)點(diǎn)集群混合計(jì)算,在進(jìn)行任務(wù)分配時(shí)集群中的cpu資源和gpu資源無(wú)法混合使用。



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

有鑒于此,本發(fā)明實(shí)施例的目的在于提供一種節(jié)點(diǎn)集群中任務(wù)分配的方法、節(jié)點(diǎn)和系統(tǒng),以達(dá)到cpu節(jié)點(diǎn)集群和gpu節(jié)點(diǎn)集群的統(tǒng)一管理和混合使用的目的。

第一方面,本發(fā)明實(shí)施例提供了一種節(jié)點(diǎn)集群中任務(wù)分配的方法,所述節(jié)點(diǎn)集群包括多個(gè)計(jì)算節(jié)點(diǎn),所述多個(gè)計(jì)算節(jié)點(diǎn)包括圖形處理器gpu節(jié)點(diǎn)和中央處理器cpu節(jié)點(diǎn),多個(gè)所述gpu節(jié)點(diǎn)組成gpu節(jié)點(diǎn)集群,多個(gè)所述cpu節(jié)點(diǎn)組成cpu節(jié)點(diǎn)集群,所述cpu節(jié)點(diǎn)集群和所述gpu節(jié)點(diǎn)集群統(tǒng)一被中心節(jié)點(diǎn)管理,所述方法包括:

中心節(jié)點(diǎn)接收用戶請(qǐng)求,所述用戶請(qǐng)求攜帶有待執(zhí)行的任務(wù)和用戶自定義參數(shù);

所述中心節(jié)點(diǎn)控制任一計(jì)算節(jié)點(diǎn)確定執(zhí)行所述任務(wù)所需要的服務(wù)器資源類(lèi)型和資源大?。?/p>

所述中心節(jié)點(diǎn)根據(jù)所述任務(wù)所需要的服務(wù)器資源類(lèi)型和資源大小以及當(dāng)前計(jì)算節(jié)點(diǎn)的狀態(tài)信息將所述任務(wù)分配到相應(yīng)的計(jì)算節(jié)點(diǎn)。

結(jié)合第一方面,本發(fā)明實(shí)施例提供了第一方面的第一種可能的實(shí)施方式,其中:

所述中心節(jié)點(diǎn)控制任一計(jì)算節(jié)點(diǎn)確定執(zhí)行所述任務(wù)所需要的服務(wù)器資源類(lèi)型和資源大小,包括:

根據(jù)所述用戶自定義參數(shù)對(duì)所述任務(wù)進(jìn)行分解成多個(gè)子任務(wù);

判斷所述子任務(wù)是否必須使用gpu資源,生成標(biāo)記信息;

計(jì)算執(zhí)行每個(gè)所述子任務(wù)所需的cpu資源和/或gpu資源所要滿足的資源條件,生成資源條件信息;

所述中心節(jié)點(diǎn)根據(jù)所述標(biāo)記信息、資源條件信息和當(dāng)前每個(gè)計(jì)算節(jié)點(diǎn)的狀態(tài)信息,將所述子任務(wù)分配至相應(yīng)的計(jì)算節(jié)點(diǎn)。

結(jié)合第一方面或者第一方面的第一種可能的實(shí)施方式,本發(fā)明實(shí)施例提供了第一方面的第二種可能的實(shí)施方式,其中:

所述狀態(tài)信息包括:cpu使用率和/或gpu使用率。

結(jié)合第一方面的第一種可能的實(shí)施方式,本發(fā)明實(shí)施例提供了第一方面的第三種可能的實(shí)施方式,其中:

所述中心節(jié)點(diǎn)根據(jù)所述標(biāo)記信息、資源條件信息和當(dāng)前每個(gè)計(jì)算節(jié)點(diǎn)的狀態(tài)信息,將所述子任務(wù)分配至相應(yīng)的計(jì)算節(jié)點(diǎn),包括:

如果所述子任務(wù)需要gpu資源,所述中心節(jié)點(diǎn)則優(yōu)先將所述子任務(wù)分配在滿足資源條件的gpu節(jié)點(diǎn)集群中g(shù)pu負(fù)載最低的計(jì)算節(jié)點(diǎn);

如果所述子任務(wù)不需要gpu資源,所述中心節(jié)點(diǎn)優(yōu)先將所述子任務(wù)分配至在滿足資源條件的cpu節(jié)點(diǎn)集群中cpu負(fù)載最低的計(jì)算節(jié)點(diǎn)。

結(jié)合第一方面的第一種可能的實(shí)施方式,本發(fā)明實(shí)施例提供了第一方面的第四種可能的實(shí)施方式,其中:

所述中心節(jié)點(diǎn)根據(jù)所述標(biāo)記信息、資源條件信息和當(dāng)前每個(gè)計(jì)算節(jié)點(diǎn)的狀態(tài)信息,將所述子任務(wù)分配至相應(yīng)的計(jì)算節(jié)點(diǎn),還包括:

如果所述子任務(wù)需要gpu資源,但不是必須使用gpu資源,在gpu節(jié)點(diǎn)集群中沒(méi)有滿足gpu資源條件的計(jì)算節(jié)點(diǎn)時(shí),所述中心節(jié)點(diǎn)將所述子任務(wù)分配至gpu節(jié)點(diǎn)集群中滿足cpu資源條件的計(jì)算節(jié)點(diǎn);如果所述gpu節(jié)點(diǎn)集群沒(méi)有滿足所述cpu資源條件的計(jì)算節(jié)點(diǎn),所述中心節(jié)點(diǎn)將所述子任務(wù)分配至cpu節(jié)點(diǎn)集群中滿足cpu資源條件的計(jì)算節(jié)點(diǎn);

如果所述子任務(wù)不需要gpu資源,且cpu節(jié)點(diǎn)集群中沒(méi)有滿足cpu資源條件的計(jì)算節(jié)點(diǎn),所述中心節(jié)點(diǎn)將所述子任務(wù)分配至gpu節(jié)點(diǎn)集群中滿足cpu資源要求的計(jì)算節(jié)點(diǎn)。

結(jié)合第一方面的第一種可能的實(shí)施方式,本發(fā)明實(shí)施例提供了第一方面的第五種可能的實(shí)施方式,其中:

所述中心節(jié)點(diǎn)根據(jù)所述標(biāo)記信息、資源條件信息和當(dāng)前每個(gè)計(jì)算節(jié)點(diǎn)的狀態(tài)信息,將所述子任務(wù)分配至相應(yīng)的計(jì)算節(jié)點(diǎn),還包括:

如果所述子任務(wù)當(dāng)前沒(méi)有滿足資源條件的計(jì)算節(jié)點(diǎn),則使所述子任務(wù)處于等待狀態(tài),直到有滿足資源條件的計(jì)算節(jié)點(diǎn)出現(xiàn)時(shí)再為所述子任務(wù)分配節(jié)點(diǎn)。

結(jié)合第一方面的第一種可能的實(shí)施方式,本發(fā)明實(shí)施例提供了第一方面的第六種可能的實(shí)施方式,其中:

所述中心節(jié)點(diǎn)控制任一計(jì)算節(jié)點(diǎn)確定執(zhí)行所述任務(wù)所需要的服務(wù)器資源類(lèi)型和資源大小,還包括:

將所述用戶自定義參數(shù)拆分成每個(gè)子任務(wù)所對(duì)應(yīng)的具體參數(shù);

根據(jù)每個(gè)所述子任務(wù)所對(duì)應(yīng)的具體參數(shù)計(jì)算所述述子任務(wù)所需的cpu資源和/或gpu資源所要滿足的資源條件。

第二方面,本發(fā)明實(shí)施例提供了一種節(jié)點(diǎn),包括:

接收模塊,用于接收用戶請(qǐng)求,所述用戶請(qǐng)求攜帶有待執(zhí)行的任務(wù)和用戶自定義參數(shù);

確定模塊,用于控制任一計(jì)算節(jié)點(diǎn)確定執(zhí)行所述任務(wù)所需要的服務(wù)器資源類(lèi)型和資源大??;

分配模塊,用于根據(jù)所述任務(wù)所需要的服務(wù)器資源類(lèi)型和資源大小以及當(dāng)前計(jì)算節(jié)點(diǎn)的狀態(tài)信息將所述任務(wù)分配到相應(yīng)的計(jì)算節(jié)點(diǎn)。

結(jié)合第二方面,本發(fā)明實(shí)施例提供了第二方面的第一種可能的實(shí)施方式,其中:

所述確定模塊,還包括:

分解單元,用于根據(jù)所述用戶自定義參數(shù)對(duì)所述任務(wù)進(jìn)行分解成多個(gè)子任務(wù);

判斷單元,用于判斷所述子任務(wù)是否必須使用gpu資源,生成標(biāo)記信息;

計(jì)算單元計(jì)算執(zhí)行每個(gè)所述子任務(wù)所需的cpu資源和/或gpu資源所要滿足的資源條件,生成資源條件信息;

所述中心節(jié)點(diǎn)根據(jù)所述標(biāo)記信息、資源條件信息和當(dāng)前每個(gè)計(jì)算節(jié)點(diǎn)的狀態(tài)信息,將所述子任務(wù)分配至相應(yīng)的計(jì)算節(jié)點(diǎn)。

結(jié)合第二方面的第一種可能的實(shí)施方式,本發(fā)明實(shí)施例提供了第二方面的第二種可能的實(shí)施方式,其中:

所述分配模塊,用于:

如果所述子任務(wù)需要gpu資源,所述中心節(jié)點(diǎn)則優(yōu)先將所述子任務(wù)分配在滿足資源條件的gpu節(jié)點(diǎn)集群中g(shù)pu負(fù)載最低的計(jì)算節(jié)點(diǎn);

如果所述子任務(wù)不需要gpu資源,所述中心節(jié)點(diǎn)優(yōu)先將所述子任務(wù)分配至在滿足資源條件的cpu節(jié)點(diǎn)集群中cpu負(fù)載最低的計(jì)算節(jié)點(diǎn)。

結(jié)合第二方面的第一種可能的實(shí)施方式,本發(fā)明實(shí)施例提供了第二方面的第三種可能的實(shí)施方式,其中:

所述分配模塊,還用于:

如果所述子任務(wù)需要gpu資源,但不是必須使用gpu資源,在gpu節(jié)點(diǎn)集群中沒(méi)有滿足gpu資源條件的計(jì)算節(jié)點(diǎn)時(shí),將所述子任務(wù)分配至gpu節(jié)點(diǎn)集群中滿足cpu資源條件的計(jì)算節(jié)點(diǎn);如果所述gpu節(jié)點(diǎn)集群沒(méi)有滿足所述cpu資源條件的計(jì)算節(jié)點(diǎn),將所述子任務(wù)分配至cpu節(jié)點(diǎn)集群中滿足cpu資源條件的計(jì)算節(jié)點(diǎn);

如果所述子任務(wù)不需要gpu資源,且cpu節(jié)點(diǎn)集群中沒(méi)有滿足cpu資源條件的計(jì)算節(jié)點(diǎn),將所述子任務(wù)分配至gpu節(jié)點(diǎn)集群中滿足cpu資源要求的計(jì)算節(jié)點(diǎn)。

結(jié)合第二方面的第一種可能的實(shí)施方式,本發(fā)明實(shí)施例提供了第二方面的第四種可能的實(shí)施方式,其中:

所述確定模塊,還包括:

自定義參數(shù)拆分模塊,用于將所述用戶自定義參數(shù)拆分成每個(gè)子任務(wù)所對(duì)應(yīng)的具體參數(shù);

所述計(jì)算單元根據(jù)每個(gè)所述子任務(wù)所對(duì)應(yīng)的具體參數(shù)計(jì)算所述述子任務(wù)所需的cpu資源和/或gpu資源所要滿足的資源條件。

第三方面,本發(fā)明實(shí)施例還提供了一種節(jié)點(diǎn)集群中任務(wù)分配的系統(tǒng),包括:

中心節(jié)點(diǎn),所述中心節(jié)點(diǎn)為上述任一實(shí)施例中所述的節(jié)點(diǎn);

多個(gè)計(jì)算節(jié)點(diǎn),所述多個(gè)計(jì)算節(jié)點(diǎn)包括圖形處理器gpu節(jié)點(diǎn)和中央處理器cpu節(jié)點(diǎn),多個(gè)所述gpu節(jié)點(diǎn)組成gpu節(jié)點(diǎn)集群,多個(gè)所述cpu節(jié)點(diǎn)組成cpu節(jié)點(diǎn)集群,其中,所述gpu節(jié)點(diǎn)集群中的gpu節(jié)點(diǎn)是配有g(shù)pu計(jì)算卡的節(jié)點(diǎn),含有cpu資源;

所述計(jì)算節(jié)點(diǎn)和所述中心節(jié)點(diǎn)通過(guò)網(wǎng)絡(luò)連接。

本發(fā)明實(shí)施例提供的一種節(jié)點(diǎn)集群中任務(wù)分配的方法、節(jié)點(diǎn)和系統(tǒng),節(jié)點(diǎn)集群中包括多個(gè)計(jì)算節(jié)點(diǎn),該多個(gè)計(jì)算節(jié)點(diǎn)包括gpu節(jié)點(diǎn)和cpu節(jié)點(diǎn),多個(gè)gpu節(jié)點(diǎn)組成gpu節(jié)點(diǎn)集群,多個(gè)cpu節(jié)點(diǎn)組成cpu節(jié)點(diǎn)集群,在工作過(guò)程中,中心節(jié)點(diǎn)接收用戶請(qǐng)求,該用戶請(qǐng)求攜帶有用戶待執(zhí)行的任務(wù)和用戶自定義參數(shù),中心節(jié)點(diǎn)控制節(jié)點(diǎn)集群中的任一個(gè)節(jié)點(diǎn)確定執(zhí)行上述任務(wù)所需要的服務(wù)器資源類(lèi)型和大小,并根據(jù)執(zhí)行該任務(wù)所需要的服務(wù)器資源類(lèi)型和大小對(duì)該任務(wù)進(jìn)行分配相應(yīng)的計(jì)算節(jié)點(diǎn);本發(fā)明實(shí)施例所提供的方法能夠?qū)崿F(xiàn)cpu節(jié)點(diǎn)集群和gpu節(jié)點(diǎn)集群的統(tǒng)一管理和資源的混合使用。

為使本發(fā)明的上述目的、特征和優(yōu)點(diǎn)能更明顯易懂,下文特舉較佳實(shí)施例,并配合所附附圖,作詳細(xì)說(shuō)明如下。

附圖說(shuō)明

為了更清楚地說(shuō)明本發(fā)明實(shí)施例的技術(shù)方案,下面將對(duì)實(shí)施例中所需要使用的附圖作簡(jiǎn)單地介紹,應(yīng)當(dāng)理解,以下附圖僅示出了本發(fā)明的某些實(shí)施例,因此不應(yīng)被看作是對(duì)范圍的限定,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他相關(guān)的附圖。

圖1示出了本發(fā)明的一個(gè)實(shí)施例所提供的一種節(jié)點(diǎn)集群中任務(wù)分配的方法的流程示意圖;

圖2示出了本發(fā)明的一個(gè)實(shí)施例所提供的一種節(jié)點(diǎn)的結(jié)構(gòu)示意圖;

圖3示出了本發(fā)明實(shí)施例一所提供的一種節(jié)點(diǎn)集群中任務(wù)分配的系統(tǒng)的結(jié)構(gòu)示意圖;

圖4示出了本本發(fā)明實(shí)施例二所提供的一種節(jié)點(diǎn)集群中任務(wù)分配的系統(tǒng)的結(jié)構(gòu)示意圖。

具體實(shí)施方式

為使本發(fā)明實(shí)施例的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合本發(fā)明實(shí)施例中附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例。通常在此處附圖中描述和示出的本發(fā)明實(shí)施例的組件可以以各種不同的配置來(lái)布置和設(shè)計(jì)。因此,以下對(duì)在附圖中提供的本發(fā)明的實(shí)施例的詳細(xì)描述并非旨在限制要求保護(hù)的本發(fā)明的范圍,而是僅僅表示本發(fā)明的選定實(shí)施例。基于本發(fā)明的實(shí)施例,本領(lǐng)域技術(shù)人員在沒(méi)有做出創(chuàng)造性勞動(dòng)的前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。

目前,在深度學(xué)習(xí)技術(shù)領(lǐng)域,在計(jì)算過(guò)程中采用cpu或者專門(mén)的gpu來(lái)完成超大計(jì)算量,在現(xiàn)有技術(shù)中,一個(gè)計(jì)算系統(tǒng)中的cpu節(jié)點(diǎn)集群和gpu節(jié)點(diǎn)集群是分別進(jìn)行管理的,在進(jìn)行任務(wù)處理時(shí),無(wú)法做到資源的整合和混合使用,既無(wú)法實(shí)現(xiàn)cpu加gpu的混合計(jì)算;基于此,本發(fā)明實(shí)施例提供了一種節(jié)點(diǎn)集群中任務(wù)分配的方法、節(jié)點(diǎn)和系統(tǒng)。

gpu節(jié)點(diǎn)是帶有圖形處理器gpu的節(jié)點(diǎn),是配有g(shù)pu計(jì)算卡的節(jié)點(diǎn),同時(shí)含有cpu資源;cpu節(jié)點(diǎn)是未帶有圖形處理器gpu的通用服務(wù)器節(jié)點(diǎn)。

如圖1所示的實(shí)施例,本發(fā)明實(shí)施例提供了一種節(jié)點(diǎn)集群中任務(wù)分配的方法,該節(jié)點(diǎn)集群包括多個(gè)計(jì)算節(jié)點(diǎn),所述的多個(gè)計(jì)算節(jié)點(diǎn)包括圖形處理器gpu節(jié)點(diǎn)和中央處理器cpu節(jié)點(diǎn),多個(gè)gpu節(jié)點(diǎn)組成gpu節(jié)點(diǎn)集群,多個(gè)cpu節(jié)點(diǎn)組成cpu節(jié)點(diǎn)集群,cpu節(jié)點(diǎn)集群和gpu節(jié)點(diǎn)集群統(tǒng)一被中心節(jié)點(diǎn)管理,該方法包括以下步驟:

s102、中心節(jié)點(diǎn)接收用戶請(qǐng)求,該用戶請(qǐng)求攜帶有待執(zhí)行的任務(wù)和用戶自定義參數(shù);

s104、中心節(jié)點(diǎn)控制任一計(jì)算節(jié)點(diǎn)確定執(zhí)行上述任務(wù)所需要的服務(wù)器資源類(lèi)型和資源大?。?/p>

上述服務(wù)器資源類(lèi)型包括:gpu資源和cpu資源;

s106、中心節(jié)點(diǎn)根據(jù)上述任務(wù)所需要的服務(wù)器資源類(lèi)型和資源大小以及當(dāng)前每個(gè)計(jì)算節(jié)點(diǎn)的狀態(tài)信息將該任務(wù)分配到相應(yīng)的計(jì)算節(jié)點(diǎn)。

其中,上述中心節(jié)點(diǎn)接收到用戶請(qǐng)求后,在節(jié)點(diǎn)集群中隨機(jī)挑選一個(gè)計(jì)算節(jié)點(diǎn),啟動(dòng)主進(jìn)程對(duì)該用戶請(qǐng)求進(jìn)行分析決策,將用戶請(qǐng)求中的任務(wù)根據(jù)用戶自定義參數(shù)分解成多個(gè)子任務(wù),并根據(jù)子任務(wù)的計(jì)算類(lèi)型、計(jì)算復(fù)雜度等因素確定執(zhí)行每個(gè)子任務(wù)所需要的服務(wù)器資源類(lèi)型,例如有的子任務(wù)在計(jì)算處理時(shí)不支持使用cpu資源,或者cpu資源無(wú)法滿足該子任務(wù)的計(jì)算復(fù)雜度要求,則確定該子任務(wù)使用gpu資源來(lái)執(zhí)行,并進(jìn)一步判斷每個(gè)子任務(wù)是否必須使用gpu資源,并進(jìn)行標(biāo)記,生成標(biāo)記信息,以供在后續(xù)為其分配節(jié)點(diǎn)時(shí)進(jìn)行參考;以及計(jì)算執(zhí)行該子任務(wù)所需要的cpu資源、gpu資源分別所要滿足的資源條件,生成資源條件信息,該資源條件信息主要是指資源所要滿足的大小條件,其中cpu資源以線程為單位,gpu資源以gpu使用百分比為單位;中心節(jié)點(diǎn)還實(shí)時(shí)獲取每個(gè)計(jì)算節(jié)點(diǎn)的狀態(tài)信息,該狀態(tài)信息包括但不限于:cpu使用率和/或gpu使用率,如果計(jì)算節(jié)點(diǎn)為gpu節(jié)點(diǎn)集群中的節(jié)點(diǎn),所述的狀態(tài)信息包括gpu使用率和cpu使用率,如果計(jì)算節(jié)點(diǎn)為cpu節(jié)點(diǎn)集群中的節(jié)點(diǎn),則狀態(tài)信息包括cpu使用率;進(jìn)一步的,上述的狀態(tài)信息還包括配套組件的使用率,該配套組件包括:內(nèi)存、網(wǎng)卡和硬盤(pán)等,進(jìn)而上述的狀態(tài)信息還可以包括:內(nèi)存使用率、顯存使用率、網(wǎng)絡(luò)使用率等。

中心節(jié)點(diǎn)還用于接收每個(gè)計(jì)算節(jié)點(diǎn)上報(bào)的標(biāo)簽信息,例如節(jié)點(diǎn)名稱、節(jié)點(diǎn)的ip等,接收計(jì)算節(jié)點(diǎn)的屬性信息,如cpu型號(hào)與數(shù)量、內(nèi)存容量、gpu型號(hào)與數(shù)量,網(wǎng)絡(luò)屬性(百兆、千兆、萬(wàn)兆)等;本發(fā)明實(shí)施例中的節(jié)點(diǎn)可以是指服務(wù)器。

中心節(jié)點(diǎn)獲取上述的每個(gè)子任務(wù)執(zhí)行時(shí)所需要的服務(wù)器資源類(lèi)型、標(biāo)記信息和資源條件信息以后進(jìn)行為該子任務(wù)分配相應(yīng)的計(jì)算節(jié)點(diǎn),如果子任務(wù)需要gpu資源,中心節(jié)點(diǎn)則優(yōu)先將該子任務(wù)分配在滿足gpu資源條件的gpu節(jié)點(diǎn)集群中g(shù)pu負(fù)載最低的計(jì)算節(jié)點(diǎn);

如果子任務(wù)不是必須使用gpu資源,在gpu節(jié)點(diǎn)集群中沒(méi)有滿足gpu資源條件的計(jì)算節(jié)點(diǎn)時(shí),中心節(jié)點(diǎn)將該子任務(wù)分配至gpu節(jié)點(diǎn)集群中滿足cpu資源條件的計(jì)算節(jié)點(diǎn);如果gpu節(jié)點(diǎn)集群沒(méi)有滿足cpu資源條件的計(jì)算節(jié)點(diǎn),中心節(jié)點(diǎn)將該子任務(wù)分配至cpu節(jié)點(diǎn)集群中滿足cpu資源條件的計(jì)算節(jié)點(diǎn);

如果子任務(wù)不需要gpu資源,中心節(jié)點(diǎn)優(yōu)先將該子任務(wù)分配在滿足資源條件的cpu節(jié)點(diǎn)集群中cpu負(fù)載最低的計(jì)算節(jié)點(diǎn);如果cpu節(jié)點(diǎn)集群中沒(méi)有滿足資源條件的計(jì)算節(jié)點(diǎn),中心節(jié)點(diǎn)將該子任務(wù)分配至gpu節(jié)點(diǎn)集群中滿足cpu資源要求的負(fù)載最低的計(jì)算節(jié)點(diǎn),與現(xiàn)有技術(shù)不同,此時(shí)gpu節(jié)點(diǎn)中附帶的cpu資源也被利用到;

本實(shí)施例中,如果子任務(wù)需要gpu資源,但不是必須使用gpu資源,當(dāng)gpu資源不足時(shí),則進(jìn)行降級(jí)處理,采用cpu資源進(jìn)行執(zhí)行該子任務(wù),并且優(yōu)先分配在gpu節(jié)點(diǎn)集群中滿足cpu資源條件的計(jì)算節(jié)點(diǎn);如果子任務(wù)不需要gpu資源,在cpu節(jié)點(diǎn)集群中沒(méi)有滿足cpu資源條件的計(jì)算節(jié)點(diǎn)時(shí),中心節(jié)點(diǎn)將該任務(wù)分配至gpu節(jié)點(diǎn)集群中滿足cpu資源要求的計(jì)算節(jié)點(diǎn),本實(shí)施例中提供的任務(wù)分配方法,在由gpu節(jié)點(diǎn)集群和cpu節(jié)點(diǎn)集群組成的節(jié)點(diǎn)集群中,同一個(gè)集群內(nèi)同時(shí)管理cpu和gpu資源,降低了用戶使用復(fù)雜度;自動(dòng)根據(jù)系統(tǒng)運(yùn)行情況決策請(qǐng)求采用cpu、gpu還是混合(cpu資源加gpu資源協(xié)同)計(jì)算,在執(zhí)行過(guò)程中子任務(wù)優(yōu)先被調(diào)度到指定的資源節(jié)點(diǎn)(如gpu節(jié)點(diǎn)或cpu節(jié)點(diǎn)),在資源不足的情況下可以利用其它類(lèi)型的計(jì)算節(jié)點(diǎn)上的同類(lèi)資源或是降級(jí)使用其他資源(從gpu處理降級(jí)為cpu處理),在宏觀上看一個(gè)任務(wù)由gpu加cpu混合執(zhí)行,實(shí)現(xiàn)了cpu節(jié)點(diǎn)集群加gpu節(jié)點(diǎn)集群的混合計(jì)算,并且滿足任務(wù)在執(zhí)行時(shí)能夠根據(jù)當(dāng)前狀態(tài)調(diào)整資源使用,達(dá)到有效資源利用率最大化和負(fù)載均衡的效果;并且將子任務(wù)分配至滿足資源條件的計(jì)算節(jié)點(diǎn)中負(fù)載最低的節(jié)點(diǎn),即分配到資源利用率最低的節(jié)點(diǎn),提高了任務(wù)計(jì)算處理的速度。

上述實(shí)施例中,中心節(jié)點(diǎn)在進(jìn)行子任務(wù)分配時(shí),如果當(dāng)前沒(méi)有滿足資源條件的計(jì)算節(jié)點(diǎn),則使所述子任務(wù)處于等待狀態(tài),直到有滿足資源條件的計(jì)算節(jié)點(diǎn)出現(xiàn)時(shí),中心節(jié)點(diǎn)再為所述子任務(wù)分配計(jì)算節(jié)點(diǎn)。

子任務(wù)被分配到相應(yīng)節(jié)點(diǎn)后進(jìn)行執(zhí)行,執(zhí)行過(guò)程中,計(jì)算節(jié)點(diǎn)定期向中心節(jié)點(diǎn)匯報(bào)其任務(wù)進(jìn)度等任務(wù)狀態(tài)信息。

子任務(wù)被分配到計(jì)算節(jié)點(diǎn)以后,子任務(wù)執(zhí)行時(shí)如果子任務(wù)申請(qǐng)資源失敗,則該計(jì)算節(jié)點(diǎn)反饋信息至中心節(jié)點(diǎn),由中心節(jié)點(diǎn)重新進(jìn)行對(duì)該子任務(wù)分配計(jì)算節(jié)點(diǎn);以此避免了由于某些異常,比如網(wǎng)絡(luò)延遲、丟包、系統(tǒng)down機(jī)等原因引起的中心節(jié)點(diǎn)獲取的計(jì)算節(jié)點(diǎn)的狀態(tài)信息和計(jì)算節(jié)點(diǎn)實(shí)際的狀態(tài)不一致所造成的子任務(wù)無(wú)法正常被執(zhí)行的現(xiàn)象發(fā)生。

子任務(wù)在執(zhí)行過(guò)程中,實(shí)際使用資源少于分配資源時(shí),計(jì)算節(jié)點(diǎn)會(huì)上報(bào)信息給中心節(jié)點(diǎn),這部分資源就可以再次被利用,以達(dá)到資源利用率最大化的目的。

如圖2所示的實(shí)施例,本實(shí)施例中提供了一種節(jié)點(diǎn),該節(jié)點(diǎn)包括:

接收模塊202,用于接收用戶請(qǐng)求,所述用戶請(qǐng)求攜帶有待執(zhí)行的任務(wù)和用戶自定義參數(shù);

確定模塊204,用于控制任一計(jì)算節(jié)點(diǎn)確定執(zhí)行所述任務(wù)所需要的服務(wù)器資源類(lèi)型和資源大??;

分配模塊206,用于根據(jù)所述任務(wù)所需要的服務(wù)器資源類(lèi)型和資源大小以及當(dāng)前計(jì)算節(jié)點(diǎn)的狀態(tài)信息將所述任務(wù)分配到相應(yīng)的計(jì)算節(jié)點(diǎn)。

上述接收模塊接收到用戶請(qǐng)求以后,上述確定模塊控制任一計(jì)算節(jié)點(diǎn)確定執(zhí)行該任務(wù)所需要的服務(wù)器資源類(lèi)型和資源大小,然后分配模塊根據(jù)該任務(wù)所需要的服務(wù)器資源類(lèi)型和資源大小以及當(dāng)前計(jì)算節(jié)點(diǎn)的狀態(tài)信息將任務(wù)分配到相應(yīng)的計(jì)算節(jié)點(diǎn)。

本實(shí)施例中,上述確定模塊,包括:分解單元,用于根據(jù)用戶自定義參數(shù)對(duì)所述任務(wù)進(jìn)行分解成多個(gè)子任務(wù);

判斷單元,用于判斷子任務(wù)是否必須使用gpu資源,并做標(biāo)記,生成標(biāo)記信息;

計(jì)算單元,用于計(jì)算執(zhí)行每個(gè)子任務(wù)所需的cpu資源和/或gpu資源所要滿足的資源條件,生成資源條件信息;

上述確定模塊,還包括自定義參數(shù)拆分模塊,用于將用戶自定義參數(shù)拆分成每個(gè)子任務(wù)所對(duì)應(yīng)的具體參數(shù);上述計(jì)算單元根據(jù)每個(gè)子任務(wù)所對(duì)應(yīng)的具體參數(shù)計(jì)算該子任務(wù)所需的cpu資源和/或gpu資源所要滿足的資源條件;分配模塊根據(jù)上述標(biāo)記信息、資源條件信息和當(dāng)前每個(gè)計(jì)算節(jié)點(diǎn)的狀態(tài)信息,將子任務(wù)分配至相應(yīng)的計(jì)算節(jié)點(diǎn);如果子任務(wù)需要gpu資源,則優(yōu)先將該子任務(wù)分配在滿足資源條件的gpu節(jié)點(diǎn)集群中g(shù)pu負(fù)載最低的計(jì)算節(jié)點(diǎn);如果該子任務(wù)不需要gpu資源,則優(yōu)先將該子任務(wù)分配在滿足資源條件的cpu節(jié)點(diǎn)集群中cpu負(fù)載最低的計(jì)算節(jié)點(diǎn)。如果子任務(wù)需要gpu資源,但不是必須使用gpu資源,在gpu節(jié)點(diǎn)集群中沒(méi)有滿足gpu資源條件的計(jì)算節(jié)點(diǎn)時(shí),將該子任務(wù)分配至gpu節(jié)點(diǎn)集群中滿足cpu資源條件的計(jì)算節(jié)點(diǎn),此時(shí)將將子任務(wù)的執(zhí)行進(jìn)行了降級(jí)處理,從gpu資源處理降到了cpu資源處理;如果gpu節(jié)點(diǎn)集群沒(méi)有滿足cpu資源條件的計(jì)算節(jié)點(diǎn),則將該子任務(wù)分配至cpu節(jié)點(diǎn)集群中滿足cpu資源條件的計(jì)算節(jié)點(diǎn),進(jìn)而實(shí)現(xiàn)了由gpu節(jié)點(diǎn)降級(jí)為cpu節(jié)點(diǎn)使用;如果所述子任務(wù)不需要gpu資源,且cpu節(jié)點(diǎn)集群中沒(méi)有滿足cpu資源條件的計(jì)算節(jié)點(diǎn),將所述子任務(wù)分配至gpu節(jié)點(diǎn)集群中滿足cpu資源要求的計(jì)算節(jié)點(diǎn)。

上述實(shí)施例中所提供的節(jié)點(diǎn),在使用時(shí)能夠?qū)崿F(xiàn)gpu節(jié)點(diǎn)集群和cpu節(jié)點(diǎn)集群統(tǒng)一管理、gpu資源和cpu資源綜合利用,達(dá)到了系統(tǒng)負(fù)載均衡和有效資源的利用率最大化的目的。

如3所示的實(shí)施例,本發(fā)明實(shí)施例中提供了一種節(jié)點(diǎn)集群中任務(wù)分配的系統(tǒng),該系統(tǒng)包括:

中心節(jié)點(diǎn)302,該中心節(jié)點(diǎn)302為上述實(shí)施例中任一所述的節(jié)點(diǎn);

多個(gè)計(jì)算節(jié)點(diǎn),多個(gè)計(jì)算節(jié)點(diǎn)包括gpu節(jié)點(diǎn)306和cpu節(jié)點(diǎn)304,多個(gè)gpu節(jié)點(diǎn)組成gpu節(jié)點(diǎn)集群,多個(gè)cpu節(jié)點(diǎn)組成cpu節(jié)點(diǎn)集群,其中,所述gpu節(jié)點(diǎn)集群中的gpu節(jié)點(diǎn)是配有g(shù)pu計(jì)算卡的節(jié)點(diǎn),含有cpu資源;所述計(jì)算節(jié)點(diǎn)和所述中心節(jié)點(diǎn)通過(guò)網(wǎng)絡(luò)連接。

本實(shí)施例中所提供的一種節(jié)點(diǎn)集群中任務(wù)分配的系統(tǒng),在進(jìn)行任務(wù)分配時(shí),支持gpu節(jié)點(diǎn)降級(jí)為cpu節(jié)點(diǎn)使用,能夠滿足gpu節(jié)點(diǎn)集群和cpu節(jié)點(diǎn)集群的統(tǒng)一管理、調(diào)度和資源的混合使用,實(shí)現(xiàn)cpu節(jié)點(diǎn)集群加gpu節(jié)點(diǎn)集群的混合計(jì)算。

需要說(shuō)明的是,附圖3為本實(shí)施例的示意圖,圖中示出了gpu節(jié)點(diǎn)和cpu節(jié)點(diǎn)個(gè)數(shù)為3個(gè)的情況,但實(shí)際中節(jié)點(diǎn)的數(shù)目并不局限于此。

如4所示的一個(gè)實(shí)施例,本實(shí)施例中,系統(tǒng)包括客戶端、中心節(jié)點(diǎn)和計(jì)算節(jié)點(diǎn)集群,其中計(jì)算節(jié)點(diǎn)集群包括cpu節(jié)點(diǎn)集群和gpu節(jié)點(diǎn)集群,中心節(jié)點(diǎn)負(fù)責(zé)整個(gè)系統(tǒng)的集群管理和任務(wù)分配,計(jì)算節(jié)點(diǎn)接收被分配的任務(wù)并執(zhí)行該任務(wù),中心節(jié)點(diǎn)和計(jì)算節(jié)點(diǎn)通過(guò)網(wǎng)絡(luò)連接,運(yùn)行在整個(gè)系統(tǒng)上的算法程序包括gpu版本和cpu版本;用戶通過(guò)客戶端發(fā)送用戶請(qǐng)求,中心節(jié)點(diǎn)接收客戶端發(fā)送的用戶請(qǐng)求,該用戶請(qǐng)求中攜帶有待執(zhí)行的任務(wù),該任務(wù)被分成多個(gè)子任務(wù),每個(gè)子任務(wù)均為運(yùn)動(dòng)目標(biāo)檢測(cè),其中有被標(biāo)記的必須使用gpu資源進(jìn)行運(yùn)算處理的運(yùn)動(dòng)目標(biāo)檢測(cè)子任務(wù),中心節(jié)點(diǎn)將子任務(wù)任務(wù)分配到計(jì)算節(jié)點(diǎn)集群中的相應(yīng)的計(jì)算節(jié)點(diǎn),中心節(jié)點(diǎn)在進(jìn)行子任務(wù)分配時(shí),如果子任務(wù)需要gpu資源,在gpu資源不足時(shí),則進(jìn)行降級(jí)處理為該子任務(wù)分配cpu資源,如果為必須使用gpu資源的子任務(wù),在沒(méi)有合適的節(jié)點(diǎn)分配時(shí),則使該子任務(wù)處于等待狀態(tài)。本實(shí)施例所提供的系統(tǒng),在同一個(gè)集群內(nèi)同時(shí)管理cpu資源和gpu資源,自動(dòng)根據(jù)系統(tǒng)運(yùn)行情況決策請(qǐng)求采用cpu資源、gpu資源還是cpu與gpu協(xié)同進(jìn)行計(jì)算;并在任務(wù)處理過(guò)程中實(shí)時(shí)分配節(jié)點(diǎn),調(diào)整資源使用,在進(jìn)行任務(wù)分配時(shí),優(yōu)先將任務(wù)分配到指定的資源節(jié)點(diǎn),在資源不足的情況下可以為其分配其它類(lèi)型的節(jié)點(diǎn)上的同類(lèi)資源,或者低一級(jí)的計(jì)算節(jié)點(diǎn),使任務(wù)從gpu資源分析降級(jí)為cpu資源分析;以達(dá)到集群系統(tǒng)內(nèi)資源統(tǒng)一管理、負(fù)載均衡和資源利用率最大化的效果。

所屬領(lǐng)域的技術(shù)人員可以清楚地了解到,為描述的方便和簡(jiǎn)潔,上述描述的節(jié)點(diǎn)、系統(tǒng)的具體工作過(guò)程,可以參考前述方法實(shí)施例中的對(duì)應(yīng)過(guò)程,在此不再贅述。

本發(fā)明實(shí)施例所提供的一種節(jié)點(diǎn)集群中任務(wù)分配的方法的計(jì)算機(jī)程序產(chǎn)品,包括存儲(chǔ)了程序代碼的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),所述程序代碼包括的指令可用于執(zhí)行前面方法實(shí)施例中所述的方法,具體實(shí)現(xiàn)可參見(jiàn)方法實(shí)施例,在此不再贅述。

在本申請(qǐng)所提供的幾個(gè)實(shí)施例中,應(yīng)該理解到,所揭露的系統(tǒng)、節(jié)點(diǎn)和方法,可以通過(guò)其它的方式實(shí)現(xiàn)。以上所描述的裝置實(shí)施例僅僅是示意性的,例如,所述模塊、單元的劃分,僅僅為一種邏輯功能劃分,實(shí)際實(shí)現(xiàn)時(shí)可以有另外的劃分方式,又例如,多個(gè)單元可以結(jié)合或者可以集成到另一個(gè)系統(tǒng),或一些特征可以忽略,或不執(zhí)行。

所述功能如果以軟件功能單元的形式實(shí)現(xiàn)并作為獨(dú)立的產(chǎn)品銷(xiāo)售或使用時(shí),可以存儲(chǔ)在一個(gè)計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中?;谶@樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說(shuō)對(duì)現(xiàn)有技術(shù)做出貢獻(xiàn)的部分或者該技術(shù)方案的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來(lái),該計(jì)算機(jī)軟件產(chǎn)品存儲(chǔ)在一個(gè)存儲(chǔ)介質(zhì)中,包括若干指令用以使得一臺(tái)計(jì)算機(jī)設(shè)備(可以是個(gè)人計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個(gè)實(shí)施例所述方法的全部或部分步驟。而前述的存儲(chǔ)介質(zhì)包括:u盤(pán)、移動(dòng)硬盤(pán)、只讀存儲(chǔ)器(rom,read-onlymemory)、隨機(jī)存取存儲(chǔ)器(ram,randomaccessmemory)、磁碟或者光盤(pán)等各種可以存儲(chǔ)程序代碼的介質(zhì)。

以上所述,僅為本發(fā)明的具體實(shí)施方式,但本發(fā)明的保護(hù)范圍并不局限于此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到變化或替換,都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。因此,本發(fā)明的保護(hù)范圍應(yīng)所述以權(quán)利要求的保護(hù)范圍為準(zhǔn)。

當(dāng)前第1頁(yè)1 2 
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
涿鹿县| 镇平县| 仁化县| 无锡市| 静安区| 彭阳县| 南充市| 苏尼特左旗| 武宣县| 新宁县| 本溪市| 泾川县| 会同县| 南部县| 昌宁县| 额敏县| 通江县| 龙州县| 顺昌县| 察隅县| 西华县| 宣武区| 溆浦县| 白玉县| 江安县| 焦作市| 宁陕县| 永吉县| 奎屯市| 潜江市| 乐至县| 乐安县| 新闻| 上思县| 岗巴县| 沁阳市| 上杭县| 罗平县| 焦作市| 吉林省| 富裕县|