一種跨域集群計(jì)算資源聚合和分配的方法
【專利摘要】本發(fā)明涉及一種跨域集群計(jì)算資源聚合和分配的方法,包括以下步驟:建立并行計(jì)算管理平臺(tái);搭建跨域分布式多級(jí)集群資源池環(huán)境;集群資源登記和更新;集群任務(wù)資源分配;集群任務(wù)提交和結(jié)果回收。所述方法是指一種全局式集群資源管控及共享技術(shù)的體現(xiàn)。在實(shí)際運(yùn)行中,一個(gè)分布式集群往往計(jì)算節(jié)點(diǎn)數(shù)量有限,當(dāng)任務(wù)量較大時(shí)需要排隊(duì)計(jì)算,因此會(huì)出現(xiàn)本地集群繁忙而別的集群空閑的情形,如果能將多個(gè)分布式集群聯(lián)合起來,實(shí)現(xiàn)資源共享,讓忙碌的集群可以把任務(wù)調(diào)節(jié)到閑置的集群上,可以大大提高批量任務(wù)的處理速度。
【專利說明】一種跨域集群計(jì)算資源聚合和分配的方法
【技術(shù)領(lǐng)域】
:
[0001]本發(fā)明涉及一種計(jì)算資源聚合和分配的方法,更具體涉及一種跨域集群計(jì)算資源聚合和分配的方法。
【背景技術(shù)】
:
[0002]分布式計(jì)算一直是計(jì)算機(jī)領(lǐng)域的研究熱點(diǎn)。隨著網(wǎng)絡(luò)技術(shù)及應(yīng)用的不斷發(fā)展,能否為用戶提供高質(zhì)量的服務(wù)技術(shù)已經(jīng)成為衡量一個(gè)分布式應(yīng)用是否成功的關(guān)鍵因素。虛擬計(jì)算環(huán)境是以互聯(lián)網(wǎng)為基礎(chǔ),實(shí)現(xiàn)資源按需聚合與自主協(xié)同的服務(wù)平臺(tái)?;ヂ?lián)網(wǎng)上存在著極為豐富的資源,但由于資源節(jié)點(diǎn)所固有的高度的動(dòng)態(tài)性與自治性,導(dǎo)致系統(tǒng)服務(wù)質(zhì)量較難得到保證。
[0003]分布式系統(tǒng)是由多個(gè)分散的計(jì)算機(jī)經(jīng)互連網(wǎng)絡(luò)構(gòu)成的統(tǒng)一計(jì)算機(jī)系統(tǒng)。其中各個(gè)物理的和邏輯的資源既相互配合又高度自治,能在全系統(tǒng)范圍內(nèi)實(shí)現(xiàn)資源管理和數(shù)據(jù)共享,動(dòng)態(tài)的實(shí)現(xiàn)任務(wù)分配和功能分配,且能并行的運(yùn)行分布式程序,它強(qiáng)調(diào)資源、任務(wù)、功能、數(shù)據(jù)和控制的全面分布,它們分布于各個(gè)物理上分散的計(jì)算機(jī)節(jié)點(diǎn)中,各個(gè)節(jié)點(diǎn)經(jīng)過互連網(wǎng)絡(luò)相互通信,構(gòu)成統(tǒng)一的處理系統(tǒng)。
[0004]分布式系統(tǒng)具有高度的內(nèi)聚性和透明性,內(nèi)聚性是指分布式中的每一個(gè)節(jié)點(diǎn)都高度自治,有本地的數(shù)據(jù)庫(kù)管理系統(tǒng)和應(yīng)用軟件,透明性是指每一個(gè)分布式節(jié)點(diǎn)對(duì)用戶或者整個(gè)系統(tǒng)來講都是透明的,涉及具體的數(shù)據(jù)處理、分布式計(jì)算時(shí),看不出來是在本地還是遠(yuǎn)程,用戶也不必關(guān)心自己的需求究竟是在哪個(gè)節(jié)點(diǎn)被執(zhí)行的。
[0005]分布式集群由前述包括網(wǎng)關(guān)、調(diào)度、數(shù)據(jù)、計(jì)算節(jié)點(diǎn),用戶提交任務(wù)時(shí)向集群調(diào)度節(jié)點(diǎn)發(fā)起,調(diào)度節(jié)點(diǎn)收到該計(jì)算請(qǐng)求后向資源池申請(qǐng)資源,資源申請(qǐng)成功后,向目的集群發(fā)起計(jì)算命令消息。
[0006]在實(shí)際運(yùn)行中,一個(gè)分布式集群往往計(jì)算節(jié)點(diǎn)數(shù)量有限,當(dāng)任務(wù)量較大時(shí)需要排隊(duì)計(jì)算,因此會(huì)出現(xiàn)本地集群繁忙而別的集群空閑的情形,如果能將多個(gè)分布式集群聯(lián)合起來,實(shí)現(xiàn)資源共享,讓忙碌的集群可以把任務(wù)調(diào)節(jié)到閑置的集群上,可以大大提高批量任務(wù)的處理速度。
【發(fā)明內(nèi)容】
:
[0007]本發(fā)明的目的是提供一種跨域集群計(jì)算資源聚合和分配的方法,所述方法通過多級(jí)調(diào)度大規(guī)模分層分布式并行計(jì)算平臺(tái)實(shí)現(xiàn)了數(shù)據(jù)和程序的預(yù)分配,減少了網(wǎng)絡(luò)通信量,大大的提高了通信效率。
[0008]為實(shí)現(xiàn)上述目的,本發(fā)明采用以下技術(shù)方案:一種跨域集群計(jì)算資源聚合和分配的方法,包括以下步驟:
[0009](I)建立并行計(jì)算管理平臺(tái);
[0010](2)搭建跨域分布式多級(jí)集群資源池環(huán)境;
[0011](3)集群資源登記和更新;
[0012](4)集群任務(wù)資源分配;
[0013](5)集群任務(wù)提交和結(jié)果回收。
[0014]本發(fā)明提供的一種跨域集群計(jì)算資源聚合和分配的方法,所述步驟(I)中的平臺(tái)包括若干個(gè)計(jì)算節(jié)點(diǎn)、調(diào)度節(jié)點(diǎn)、數(shù)據(jù)節(jié)點(diǎn)和網(wǎng)關(guān)服務(wù)器;所述計(jì)算節(jié)點(diǎn)負(fù)責(zé)數(shù)據(jù)并行計(jì)算;所述調(diào)度節(jié)點(diǎn)負(fù)責(zé)用戶任務(wù)調(diào)度、控制以及結(jié)果回收;所述數(shù)據(jù)節(jié)點(diǎn)用于存放歷史數(shù)據(jù)以及結(jié)果入庫(kù)功能;所述網(wǎng)關(guān)服務(wù)器負(fù)責(zé)平臺(tái)的統(tǒng)一對(duì)外接口,包括與其他系統(tǒng)的對(duì)接以及數(shù)據(jù)同步功能。
[0015]本發(fā)明提供的一種跨域集群計(jì)算資源聚合和分配的方法,所述步驟(2)中的搭建過程為:每個(gè)分級(jí)分布式集群通過網(wǎng)關(guān)將自己集群中的資源信息交給虛擬的集群資源池統(tǒng)一管理和分配,資源池自動(dòng)將不同級(jí)別的集群按文件系統(tǒng)的方式將各個(gè)集群按樹狀結(jié)構(gòu)進(jìn)行存儲(chǔ)和管理,級(jí)別和樹狀層次結(jié)構(gòu)相對(duì)應(yīng),區(qū)域名是全網(wǎng)唯一:下級(jí)單位只能分配使用直屬上級(jí)調(diào)度機(jī)構(gòu)資源。
[0016]本發(fā)明提供的另一優(yōu)選的一種跨域集群計(jì)算資源聚合和分配的方法,多級(jí)調(diào)度分層分布式所述并行計(jì)算平臺(tái)通過采集資源信息流程和采用單節(jié)點(diǎn)管理,周期定時(shí)上報(bào)與任務(wù)調(diào)度主動(dòng)下發(fā)資源信息采集控制指令相結(jié)合的方式,定時(shí)刷新和實(shí)時(shí)刷新實(shí)體機(jī)和機(jī)群資源信息;所述分布式集群的本地機(jī)群資源匯總信息通過調(diào)度服務(wù)器實(shí)時(shí)更新至跨域分布式并行計(jì)算平臺(tái)統(tǒng)一計(jì)算資源池;通過節(jié)點(diǎn)管理按照機(jī)群任務(wù)調(diào)度下發(fā)的指令,在單節(jié)點(diǎn)內(nèi)分配計(jì)算資源。
[0017]本發(fā)明提供的再一優(yōu)選的一種跨域集群計(jì)算資源聚合和分配的方法,所述資源信息包括本集群計(jì)算節(jié)點(diǎn)個(gè)數(shù)、集群總核數(shù)、集群可用核數(shù)、集群級(jí)別、集群區(qū)域名、本集群上級(jí)區(qū)域名、調(diào)度節(jié)點(diǎn)IP信息和資源共享標(biāo)識(shí)信息;所述信息均不借助第三方軟件采集。
[0018]本發(fā)明提供的又一優(yōu)選的一種跨域集群計(jì)算資源聚合和分配的方法,所述步驟
(3)中的登記和更新過程為:每個(gè)分布式集群上線時(shí)在資源池中建立自己的資源信息樹節(jié)點(diǎn),建立成功后再次上報(bào)資源更改自己在資源池中的資源信息;所述網(wǎng)關(guān)服務(wù)器應(yīng)用收到本地集群資源上報(bào)消息后,調(diào)用資源池服務(wù)中心接口,查找樹路徑中對(duì)應(yīng)的節(jié)點(diǎn);如果找到了樹路徑中對(duì)應(yīng)的節(jié)點(diǎn),就更新數(shù)據(jù);否則根據(jù)上級(jí)區(qū)域名查找上級(jí)區(qū)域在樹中的路徑,如果找到相應(yīng)路徑則新建節(jié)點(diǎn)和更新數(shù)據(jù)。
[0019]本發(fā)明提供的又一優(yōu)選的一種跨域集群計(jì)算資源聚合和分配的方法,所述步驟
(4)中的任務(wù)資源分配過程包括:
[0020]所述本地集群的調(diào)度服務(wù)器應(yīng)用收到本地計(jì)算請(qǐng)求后,分析任務(wù)配置文件得到該任務(wù)模板所需的總核數(shù);
[0021]調(diào)用資源池信息查詢結(jié)構(gòu)找到本地集群資源信息,判斷本地資源是否夠用,如果夠用就直接向本地集群調(diào)度節(jié)點(diǎn)下達(dá)計(jì)算命令消息;
[0022]如果本地資源不夠用,重新查找資源池本地集群的上級(jí)集群是否有可用的集群資源,如果找到可用的資源,則根據(jù)對(duì)方網(wǎng)關(guān)IP地址信息將本地計(jì)算數(shù)據(jù)同步過去,再通過消息發(fā)送共享請(qǐng)求計(jì)算消息;
[0023]如果資源池中找不到可用集群,則將該任務(wù)按優(yōu)先級(jí)順序加入任務(wù)等待隊(duì)列。
[0024]本發(fā)明提供的又一優(yōu)選的一種跨域集群計(jì)算資源聚合和分配的方法,所述調(diào)度服務(wù)器應(yīng)用包括用于監(jiān)視資源池可用資源信息變化事件的監(jiān)視事件線程;如果所述線程被觸發(fā),則檢查任務(wù)隊(duì)列是否有任務(wù),如果有任務(wù),再按所述步驟(4)為隊(duì)列里的任務(wù)分配資源。
[0025]本發(fā)明提供的又一優(yōu)選的一種跨域集群計(jì)算資源聚合和分配的方法,所述步驟
(5)中的任務(wù)提交和結(jié)果回收過程包括:
[0026]用戶向本地集群調(diào)度節(jié)點(diǎn)提交計(jì)算任務(wù);
[0027]本地集群的調(diào)度服務(wù)器應(yīng)用收到計(jì)算請(qǐng)求后,進(jìn)行任務(wù)分析,根據(jù)申請(qǐng)資源情況確定是否任務(wù)需要拆分;如果不拆分,則只向申請(qǐng)到的本地或者異地的集群發(fā)送計(jì)算指令消息;如果需要拆分,則重新生成計(jì)算任務(wù)配置文件,然后向兩個(gè)或多個(gè)集群發(fā)送計(jì)算指令消息;如果需要向異地集群發(fā)送計(jì)算請(qǐng)求,則進(jìn)行計(jì)算指令發(fā)送之前還要有計(jì)算數(shù)據(jù)同步到異地調(diào)度服務(wù)器;
[0028]本地集群或者是異地集群收到本方調(diào)度服務(wù)器計(jì)算指令后,由集群內(nèi)部計(jì)算機(jī)制調(diào)用相應(yīng)計(jì)算程序參與計(jì)算,當(dāng)計(jì)算完成后,根據(jù)需要將結(jié)果返回到本方調(diào)度應(yīng)用服務(wù)器;
[0029]調(diào)度服務(wù)器接收到異地共享集群調(diào)度節(jié)點(diǎn)返回的計(jì)算結(jié)果后,根據(jù)任務(wù)屬性判斷結(jié)果屬于本集群計(jì)算還是遠(yuǎn)程異地集群計(jì)算,然后再調(diào)用入庫(kù)程序進(jìn)行入庫(kù)操作。
[0030]本發(fā)明提供的又一優(yōu)選的一種跨域集群計(jì)算資源聚合和分配的方法,當(dāng)用戶向本地集群調(diào)度節(jié)點(diǎn)提交計(jì)算任務(wù)時(shí),調(diào)度節(jié)點(diǎn)向本集群網(wǎng)關(guān)節(jié)點(diǎn)和所有計(jì)算節(jié)點(diǎn)組播計(jì)算數(shù)據(jù)。
[0031 ] 和最接近的現(xiàn)有技術(shù)比,本發(fā)明提供技術(shù)方案具有以下優(yōu)異效果
[0032]1、本發(fā)明的方法采用Paxos算法原理在多級(jí)調(diào)度環(huán)境中構(gòu)建大規(guī)模分布式并行計(jì)算平臺(tái)統(tǒng)一計(jì)算資源池,資源池信息運(yùn)維分布式存儲(chǔ)在各調(diào)度機(jī)構(gòu)機(jī)群網(wǎng)關(guān)服務(wù)器;
[0033]2、本發(fā)明的方法通過Paxos算法實(shí)現(xiàn)了資源池中機(jī)群信息的動(dòng)態(tài)變化協(xié)調(diào)一致性,任何一個(gè)機(jī)群信息都能被全網(wǎng)內(nèi)各級(jí)調(diào)度機(jī)構(gòu)機(jī)群網(wǎng)關(guān)服務(wù)器查詢?cè)L問;
[0034]3、本發(fā)明的方法提出了多級(jí)調(diào)度資源統(tǒng)一分配和管理機(jī)制,為機(jī)群資源共享提供了技術(shù)支持;
[0035]4、本發(fā)明的方法通過多級(jí)調(diào)度大規(guī)模分層分布式并行計(jì)算平臺(tái)實(shí)現(xiàn)了數(shù)據(jù)和程序的預(yù)分配,減少了網(wǎng)絡(luò)通信量,大大的提高了通信效率;
[0036]5、本發(fā)明的方法通過分布式一體化調(diào)度方案下的多級(jí)調(diào)度大規(guī)模分層分布式并行計(jì)算平臺(tái)解決了單點(diǎn)故障問題,實(shí)現(xiàn)了網(wǎng)絡(luò)負(fù)載均衡,規(guī)避了資源利用不充分現(xiàn)象,提高了資源利用率。
【專利附圖】
【附圖說明】
[0037]圖1為本發(fā)明的多級(jí)調(diào)度任務(wù)共享機(jī)制示意圖;
[0038]圖2為本發(fā)明的分布式系統(tǒng)總體結(jié)構(gòu)示意圖;
[0039]圖3為本發(fā)明的多集群資源池構(gòu)成示意圖;
[0040]圖4為本發(fā)明的集群資源登記和更新流程圖;
[0041]圖5為本發(fā)明的集群任務(wù)資源分配流程圖;
[0042]圖6為本發(fā)明的集群任務(wù)提交和結(jié)果回收流程圖;
[0043]圖7為本發(fā)明的并行計(jì)算管理平臺(tái)結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0044]下面結(jié)合實(shí)施例對(duì)發(fā)明作進(jìn)一步的詳細(xì)說明。
[0045]實(shí)施例1:
[0046]如圖1-6所示,本例的發(fā)明提供的一種跨域集群計(jì)算資源聚合和分配的方法,包括以下步驟:
[0047]并行計(jì)算管理平臺(tái)的建立,如圖7所示:
[0048]并行計(jì)算平臺(tái)由一組相關(guān)聯(lián)的負(fù)責(zé)不同業(yè)務(wù)處理的服務(wù)器構(gòu)成,它們構(gòu)成了一個(gè)分布式集群,平臺(tái)包括若干個(gè)計(jì)算節(jié)點(diǎn),負(fù)責(zé)數(shù)據(jù)并行計(jì)算,調(diào)度節(jié)點(diǎn)是平臺(tái)的核心,負(fù)責(zé)用戶任務(wù)調(diào)度和控制以及結(jié)果回收,數(shù)據(jù)節(jié)點(diǎn)用于存放歷史數(shù)據(jù)以及結(jié)果入庫(kù)功能,網(wǎng)關(guān)服務(wù)器負(fù)責(zé)平臺(tái)的統(tǒng)一對(duì)外接口,包括與其他系統(tǒng)的對(duì)接以及數(shù)據(jù)同步功能等。
[0049]跨域分布式多級(jí)集群資源池環(huán)境搭建,如圖3所示,
[0050]平臺(tái)統(tǒng)一計(jì)算資源池是為維護(hù)全局多級(jí)共享集群的計(jì)算資源而建立的,每個(gè)分布式集群都能看到一致的動(dòng)態(tài)管理的資源池,也就是本地集群可以看到全局所有分布式集群的計(jì)算資源信息,并且這些信息會(huì)隨著計(jì)算資源信息的改變而動(dòng)態(tài)更新。當(dāng)本地集群資源不滿足計(jì)算要求時(shí),可以隨時(shí)向全局資源池服務(wù)中心申請(qǐng)共享集群資源參與計(jì)算。
[0051]廣域網(wǎng)中每個(gè)分級(jí)分布式集群通過網(wǎng)關(guān)將自己集群中的資源信息交給虛擬的集群資源池統(tǒng)一管理和分配,資源池自動(dòng)將不同級(jí)別的集群按類似文件系統(tǒng)的方式將各個(gè)集群按樹狀結(jié)構(gòu)進(jìn)行存儲(chǔ)和管理,級(jí)別和樹狀層次結(jié)構(gòu)相對(duì)應(yīng),區(qū)域名是全網(wǎng)唯一,比如國(guó)調(diào)、華北分調(diào)、河北省調(diào),這些屬性規(guī)定了平臺(tái)統(tǒng)一計(jì)算資源池按照特定的策略,進(jìn)行分配調(diào)度和分配:下級(jí)單位只能分配使用直屬上級(jí)調(diào)度機(jī)構(gòu)資源。
[0052]多級(jí)調(diào)度分層分布式并行計(jì)算平臺(tái)通過采集資源信息流程,采用單節(jié)點(diǎn)管理,周期定時(shí)上報(bào)與任務(wù)調(diào)度主動(dòng)下發(fā)資源信息采集控制指令相結(jié)合的方法,定時(shí)刷新及實(shí)時(shí)刷新實(shí)體機(jī)以及機(jī)群資源信息。本地機(jī)群資源匯總信息通過調(diào)度服務(wù)器實(shí)時(shí)更新至跨域分布式并行計(jì)算平臺(tái)統(tǒng)一計(jì)算資源池。通過節(jié)點(diǎn)管理按照機(jī)群任務(wù)調(diào)度下發(fā)的指令,在單節(jié)點(diǎn)內(nèi)分配計(jì)算資源。資源信息包括:本集群計(jì)算節(jié)點(diǎn)個(gè)數(shù)、集群總核數(shù)、集群可用核數(shù)、集群級(jí)另IJ、集群區(qū)域名、本集群上級(jí)區(qū)域名、調(diào)度節(jié)點(diǎn)IP信息、資源共享標(biāo)識(shí)等信息,均不借助第三方軟件采集。
[0053]集群資源登記和更新,如圖4所示:
[0054]每個(gè)分布式集群剛上線時(shí)會(huì)首先在資源池中建立自己的資源信息樹節(jié)點(diǎn),建立成功后以后再次上報(bào)資源會(huì)更改自己在資源池中的資源信息,網(wǎng)關(guān)服務(wù)器應(yīng)用收到本地集群資源上報(bào)消息后,首先是調(diào)用資源池服務(wù)中心接口,查找樹路徑中對(duì)應(yīng)的節(jié)點(diǎn),如果找到了,就更新數(shù)據(jù),否則根據(jù)上級(jí)區(qū)域名查找上級(jí)區(qū)域在樹中的路徑,如果找到則新建節(jié)點(diǎn)和更新數(shù)據(jù)。下圖說明了該流程情況:
[0055]集群任務(wù)資源分配;如圖5所示:
[0056]1、本地集群的調(diào)度服務(wù)器應(yīng)用收到本地計(jì)算請(qǐng)求后,首先分析任務(wù)配置文件得到該任務(wù)模板所需的總核數(shù)。
[0057]2、調(diào)用資源池信息查詢結(jié)構(gòu)找到本地集群資源信息,判斷本地資源是否夠用,如果夠用就直接向本地集群調(diào)度節(jié)點(diǎn)下達(dá)計(jì)算命令消息。
[0058]3、如果本地資源不夠用,重新查找資源池本地集群的上級(jí)集群是否有可用的集群資源,如果找到可用的資源,則根據(jù)對(duì)方網(wǎng)關(guān)IP地址信息首先將本地計(jì)算數(shù)據(jù)同步過去,然后再通過消息發(fā)送共享請(qǐng)求計(jì)算消息。
[0059]4、如果資源池中找不到可用集群,則將該任務(wù)按優(yōu)先級(jí)順序加入任務(wù)等待隊(duì)列。
[0060]5、調(diào)度應(yīng)用有一個(gè)監(jiān)視事件線程,用于監(jiān)視資源池可用資源信息變化事件,如果被觸發(fā),會(huì)檢查任務(wù)隊(duì)列是否有任務(wù),如果有任務(wù),再按上述流程為隊(duì)列里的任務(wù)分配資源。
[0061]集群任務(wù)提交和結(jié)果回收;如圖4所示:
[0062]1、用戶向本地集群調(diào)度節(jié)點(diǎn)提交計(jì)算任務(wù),調(diào)度節(jié)點(diǎn)向本集群網(wǎng)關(guān)節(jié)點(diǎn)和所有計(jì)算節(jié)點(diǎn)組播計(jì)算數(shù)據(jù),這實(shí)現(xiàn)了計(jì)算數(shù)據(jù)預(yù)分配,而且由于計(jì)算節(jié)點(diǎn)部署時(shí)已安裝了計(jì)算應(yīng)用,因此程序也實(shí)現(xiàn)了預(yù)分配。
[0063]2、本地集群調(diào)度應(yīng)用收到計(jì)算請(qǐng)求后,先進(jìn)行任務(wù)分析,根據(jù)申請(qǐng)資源情況確定是否任務(wù)需要拆分,如果不拆分,則只向申請(qǐng)到的集群(本地或者異地)發(fā)送計(jì)算指令消息,如果需要拆分,則重新生成計(jì)算任務(wù)配置文件,然后向兩個(gè)或多個(gè)集群發(fā)送計(jì)算指令消息,如果需要向異地集群發(fā)送計(jì)算請(qǐng)求,則進(jìn)行計(jì)算指令發(fā)送之前還要有計(jì)算數(shù)據(jù)同步到異地調(diào)度服務(wù)器的過程。
[0064]3、本地集群或者是異地集群收到本方調(diào)度服務(wù)器計(jì)算指令后,由集群內(nèi)部計(jì)算流程機(jī)制調(diào)用相應(yīng)計(jì)算程序參與計(jì)算,當(dāng)計(jì)算完成后,根據(jù)需要將結(jié)果返回到本方調(diào)度應(yīng)用服務(wù)器。
[0065]4、調(diào)度服務(wù)器接收到異地共享集群調(diào)度節(jié)點(diǎn)返回的計(jì)算結(jié)果后,根據(jù)任務(wù)屬性判斷結(jié)果屬于本集群計(jì)算還是遠(yuǎn)程異地集群計(jì)算,然后再調(diào)用入庫(kù)程序進(jìn)行入庫(kù)操作。
[0066]多個(gè)集群可以共享計(jì)算資源,實(shí)現(xiàn)聯(lián)合調(diào)度,構(gòu)成集群組。客戶端連接到本地集群,將批量任務(wù)提交給調(diào)度,調(diào)度負(fù)責(zé)將任務(wù)在各集群間分配,并將結(jié)果匯總后返回給客戶端。客戶端可以不必關(guān)心任務(wù)在實(shí)際在哪里執(zhí)行,如果需要也可以把相關(guān)信息返給客戶。多級(jí)調(diào)度大規(guī)模分層分布式并行計(jì)算平臺(tái)支持各個(gè)集群查詢及控制、集群之間任務(wù)聯(lián)合調(diào)度或集群資源共享,本地提交的任務(wù)既可以在本地計(jì)算,也可以在本地集群資源不足的情況下交給共享的機(jī)群計(jì)算。
[0067]多級(jí)調(diào)度大規(guī)模分層分布式并行計(jì)算平臺(tái)包括應(yīng)用層、平臺(tái)核心層、基礎(chǔ)層,其中應(yīng)用層包括瀏覽器、離線提交端等上層應(yīng)用;平臺(tái)核心層包括DistComp并行計(jì)算管理程序、計(jì)算程序、調(diào)度程序等;基礎(chǔ)層包括通信中間件、操作系統(tǒng)。
[0068]最后應(yīng)當(dāng)說明的是:以上實(shí)施例僅用以說明本發(fā)明的技術(shù)方案而非對(duì)其限制,所屬領(lǐng)域的普通技術(shù)人員盡管參照上述實(shí)施例應(yīng)當(dāng)理解:依然可以對(duì)本發(fā)明的【具體實(shí)施方式】進(jìn)行修改或者等同替換,這些未脫離本發(fā)明精神和范圍的任何修改或者等同替換,均在申請(qǐng)待批的本發(fā)明的權(quán)利要求保護(hù)范圍之內(nèi)。
【權(quán)利要求】
1.一種跨域集群計(jì)算資源聚合和分配的方法,其特征在于:包括以下步驟: (1)建立并行計(jì)算管理平臺(tái); (2)搭建跨域分布式多級(jí)集群資源池環(huán)境; (3)集群資源登記和更新; (4)集群任務(wù)資源分配; (5)集群任務(wù)提交和結(jié)果回收。
2.如權(quán)利要求1所述的一種跨域集群計(jì)算資源聚合和分配的方法,其特征在于:所述步驟(I)中的平臺(tái)包括若干個(gè)計(jì)算節(jié)點(diǎn)、調(diào)度節(jié)點(diǎn)、數(shù)據(jù)節(jié)點(diǎn)和網(wǎng)關(guān)服務(wù)器;所述計(jì)算節(jié)點(diǎn)負(fù)責(zé)數(shù)據(jù)并行計(jì)算;所述調(diào)度節(jié)點(diǎn)負(fù)責(zé)用戶任務(wù)調(diào)度、控制以及結(jié)果回收;所述數(shù)據(jù)節(jié)點(diǎn)用于存放歷史數(shù)據(jù)以及結(jié)果入庫(kù)功能;所述網(wǎng)關(guān)服務(wù)器負(fù)責(zé)平臺(tái)的統(tǒng)一對(duì)外接口,包括與其他系統(tǒng)的對(duì)接以及數(shù)據(jù)同步功能。
3.如權(quán)利要求2所述的一種跨域集群計(jì)算資源聚合和分配的方法,其特征在于:所述步驟(2)中的搭建過程為:每個(gè)分級(jí)分布式集群通過網(wǎng)關(guān)將自己集群中的資源信息交給虛擬的集群資源池統(tǒng)一管理和分配,資源池自動(dòng)將不同級(jí)別的集群按文件系統(tǒng)的方式將各個(gè)集群按樹狀結(jié)構(gòu)進(jìn)行存儲(chǔ)和管理,級(jí)別和樹狀層次結(jié)構(gòu)相對(duì)應(yīng),區(qū)域名是全網(wǎng)唯一:下級(jí)單位只能分配使用直屬上級(jí)調(diào)度機(jī)構(gòu)資源。
4.如權(quán)利要求3所述的一種跨域集群計(jì)算資源聚合和分配的方法,其特征在于:多級(jí)調(diào)度分層分布式所述并行計(jì)算平臺(tái)通過采集資源信息流程和采用單節(jié)點(diǎn)管理,周期定時(shí)上報(bào)與任務(wù)調(diào)度主動(dòng)下發(fā)資源信息采集控制指令相結(jié)合的方式,定時(shí)刷新和實(shí)時(shí)刷新實(shí)體機(jī)和機(jī)群資源信息;所述分布式集群的本地機(jī)群資源匯總信息通過調(diào)度服務(wù)器實(shí)時(shí)更新至跨域分布式并行計(jì)算平臺(tái)統(tǒng)一計(jì)算資源池;通過節(jié)點(diǎn)管理按照機(jī)群任務(wù)調(diào)度下發(fā)的指令,在單節(jié)點(diǎn)內(nèi)分配計(jì)算資源。
5.如權(quán)利要求4所述的一種跨域集群計(jì)算資源聚合和分配的方法,其特征在于:所述資源信息包括本集群計(jì)算節(jié)點(diǎn)個(gè)數(shù)、集群總核數(shù)、集群可用核數(shù)、集群級(jí)別、集群區(qū)域名、本集群上級(jí)區(qū)域名、調(diào)度節(jié)點(diǎn)IP信息和資源共享標(biāo)識(shí)信息;所述信息均不借助第三方軟件采集。
6.如權(quán)利要求5所述的一種跨域集群計(jì)算資源聚合和分配的方法,其特征在于:所述步驟(3)中的登記和更新過程為:每個(gè)分布式集群上線時(shí)在資源池中建立自己的資源信息樹節(jié)點(diǎn),建立成功后再次上報(bào)資源更改自己在資源池中的資源信息;所述網(wǎng)關(guān)服務(wù)器應(yīng)用收到本地集群資源上報(bào)消息后,調(diào)用資源池服務(wù)中心接口,查找樹路徑中對(duì)應(yīng)的節(jié)點(diǎn);如果找到了樹路徑中對(duì)應(yīng)的節(jié)點(diǎn),就更新數(shù)據(jù);否則根據(jù)上級(jí)區(qū)域名查找上級(jí)區(qū)域在樹中的路徑,如果找到相應(yīng)路徑則新建節(jié)點(diǎn)和更新數(shù)據(jù)。
7.如權(quán)利要求5所述的一種跨域集群計(jì)算資源聚合和分配的方法,其特征在于:所述步驟(4)中的任務(wù)資源分配過程包括: 所述本地集群的調(diào)度服務(wù)器應(yīng)用收到本地計(jì)算請(qǐng)求后,分析任務(wù)配置文件得到該任務(wù)模板所需的總核數(shù); 調(diào)用資源池信息查詢結(jié)構(gòu)找到本地集群資源信息,判斷本地資源是否夠用,如果夠用就直接向本地集群調(diào)度節(jié)點(diǎn)下達(dá)計(jì)算命令消息; 如果本地資源不夠用,重新查找資源池本地集群的上級(jí)集群是否有可用的集群資源,如果找到可用的資源,則根據(jù)對(duì)方網(wǎng)關(guān)IP地址信息將本地計(jì)算數(shù)據(jù)同步過去,再通過消息發(fā)送共享請(qǐng)求計(jì)算消息; 如果資源池中找不到可用集群,則將該任務(wù)按優(yōu)先級(jí)順序加入任務(wù)等待隊(duì)列。
8.如權(quán)利要求7所述的一種跨域集群計(jì)算資源聚合和分配的方法,其特征在于:所述調(diào)度服務(wù)器應(yīng)用包括用于監(jiān)視資源池可用資源信息變化事件的監(jiān)視事件線程;如果所述線程被觸發(fā),則檢查任務(wù)隊(duì)列是否有任務(wù),如果有任務(wù),再按所述步驟(4)為隊(duì)列里的任務(wù)分配資源。
9.如權(quán)利要求5所述的一種跨域集群計(jì)算資源聚合和分配的方法,其特征在于:所述步驟(5)中的任務(wù)提交和結(jié)果回收過程包括: 用戶向本地集群調(diào)度節(jié)點(diǎn)提交計(jì)算任務(wù); 本地集群的調(diào)度服務(wù)器應(yīng)用收到計(jì)算請(qǐng)求后,進(jìn)行任務(wù)分析,根據(jù)申請(qǐng)資源情況確定是否任務(wù)需要拆分;如果不拆分,則只向申請(qǐng)到的本地或者異地的集群發(fā)送計(jì)算指令消息;如果需要拆分,則重新生成計(jì)算任務(wù)配置文件,然后向兩個(gè)或多個(gè)集群發(fā)送計(jì)算指令消息;如果需要向異地集群發(fā)送計(jì)算請(qǐng)求,則進(jìn)行計(jì)算指令發(fā)送之前還要有計(jì)算數(shù)據(jù)同步到異地調(diào)度服務(wù)器; 本地集群或者是異地集群收到本方調(diào)度服務(wù)器計(jì)算指令后,由集群內(nèi)部計(jì)算機(jī)制調(diào)用相應(yīng)計(jì)算程序參與計(jì)算,當(dāng)計(jì)算完成后,根據(jù)需要將結(jié)果返回到本方調(diào)度應(yīng)用服務(wù)器; 調(diào)度服務(wù)器接收到異地共享集群調(diào)度節(jié)點(diǎn)返回的計(jì)算結(jié)果后,根據(jù)任務(wù)屬性判斷結(jié)果屬于本集群計(jì)算還是遠(yuǎn)程異地集群計(jì)算,然后再調(diào)用入庫(kù)程序進(jìn)行入庫(kù)操作。
10.如權(quán)利要求9所述的一種跨域集群計(jì)算資源聚合和分配的方法,其特征在于:當(dāng)用戶向本地集群調(diào)度節(jié)點(diǎn)提交計(jì)算任務(wù)時(shí),調(diào)度節(jié)點(diǎn)向本集群網(wǎng)關(guān)節(jié)點(diǎn)和所有計(jì)算節(jié)點(diǎn)組播計(jì)算數(shù)據(jù)。
【文檔編號(hào)】G06F9/50GK104461740SQ201410770923
【公開日】2015年3月25日 申請(qǐng)日期:2014年12月12日 優(yōu)先權(quán)日:2014年12月12日
【發(fā)明者】周智強(qiáng), 陳勇, 劉娜娜, 何春江, 郭中華 申請(qǐng)人:國(guó)家電網(wǎng)公司, 中國(guó)電力科學(xué)研究院