專(zhuān)利名稱(chēng):一種計(jì)算機(jī)機(jī)群作業(yè)調(diào)度方法和系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計(jì)算機(jī)技術(shù),特別是指一種計(jì)算機(jī)機(jī)群作業(yè)調(diào)度方法和系統(tǒng)。
背景技術(shù):
隨著對(duì)計(jì)算需求的日益擴(kuò)大,用于計(jì)算的計(jì)算機(jī)機(jī)群的規(guī)模也日益增長(zhǎng),基于無(wú) 盤(pán)工作方式的機(jī)群成為高性能機(jī)群發(fā)展的一種必然趨勢(shì),在無(wú)盤(pán)機(jī)群中,所有計(jì)算結(jié)點(diǎn)間 的通信、數(shù)據(jù)訪問(wèn)和存取等操作均通過(guò)交換機(jī)進(jìn)行,交換機(jī)的數(shù)據(jù)吞吐量會(huì)非常大,端口間 的交互會(huì)非常頻繁,并且如果機(jī)群規(guī)模比較龐大,則計(jì)算結(jié)點(diǎn)有成百上千個(gè),這些結(jié)點(diǎn)通過(guò) 多個(gè)邊緣交換機(jī)以及核心交換機(jī)實(shí)現(xiàn)連接,形成的網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)異常復(fù)雜,因此在跨交 換機(jī)的結(jié)點(diǎn)之間傳輸數(shù)據(jù)會(huì)明顯延時(shí)?,F(xiàn)有技術(shù)中,在分配作業(yè)業(yè)務(wù)時(shí),通常不考慮機(jī)群中各結(jié)點(diǎn)間的網(wǎng)絡(luò)互聯(lián)拓?fù)?,?考慮結(jié)點(diǎn)本身的資源忙閑程度以及作業(yè)對(duì)這些資源的需求強(qiáng)弱來(lái)給作業(yè)分配計(jì)算結(jié)點(diǎn)。發(fā)明人在實(shí)現(xiàn)本發(fā)明的過(guò)程中,發(fā)現(xiàn)現(xiàn)有技術(shù)中至少存在如下問(wèn)題在無(wú)盤(pán)工作 方式的機(jī)群中,僅考慮結(jié)點(diǎn)本身的資源以分配作業(yè),而不考慮連接結(jié)點(diǎn)的端口帶寬和復(fù)雜 的網(wǎng)絡(luò)結(jié)構(gòu)導(dǎo)致的數(shù)據(jù)傳輸?shù)难舆t性或網(wǎng)絡(luò)阻塞造成的作業(yè)運(yùn)行效率差等一系列問(wèn)題,這 種分配策略已不能滿足大規(guī)模計(jì)算過(guò)程中遇到的數(shù)據(jù)傳輸?shù)难舆t性或網(wǎng)絡(luò)阻塞等問(wèn)題,也 無(wú)法最大限度地利用可用的計(jì)算資源以實(shí)現(xiàn)利益最大化。
發(fā)明內(nèi)容
本發(fā)明的目的是提供一種計(jì)算機(jī)機(jī)群作業(yè)調(diào)度方法和系統(tǒng),用于解決現(xiàn)有技術(shù) 中,為結(jié)點(diǎn)分配作業(yè)的分配策略已不能滿足大規(guī)模計(jì)算過(guò)程中遇到的數(shù)據(jù)傳輸?shù)难舆t性或 網(wǎng)絡(luò)阻塞等問(wèn)題,也無(wú)法最大限度地利用可用的計(jì)算資源以實(shí)現(xiàn)利益最大化的問(wèn)題。一種計(jì)算機(jī)機(jī)群作業(yè)調(diào)度系統(tǒng),包括至少一個(gè)計(jì)算單元塊,每一個(gè)計(jì)算單元塊均 與核心交換機(jī)連接,用于完成作業(yè)和/或傳輸數(shù)據(jù)的任務(wù);核心交換機(jī),與所述計(jì)算單元塊 連接,用于采集所述計(jì)算單元塊的工作參數(shù),對(duì)每一個(gè)工作參數(shù)設(shè)置一個(gè)權(quán)值,根據(jù)所述工 作參數(shù)以及對(duì)應(yīng)的權(quán)值編制各個(gè)計(jì)算單元塊對(duì)應(yīng)的負(fù)載平衡指數(shù);按照預(yù)定策略,根據(jù)所 述負(fù)載平衡指數(shù)為計(jì)算單元塊分配作業(yè)和/或傳輸數(shù)據(jù)的任務(wù)。上述系統(tǒng)中,所述計(jì)算單元塊中包括邊緣交換機(jī),與至少一個(gè)計(jì)算結(jié)點(diǎn)連接,并 與所述核心交換機(jī)連接,用于接收來(lái)自所述核心交換機(jī)的作業(yè);將作業(yè)分解為多個(gè)具體作 業(yè),為所述計(jì)算單元塊中的各個(gè)計(jì)算結(jié)點(diǎn)分配所述具體作業(yè);計(jì)算結(jié)點(diǎn),用于完成被分配到 的具體作業(yè)。上述系統(tǒng)中,所述計(jì)算單元塊中包括存儲(chǔ)區(qū)域網(wǎng)絡(luò)交換機(jī),與多個(gè)I/O結(jié)點(diǎn)連 接,并與所述核心交換機(jī)連接,用于接收來(lái)自所述核心交換機(jī)的傳輸任務(wù);將傳輸任務(wù)分解 為多個(gè)具體傳輸任務(wù),為所述計(jì)算單元塊中的各個(gè)所述I/O結(jié)點(diǎn)分配所述具體傳輸任務(wù); I/O結(jié)點(diǎn),用于傳輸數(shù)據(jù)。上述系統(tǒng)中,所述工作參數(shù)具體為所述邊緣交換機(jī)與所述計(jì)算結(jié)點(diǎn)連接的端口的實(shí)時(shí)流量、計(jì)算結(jié)點(diǎn)CPU使用情況、計(jì)算結(jié)點(diǎn)CPU禾Ij用率、計(jì)算結(jié)點(diǎn)內(nèi)存使用率、計(jì)算結(jié)點(diǎn) 磁盤(pán)使用率中的一種或多種工作參數(shù)的組合;或者,所述工作參數(shù)具體為所述存儲(chǔ)區(qū)域 網(wǎng)絡(luò)交換機(jī)與所述I/O結(jié)點(diǎn)連接的端口的實(shí)時(shí)流量、I/O結(jié)點(diǎn)CPU使用情況、I/O結(jié)點(diǎn)CPU 利用率、I/O結(jié)點(diǎn)內(nèi)存使用率、I/O結(jié)點(diǎn)磁盤(pán)使用率中的一種或多種工作參數(shù)的組合;所述 負(fù)載平衡指數(shù)具體為由選定的一種或多種工作參數(shù)與對(duì)應(yīng)權(quán)值的乘積作為因子,各個(gè)因 子的和。上述系統(tǒng)中,所述預(yù)定策略包括在整個(gè)機(jī)群中,按照第一負(fù)載平衡指數(shù)由小到大 的順序?yàn)樽鳂I(yè)正式分配計(jì)算單元塊,所述第一負(fù)載平衡指數(shù)用于描述所述計(jì)算單元塊的負(fù) 載情況;在一個(gè)計(jì)算單元塊中,按照第二負(fù)載平衡指數(shù)由小到大的順序?yàn)樽鳂I(yè)正式分配計(jì) 算結(jié)點(diǎn)或I/O結(jié)點(diǎn),所述第二負(fù)載平衡指數(shù)用于描述所述計(jì)算單元塊中的計(jì)算結(jié)點(diǎn)或I/O 結(jié)點(diǎn)的負(fù)載情況。一種計(jì)算機(jī)機(jī)群作業(yè)調(diào)度方法,應(yīng)用在計(jì)算機(jī)作業(yè)調(diào)度系統(tǒng)中,包括采集計(jì)算單 元塊的工作參數(shù),對(duì)每一個(gè)工作參數(shù)設(shè)置一個(gè)權(quán)值,根據(jù)所述工作參數(shù)以及對(duì)應(yīng)的權(quán)值,編 制各個(gè)計(jì)算單元塊對(duì)應(yīng)的負(fù)載平衡指數(shù);按照預(yù)定策略,根據(jù)所述負(fù)載平衡指數(shù)為計(jì)算單 元塊分配作業(yè);由計(jì)算單元塊完成計(jì)算和/或傳輸數(shù)據(jù)的任務(wù)。上述方法中,根據(jù)所述負(fù)載平衡指數(shù)為計(jì)算單元塊分配作業(yè),之后還包括由計(jì)算 單元塊接收來(lái)自核心交換機(jī)的作業(yè)任務(wù);將作業(yè)任務(wù)分解為多個(gè)具體作業(yè),為所述計(jì)算單 元塊中的各個(gè)計(jì)算結(jié)點(diǎn)分配具體作業(yè)。上述方法中,根據(jù)所述負(fù)載平衡指數(shù)為計(jì)算單元塊分配作業(yè),之后還包括接收來(lái) 自核心交換機(jī)的傳輸任務(wù);將傳輸任務(wù)分解為多個(gè)具體傳輸任務(wù),為所述計(jì)算單元塊中的 各個(gè)I/O結(jié)點(diǎn)分配具體傳輸任務(wù)。上述方法中,所述工作參數(shù)為邊緣交換機(jī)與計(jì)算結(jié)點(diǎn)連接的端口的實(shí)時(shí)流量、計(jì) 算結(jié)點(diǎn)CPU使用情況、計(jì)算結(jié)點(diǎn)CPU利用率、計(jì)算結(jié)點(diǎn)內(nèi)存使用率、計(jì)算結(jié)點(diǎn)磁盤(pán)使用率中 的一種或多種工作參數(shù)的組合;或者,所述工作參數(shù)具體為所述存儲(chǔ)區(qū)域網(wǎng)絡(luò)交換機(jī)與 所述I/O結(jié)點(diǎn)連接的端口的實(shí)時(shí)流量、I/O結(jié)點(diǎn)CPU使用情況、I/O結(jié)點(diǎn)CPU利用率、I/O結(jié) 點(diǎn)內(nèi)存使用率、I/O結(jié)點(diǎn)磁盤(pán)使用率中的一種或多種工作參數(shù)的組合;由選定的一種或多 種工作參數(shù)與對(duì)應(yīng)權(quán)值的乘積作為因子,各個(gè)因子的和作為所述負(fù)載平衡指數(shù)。上述方法中,所述預(yù)定策略包括在整個(gè)機(jī)群中,按照第一負(fù)載平衡指數(shù)由小到大 的順序?yàn)樽鳂I(yè)正式分配計(jì)算單元塊,所述第一負(fù)載平衡指數(shù)用于描述所述計(jì)算單元塊的負(fù) 載情況;在一個(gè)計(jì)算單元塊中,按照第二負(fù)載平衡指數(shù)由小到大的順序?yàn)樽鳂I(yè)正式分配計(jì) 算結(jié)點(diǎn)或I/O結(jié)點(diǎn),所述第二負(fù)載平衡指數(shù)用于描述所述計(jì)算單元塊中的計(jì)算結(jié)點(diǎn)或I/O 結(jié)點(diǎn)的負(fù)載情況。應(yīng)用上述技術(shù)方案,將作業(yè)分配給多個(gè)計(jì)算單元塊,對(duì)于結(jié)點(diǎn)規(guī)模比較大的機(jī)群 系統(tǒng)而言降低了作業(yè)系統(tǒng)管理員的工作量,提高了作業(yè)管理系統(tǒng)的運(yùn)行效率,避免了某個(gè) 端口過(guò)于繁忙或空閑而導(dǎo)致的跨交換機(jī)端口數(shù)據(jù)交互的堵塞性;不僅考慮了結(jié)點(diǎn)本身的資 源負(fù)載情況,并且考慮數(shù)據(jù)傳輸過(guò)程中的網(wǎng)絡(luò)延時(shí)性,大大提高了系統(tǒng)資源利用率、使分配 策略更加合理。
圖1為本發(fā)明實(shí)施例一種計(jì)算機(jī)作業(yè)調(diào)度系統(tǒng)結(jié)構(gòu)示意圖一;圖2為本發(fā)明實(shí)施例一種計(jì)算機(jī)作業(yè)調(diào)度系統(tǒng)結(jié)構(gòu)示意圖二 ;圖3為本發(fā)明實(shí)施例工作過(guò)程流程圖一;圖4為本發(fā)明實(shí)施例工作過(guò)程流程圖二。
具體實(shí)施例方式為使本發(fā)明的目的、技術(shù)特征和實(shí)施效果更加清楚,下面將結(jié)合附圖及具體實(shí)施 例對(duì)本發(fā)明的技術(shù)方案進(jìn)行詳細(xì)描述。本發(fā)明提供的實(shí)施例中,提供一種計(jì)算機(jī)機(jī)群作業(yè)調(diào)度系統(tǒng),如圖1所示,包括計(jì)算單元塊101,每一個(gè)計(jì)算單元塊101均與核心交換機(jī)(InfiniBand交換 機(jī))102連接,用于完成計(jì)算和/或傳輸數(shù)據(jù)的任務(wù)。核心交換機(jī)102,用于對(duì)于一個(gè)計(jì)算單元塊101,通過(guò)與該計(jì)算單元塊101的連接 采集該計(jì)算單元塊101的工作參數(shù),對(duì)每一個(gè)工作參數(shù)設(shè)置一個(gè)權(quán)值,根據(jù)所述工作參數(shù) 以及對(duì)應(yīng)的權(quán)值,編制各個(gè)計(jì)算單元塊101對(duì)應(yīng)的負(fù)載平衡指數(shù);按照預(yù)定策略,根據(jù)所述 負(fù)載平衡指數(shù)為計(jì)算單元塊101分配作業(yè)。應(yīng)用上述技術(shù)方案,將作業(yè)分配給多個(gè)計(jì)算單元塊101,對(duì)于結(jié)點(diǎn)規(guī)模比較大的機(jī) 群系統(tǒng)而言降低了作業(yè)系統(tǒng)管理員的工作量,提高了作業(yè)管理系統(tǒng)的運(yùn)行效率,避免了某 個(gè)端口過(guò)于繁忙或空閑而導(dǎo)致的跨交換機(jī)端口數(shù)據(jù)交互的堵塞性;不僅考慮了結(jié)點(diǎn)本身的 資源負(fù)載情況,并且考慮數(shù)據(jù)傳輸過(guò)程中的網(wǎng)絡(luò)延時(shí)性,大大提高了系統(tǒng)資源利用率、使分 配策略更加合理。為進(jìn)一步優(yōu)化上述技術(shù)方案,采集該計(jì)算單元塊101的工作參數(shù)包括端口實(shí)時(shí) 流量、CPU使用情況、CPU利用率、內(nèi)存使用率、磁盤(pán)使用率等,可以是其中的一個(gè)或多個(gè)的 組合。如圖2所示,計(jì)算單元塊101中包括邊緣交換機(jī)103,以及計(jì)算結(jié)點(diǎn)104 ;其中,邊緣交換機(jī)103,與若干個(gè)計(jì)算結(jié)點(diǎn)104連接,并與核心交換機(jī)102連接,用于接收 來(lái)自核心交換機(jī)102的塊作業(yè);將塊作業(yè)分解為若干個(gè)具體作業(yè),為當(dāng)前的計(jì)算單元塊101 中的各個(gè)計(jì)算結(jié)點(diǎn)104分配具體作業(yè),并實(shí)現(xiàn)當(dāng)前的計(jì)算單元塊101中的各個(gè)計(jì)算結(jié)點(diǎn)104 之間的作業(yè)調(diào)度。計(jì)算結(jié)點(diǎn)104,用于完成具體作業(yè)。在無(wú)盤(pán)機(jī)群系統(tǒng)中,根據(jù)提供的技術(shù)方案中,可以看出,核心交換機(jī)102與若干個(gè) 計(jì)算單元塊101連接,根據(jù)各個(gè)計(jì)算單元塊101的第一負(fù)載平衡指數(shù),將作業(yè)分配給計(jì)算單 元塊101,為表示區(qū)別,計(jì)算單元塊101所接到的作業(yè)稱(chēng)為塊作業(yè);實(shí)際上,是由計(jì)算單元塊 101中的邊緣交換機(jī)103接到塊作業(yè),將塊作業(yè)分解成若干個(gè)具體作業(yè),根據(jù)各個(gè)計(jì)算結(jié)點(diǎn) 104的第二負(fù)載平衡指數(shù)將具體作業(yè)再次下發(fā)給不同的計(jì)算結(jié)點(diǎn)104。為揭示工作原理,如圖3所示,對(duì)所涉及到的各個(gè)單元模塊的工作過(guò)程描述如下工作參數(shù)設(shè)定為邊緣交換機(jī)103端口流量,計(jì)算結(jié)點(diǎn)104的資源負(fù)載,及計(jì)算結(jié) 點(diǎn)104的網(wǎng)絡(luò)位置,綜合這三種權(quán)衡指標(biāo),將作業(yè)分配到具體的計(jì)算結(jié)點(diǎn)104負(fù)載。步驟201,按照機(jī)群系統(tǒng)中邊緣交換機(jī)103的個(gè)數(shù)對(duì)所有計(jì)算結(jié)點(diǎn)104分塊Block
6形成若干個(gè)計(jì)算單元塊101 ;—個(gè)計(jì)算單元塊101中包括一個(gè)邊緣交換機(jī)103,若干個(gè)計(jì) 算結(jié)點(diǎn)104。步驟202,根據(jù)作業(yè)確定計(jì)算結(jié)點(diǎn)104本身的資源負(fù)載的權(quán)值,邊緣交換機(jī)103端 口流量的權(quán)值,邊緣交換機(jī)103端口流量的權(quán)值。步驟203,通過(guò)計(jì)算獲取各計(jì)算結(jié)點(diǎn)104的第二負(fù)載平衡指數(shù),從而計(jì)算出每個(gè)計(jì) 算單元塊101的第一負(fù)載平衡指數(shù),作為衡量該計(jì)算單元塊101整體工作繁忙程度的標(biāo)準(zhǔn)。步驟204,根據(jù)每一計(jì)算單元塊101的第一負(fù)載平衡指數(shù),確定整個(gè)系統(tǒng)的負(fù)載平 衡閾值。步驟205,按照計(jì)算單元塊101的第一負(fù)載平衡指數(shù)遞增的順序?yàn)樽鳂I(yè)分配計(jì)算 單元塊101,以及計(jì)算單元塊101中的計(jì)算結(jié)點(diǎn)104。且允許分配的計(jì)算單元塊101的第一 負(fù)載平衡指數(shù)以及計(jì)算結(jié)點(diǎn)104的第二負(fù)載平衡指數(shù)均要小于負(fù)載平衡閾值。由于跨邊緣交換機(jī)103的計(jì)算結(jié)點(diǎn)104之間數(shù)據(jù)的交互通過(guò)核心交換機(jī)102進(jìn) 行,數(shù)據(jù)在核心交換機(jī)102內(nèi)部的滯留時(shí)間以及核心交換機(jī)102和邊緣交換機(jī)103之間的 切換時(shí)間,經(jīng)測(cè)試其延時(shí)要遠(yuǎn)遠(yuǎn)小于等待一個(gè)計(jì)算單元塊101中的計(jì)算結(jié)點(diǎn)104運(yùn)行作業(yè) 的延時(shí)。采用本方案之后,平衡了無(wú)盤(pán)系統(tǒng)中各邊緣交換機(jī)103本身的負(fù)載,避免了某個(gè) 邊緣交換機(jī)103的端口過(guò)于繁忙或空閑而導(dǎo)致的跨交換機(jī)端口數(shù)據(jù)交互出現(xiàn)堵塞;根據(jù)邊 緣交換機(jī)103分塊以平衡資源,對(duì)于結(jié)點(diǎn)規(guī)模比較大的機(jī)群系統(tǒng)降低了作業(yè)系統(tǒng)管理員的 工作量,提高了作業(yè)管理系統(tǒng)的運(yùn)行效率。上述分配策略不僅考慮了計(jì)算結(jié)點(diǎn)104本身的 資源負(fù)載情況,且把邊緣交換機(jī)103端口的實(shí)時(shí)流量也作為一個(gè)分配的權(quán)衡指標(biāo),并且考 慮網(wǎng)絡(luò)延時(shí)性,優(yōu)先同邊緣交換機(jī)103再考慮跨邊緣交換機(jī)103,提高了系統(tǒng)資源利用率、 使分配策略更加合理。對(duì)上述技術(shù)方案進(jìn)行拓展,由于機(jī)群系統(tǒng)中并不僅僅存在計(jì)算結(jié)點(diǎn)104,也可以存 在其他類(lèi)型的結(jié)點(diǎn),如圖2所示,包括計(jì)算單元塊101,每一個(gè)計(jì)算單元塊101均與核心交換機(jī)102連接,用于完成計(jì)算 和/或傳輸數(shù)據(jù)的任務(wù)。核心交換機(jī)102,用于對(duì)于一個(gè)計(jì)算單元塊101,通過(guò)與該計(jì)算單元塊101的連接 采集該計(jì)算單元塊101的工作參數(shù),對(duì)每一個(gè)工作參數(shù)設(shè)置一個(gè)權(quán)值,根據(jù)所述工作參數(shù) 以及對(duì)應(yīng)的權(quán)值,編制各個(gè)計(jì)算單元塊101對(duì)應(yīng)的負(fù)載平衡指數(shù);按照預(yù)定策略,根據(jù)所述 負(fù)載平衡指數(shù)為計(jì)算單元塊101分配作業(yè)。計(jì)算單元塊101中包括邊緣交換機(jī)103,以及計(jì)算結(jié)點(diǎn)104 ;其中,邊緣交換機(jī)103,與若干個(gè)計(jì)算結(jié)點(diǎn)104連接,并與核心交換機(jī)102連接,用于接收 來(lái)自核心交換機(jī)102的塊作業(yè);將塊作業(yè)分解為若干個(gè)具體作業(yè),為當(dāng)前的計(jì)算單元塊101 中的各個(gè)計(jì)算結(jié)點(diǎn)104分配具體作業(yè),并實(shí)現(xiàn)當(dāng)前的計(jì)算單元塊101中的各個(gè)計(jì)算結(jié)點(diǎn)104 之間的作業(yè)調(diào)度。計(jì)算結(jié)點(diǎn)104,用于完成具體作業(yè)。I/O結(jié)點(diǎn)105,用于傳輸數(shù)據(jù)。存儲(chǔ)區(qū)域網(wǎng)絡(luò)交換機(jī)(SAN,Storage Area Network) 106,與I/O結(jié)點(diǎn)105連接,磁盤(pán)陣列107,與存儲(chǔ)區(qū)域網(wǎng)絡(luò)交換機(jī)106連接,
管理端108,與核心交換機(jī)102連接,或者嵌入核心交換機(jī)102,用于提供交互界在工作過(guò)程中,包括步驟301,管理端108通過(guò)無(wú)盤(pán)機(jī)群中核心交換機(jī)102提供的應(yīng)用程序編程接口 (API, Application Programming Interface),獲取整個(gè)機(jī)群的拓?fù)浣Y(jié)構(gòu),確定計(jì)算結(jié)點(diǎn) 104、邊緣交換機(jī)103以及核心交換機(jī)102之間的連接關(guān)系。為機(jī)群中的邊緣交換機(jī)103編號(hào)1 N ;每一個(gè)計(jì)算單元塊101中含有一個(gè)邊緣交 換機(jī)103,該邊緣交換機(jī)103與若干個(gè)計(jì)算結(jié)點(diǎn)104連接,從而把計(jì)算結(jié)點(diǎn)104劃分到1 N個(gè)計(jì)算單元塊101中。步驟302,管理端108啟動(dòng)一個(gè)父進(jìn)程,該父進(jìn)程啟動(dòng)并管理N個(gè)服務(wù)線程,一個(gè)服 務(wù)線程對(duì)應(yīng)一個(gè)邊緣交換機(jī)103,負(fù)責(zé)實(shí)現(xiàn)該邊緣交換機(jī)103上各計(jì)算結(jié)點(diǎn)104的數(shù)據(jù)通信 以及計(jì)算該計(jì)算單元塊101的第一負(fù)載平衡指數(shù)、第二負(fù)載平衡指數(shù)等相關(guān)操作。步驟303,設(shè)置機(jī)群中計(jì)算結(jié)點(diǎn)104的第二負(fù)載平衡指數(shù);具體包括連接計(jì)算結(jié) 點(diǎn)104的端口實(shí)時(shí)流量、CPU使用情況、CPU利用率、內(nèi)存使用率、磁盤(pán)使用率中的一種或多 種組合;按照作業(yè)對(duì)各種資源需求由高到低為各平衡指標(biāo)設(shè)置從大到小的權(quán)值,例如作業(yè) 對(duì)CPU利用率需求最高,則設(shè)置CPU利用率的權(quán)值最高;管理端108各服務(wù)線程通過(guò)SOCKET 把第二負(fù)載平衡指數(shù)及權(quán)值發(fā)送給位于計(jì)算單元塊101上的作業(yè)管理系統(tǒng)客戶端。步驟304,所述作業(yè)管理系統(tǒng)客戶端收到管理端108發(fā)送來(lái)的第二負(fù)載平衡指數(shù)及 權(quán)值后,計(jì)算第二負(fù)載平衡指數(shù)的數(shù)值,然后把該數(shù)值發(fā)送給管理端108對(duì)應(yīng)的服務(wù)線程。步驟305,管理端108的服務(wù)線程在收到所對(duì)應(yīng)(管轄)的計(jì)算單元塊101中的所 有計(jì)算結(jié)點(diǎn)104發(fā)送過(guò)來(lái)的數(shù)值后,計(jì)算本計(jì)算單元塊101的第一負(fù)載平衡指數(shù);同時(shí),管 理端108父進(jìn)程根據(jù)所有服務(wù)線程計(jì)算的各計(jì)算單元塊101的第一負(fù)載平衡指數(shù)計(jì)算整個(gè) 機(jī)群系統(tǒng)的第一閾值。步驟306,管理端108的父進(jìn)程在得到各組數(shù)據(jù)后,按照計(jì)算單元塊101的第一負(fù) 載平衡指數(shù)由小到大的順序?yàn)樽鳂I(yè)預(yù)分配計(jì)算單元塊101中的計(jì)算結(jié)點(diǎn)104,分配規(guī)則如 下,但不限于以下規(guī)則規(guī)則(1),在整個(gè)機(jī)群中,優(yōu)先分配第一負(fù)載平衡指數(shù)小于第一閾值的計(jì)算單元塊 101。規(guī)則O),在一個(gè)計(jì)算單元塊101中,優(yōu)先分配第二負(fù)載平衡指數(shù)小于第二閾值的 計(jì)算結(jié)點(diǎn)104。規(guī)則(3),若位于第一負(fù)載平衡指數(shù)最小的計(jì)算單元塊101中的計(jì)算結(jié)點(diǎn)104, 且第二負(fù)載平衡指數(shù)小于第二閾值的個(gè)數(shù)大于等于作業(yè)要求分配的計(jì)算結(jié)點(diǎn)104總數(shù), 則在這些計(jì)算結(jié)點(diǎn)104中按照第二負(fù)載平衡指數(shù)由小到大的順序?yàn)樽鳂I(yè)正式分配計(jì)算結(jié) 點(diǎn)104,開(kāi)始運(yùn)行作業(yè),此時(shí)所有被分配運(yùn)行作業(yè)的計(jì)算結(jié)點(diǎn)104連接在同一個(gè)邊緣交換機(jī) 103 上。規(guī)則,若位于第一負(fù)載平衡指數(shù)最小的計(jì)算單元塊101中的計(jì)算結(jié)點(diǎn)104,且 第二負(fù)載平衡指數(shù)小于第二閾值的個(gè)數(shù)小于作業(yè)要求分配的計(jì)算結(jié)點(diǎn)104總數(shù);則,分配 位于第一負(fù)載平衡指數(shù)次小的計(jì)算單元塊101中的計(jì)算結(jié)點(diǎn)104,且第二負(fù)載平衡指數(shù)小于第二閾值的計(jì)算結(jié)點(diǎn)104,并且,仍然按照第二負(fù)載平衡指數(shù)由小到大的順序;若第一負(fù) 載平衡指數(shù)次小的計(jì)算單元塊101中的計(jì)算結(jié)點(diǎn)104依然不夠分配,則在第一負(fù)載平衡指
數(shù)第三小的計(jì)算單元塊101中分配,......,第一負(fù)載平衡指數(shù)第η小的計(jì)算單元塊101中
分配,方法類(lèi)似,此時(shí)所有被分配運(yùn)行的計(jì)算結(jié)點(diǎn)104跨多個(gè)邊緣交換機(jī)103實(shí)現(xiàn)通信。需要說(shuō)明的是,分配規(guī)則并不局限于上述的規(guī)則(1) 規(guī)則(4),由于作業(yè)優(yōu)先級(jí) 的不同,以及計(jì)算單元塊101的優(yōu)先級(jí)也可能不同,因此,不同優(yōu)先級(jí)的作業(yè)可能分配給不 同優(yōu)先級(jí)的計(jì)算單元塊101,這包括作業(yè)的優(yōu)先級(jí)分為a、b和c ;計(jì)算單元塊101的優(yōu)先級(jí)分為A、B和C ;管理端108在統(tǒng)計(jì)計(jì)算單元塊101的過(guò)程中,根據(jù)第一負(fù)載平衡指數(shù)由小到大的 順序排列計(jì)算單元塊101,但是,由于各個(gè)計(jì)算單元塊101的優(yōu)先級(jí)不同,因此,在執(zhí)行規(guī)則 (3)和規(guī)則的時(shí)候,并不必然從第一負(fù)載平衡指數(shù)最小的計(jì)算單元塊101開(kāi)始;例如, 作業(yè)優(yōu)先級(jí)為b,但是第一負(fù)載平衡指數(shù)最小的計(jì)算單元塊101的優(yōu)先級(jí)為A,由于優(yōu)先級(jí)A 高于優(yōu)先級(jí)b,因此不再為該作業(yè)分配第一負(fù)載平衡指數(shù)最小的計(jì)算單元塊101,而是根據(jù) 第一負(fù)載平衡指數(shù)從小到大的順序,尋找優(yōu)先級(jí)B或者優(yōu)先級(jí)C的計(jì)算單元塊101進(jìn)行分 配。上述技術(shù)方案中,第一負(fù)載平衡指數(shù)用于衡量不同的計(jì)算單元塊101的負(fù)載情 形,考慮到地理位置的差異,不同的計(jì)算單元塊101位于不同的地理位置處,由于在一個(gè)國(guó) 家或者地區(qū),往往計(jì)算單元塊101集中在幾個(gè)大城市,例如在一個(gè)城市中,存在多個(gè)計(jì)算單 元塊101,則這幾個(gè)計(jì)算單元塊101合在一起,用區(qū)域負(fù)載平衡指數(shù)進(jìn)行描述。則,在分配計(jì) 算結(jié)點(diǎn)104的過(guò)程中,可以根據(jù)區(qū)域負(fù)載平衡指數(shù)先指定位于同一個(gè)區(qū)域(城市)的多個(gè) 計(jì)算單元塊101,之后再根據(jù)規(guī)則(1) 規(guī)則G),分配不同計(jì)算單元塊101中的計(jì)算結(jié)點(diǎn) 104。圖2中,不僅存在計(jì)算結(jié)點(diǎn)104,而且還存在其他類(lèi)型的器件,例如1/0結(jié)點(diǎn)105, 用于傳輸數(shù)據(jù)。一個(gè)存儲(chǔ)區(qū)域網(wǎng)絡(luò)交換機(jī)106與多個(gè)I/O結(jié)點(diǎn)105連接,形成一個(gè)計(jì)算單 元塊101,則管理端108在為當(dāng)前的作業(yè)分配I/O結(jié)點(diǎn)105的過(guò)程中,仍然需要根據(jù)對(duì)應(yīng)的 負(fù)載平衡指數(shù)進(jìn)行分配。管理端108的父進(jìn)程在得到各組數(shù)據(jù)后,按照計(jì)算單元塊101的第一流量平衡指 數(shù)由小到大的順序?yàn)樽鳂I(yè)預(yù)分配計(jì)算單元塊101中的I/O結(jié)點(diǎn)105,分配規(guī)則如下,但不限 于以下規(guī)則規(guī)則①,在整個(gè)機(jī)群中,優(yōu)先分配第一流量平衡指數(shù)小于第一流量閾值的計(jì)算單 元塊101。規(guī)則②,在一個(gè)計(jì)算單元塊101中,優(yōu)先分配第二流量平衡指數(shù)小于第二流量閾 值的I/O結(jié)點(diǎn)105。規(guī)則③,若位于第一流量平衡指數(shù)最小的計(jì)算單元塊101中的I/O結(jié)點(diǎn)105,且第 二流量平衡指數(shù)小于第二流量閾值的個(gè)數(shù)大于等于作業(yè)要求分配的I/O結(jié)點(diǎn)105總數(shù),則 在這些I/O結(jié)點(diǎn)105中按照第二流量平衡指數(shù)由小到大的順序?yàn)樽鳂I(yè)正式分配I/O結(jié)點(diǎn) 105,開(kāi)始運(yùn)行作業(yè),此時(shí)所有被分配運(yùn)行作業(yè)的I/O結(jié)點(diǎn)105連接在同一個(gè)邊緣交換機(jī)103上。規(guī)則④,若位于第一流量平衡指數(shù)最小的計(jì)算單元塊101中的I/O結(jié)點(diǎn)105,且第二流量平衡指數(shù)小于第二流量閾值的個(gè)數(shù)小于作業(yè)要求分配的I/O結(jié)點(diǎn)105總數(shù);則,分配 位于第一流量平衡指數(shù)次小的計(jì)算單元塊101中的I/O結(jié)點(diǎn)105,且第二流量平衡指數(shù)小于 第二流量閾值的I/O結(jié)點(diǎn)105,并且,仍然按照第二流量平衡指數(shù)由小到大的順序;若第一 流量平衡指數(shù)次小的計(jì)算單元塊101中的I/O結(jié)點(diǎn)105依然不夠分配,則在第一流量平衡
指數(shù)第三小的計(jì)算單元塊101中分配,......,第一流量平衡指數(shù)第η小的計(jì)算單元塊101
中分配,方法類(lèi)似,此時(shí)所有被分配運(yùn)行的I/O結(jié)點(diǎn)105跨多個(gè)邊緣交換機(jī)103實(shí)現(xiàn)通信。上述規(guī)則無(wú)法做到窮舉,因此,本領(lǐng)域技術(shù)人員應(yīng)當(dāng)理解的是,根據(jù)實(shí)際情形的不 同,可以對(duì)上述規(guī)則進(jìn)行適當(dāng)?shù)男薷?,使得修改之后的分配?guī)則能夠滿足實(shí)際需要,但是, 只要其技術(shù)方案應(yīng)用了類(lèi)似負(fù)載平衡指數(shù)的技術(shù)特征,則應(yīng)當(dāng)認(rèn)為其與本申請(qǐng)的發(fā)明思想 是一致的。本發(fā)明的實(shí)施例具有以下有益效果,將作業(yè)分配給多個(gè)計(jì)算單元塊,對(duì)于結(jié)點(diǎn)規(guī) 模比較大的機(jī)群系統(tǒng)而言降低了作業(yè)系統(tǒng)管理員的工作量,提高了作業(yè)管理系統(tǒng)的運(yùn)行效 率,避免了某個(gè)端口過(guò)于繁忙或空閑而導(dǎo)致的跨交換機(jī)端口數(shù)據(jù)交互的堵塞性;不僅考慮 了結(jié)點(diǎn)本身的資源負(fù)載情況,并且考慮數(shù)據(jù)傳輸過(guò)程中的網(wǎng)絡(luò)延時(shí)性,大大提高了系統(tǒng)資 源利用率、使分配策略更加合理。應(yīng)當(dāng)說(shuō)明的是,以上實(shí)施例僅用以說(shuō)明本發(fā)明的技術(shù)方案而非限制,所有的參數(shù) 取值可以根據(jù)實(shí)際情況調(diào)整,且在該權(quán)利保護(hù)范圍內(nèi)。本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解,可 以對(duì)本發(fā)明的技術(shù)方案進(jìn)行修改或者等同替換,而不脫離本發(fā)明技術(shù)方案的精神范圍,其 均應(yīng)涵蓋在本發(fā)明的權(quán)利要求范圍當(dāng)中。
權(quán)利要求
1.一種計(jì)算機(jī)機(jī)群作業(yè)調(diào)度系統(tǒng),其特征在于,包括至少一個(gè)計(jì)算單元塊,每一個(gè)計(jì)算單元塊均與核心交換機(jī)連接,用于完成作業(yè)和/或 傳輸數(shù)據(jù)的任務(wù);核心交換機(jī),與所述計(jì)算單元塊連接,用于采集所述計(jì)算單元塊的工作參數(shù),對(duì)每一個(gè) 工作參數(shù)設(shè)置一個(gè)權(quán)值,根據(jù)所述工作參數(shù)以及對(duì)應(yīng)的權(quán)值編制各個(gè)計(jì)算單元塊對(duì)應(yīng)的負(fù) 載平衡指數(shù);按照預(yù)定策略,根據(jù)所述負(fù)載平衡指數(shù)為計(jì)算單元塊分配作業(yè)和/或傳輸數(shù) 據(jù)的任務(wù)。
2.根據(jù)權(quán)利要求1所述的系統(tǒng),其特征在于,所述計(jì)算單元塊中包括邊緣交換機(jī),與至少一個(gè)計(jì)算結(jié)點(diǎn)連接,并與所述核心交換機(jī)連接,用于接收來(lái)自所述 核心交換機(jī)的作業(yè);將作業(yè)分解為多個(gè)具體作業(yè),為所述計(jì)算單元塊中的各個(gè)計(jì)算結(jié)點(diǎn)分 配所述具體作業(yè);計(jì)算結(jié)點(diǎn),用于完成被分配到的具體作業(yè)。
3.根據(jù)權(quán)利要求1所述的系統(tǒng),其特征在于,所述計(jì)算單元塊中包括存儲(chǔ)區(qū)域網(wǎng)絡(luò)交換機(jī),與多個(gè)I/O結(jié)點(diǎn)連接,并與所述核心交換機(jī)連接,用于接收來(lái)自 所述核心交換機(jī)的傳輸任務(wù);將傳輸任務(wù)分解為多個(gè)具體傳輸任務(wù),為所述計(jì)算單元塊中 的各個(gè)所述I/O結(jié)點(diǎn)分配所述具體傳輸任務(wù); I/O結(jié)點(diǎn),用于傳輸數(shù)據(jù)。
4.根據(jù)權(quán)利要求2或3所述的系統(tǒng),其特征在于,所述工作參數(shù)具體為所述邊緣交換機(jī)與所述計(jì)算結(jié)點(diǎn)連接的端口的實(shí)時(shí)流量、計(jì)算 結(jié)點(diǎn)CPU使用情況、計(jì)算結(jié)點(diǎn)CPU利用率、計(jì)算結(jié)點(diǎn)內(nèi)存使用率、計(jì)算結(jié)點(diǎn)磁盤(pán)使用率中的 一種或多種工作參數(shù)的組合; 或者,所述工作參數(shù)具體為所述存儲(chǔ)區(qū)域網(wǎng)絡(luò)交換機(jī)與所述I/O結(jié)點(diǎn)連接的端口的實(shí)時(shí)流 量、I/O結(jié)點(diǎn)CPU使用情況、I/O結(jié)點(diǎn)CPU利用率、I/O結(jié)點(diǎn)內(nèi)存使用率、I/O結(jié)點(diǎn)磁盤(pán)使用 率中的一種或多種工作參數(shù)的組合;所述負(fù)載平衡指數(shù)具體為由選定的一種或多種工作參數(shù)與對(duì)應(yīng)權(quán)值的乘積作為因 子,各個(gè)因子的和。
5.根據(jù)權(quán)利要求4所述的系統(tǒng),其特征在于,所述預(yù)定策略包括在整個(gè)機(jī)群中,按照第一負(fù)載平衡指數(shù)由小到大的順序?yàn)樽鳂I(yè)正式分配計(jì)算單元塊, 所述第一負(fù)載平衡指數(shù)用于描述所述計(jì)算單元塊的負(fù)載情況;在一個(gè)計(jì)算單元塊中,按照第二負(fù)載平衡指數(shù)由小到大的順序?yàn)樽鳂I(yè)正式分配計(jì)算結(jié) 點(diǎn)或I/O結(jié)點(diǎn),所述第二負(fù)載平衡指數(shù)用于描述所述計(jì)算單元塊中的計(jì)算結(jié)點(diǎn)或I/O結(jié)點(diǎn) 的負(fù)載情況。
6.一種計(jì)算機(jī)機(jī)群作業(yè)調(diào)度方法,應(yīng)用在計(jì)算機(jī)作業(yè)調(diào)度系統(tǒng)中,其特征在于,包括 采集計(jì)算單元塊的工作參數(shù),對(duì)每一個(gè)工作參數(shù)設(shè)置一個(gè)權(quán)值,根據(jù)所述工作參數(shù)以及對(duì)應(yīng)的權(quán)值,編制各個(gè)計(jì)算單元塊對(duì)應(yīng)的負(fù)載平衡指數(shù);按照預(yù)定策略,根據(jù)所述負(fù)載平 衡指數(shù)為計(jì)算單元塊分配作業(yè);由計(jì)算單元塊完成計(jì)算和/或傳輸數(shù)據(jù)的任務(wù)。
7.根據(jù)權(quán)利要求6所述的方法,其特征在于,根據(jù)所述負(fù)載平衡指數(shù)為計(jì)算單元塊分配作業(yè),之后還包括由計(jì)算單元塊接收來(lái)自核心交換機(jī)的作業(yè)任務(wù);將作業(yè)任務(wù)分解為多個(gè)具體作業(yè),為 所述計(jì)算單元塊中的各個(gè)計(jì)算結(jié)點(diǎn)分配具體作業(yè)。
8.根據(jù)權(quán)利要求6所述的方法,其特征在于,根據(jù)所述負(fù)載平衡指數(shù)為計(jì)算單元塊分 配作業(yè),之后還包括接收來(lái)自核心交換機(jī)的傳輸任務(wù);將傳輸任務(wù)分解為多個(gè)具體傳輸任務(wù),為所述計(jì)算 單元塊中的各個(gè)I/O結(jié)點(diǎn)分配具體傳輸任務(wù)。
9.根據(jù)權(quán)利要求7或8所述的方法,其特征在于,所述工作參數(shù)為邊緣交換機(jī)與計(jì)算結(jié)點(diǎn)連接的端口的實(shí)時(shí)流量、計(jì)算結(jié)點(diǎn)CPU使用 情況、計(jì)算結(jié)點(diǎn)CPU利用率、計(jì)算結(jié)點(diǎn)內(nèi)存使用率、計(jì)算結(jié)點(diǎn)磁盤(pán)使用率中的一種或多種工 作參數(shù)的組合;或者,所述工作參數(shù)具體為所述存儲(chǔ)區(qū)域網(wǎng)絡(luò)交換機(jī)與所述I/O結(jié)點(diǎn)連接的端口的實(shí)時(shí)流 量、I/O結(jié)點(diǎn)CPU使用情況、I/O結(jié)點(diǎn)CPU利用率、I/O結(jié)點(diǎn)內(nèi)存使用率、I/O結(jié)點(diǎn)磁盤(pán)使用 率中的一種或多種工作參數(shù)的組合;由選定的一種或多種工作參數(shù)與對(duì)應(yīng)權(quán)值的乘積作為因子,各個(gè)因子的和作為所述負(fù) 載平衡指數(shù)。
10.根據(jù)權(quán)利要求9所述的方法,其特征在于,所述預(yù)定策略包括在整個(gè)機(jī)群中,按照第一負(fù)載平衡指數(shù)由小到大的順序?yàn)樽鳂I(yè)正式分配計(jì)算單元塊, 所述第一負(fù)載平衡指數(shù)用于描述所述計(jì)算單元塊的負(fù)載情況;在一個(gè)計(jì)算單元塊中,按照第二負(fù)載平衡指數(shù)由小到大的順序?yàn)樽鳂I(yè)正式分配計(jì)算結(jié) 點(diǎn)或I/O結(jié)點(diǎn),所述第二負(fù)載平衡指數(shù)用于描述所述計(jì)算單元塊中的計(jì)算結(jié)點(diǎn)或I/O結(jié)點(diǎn) 的負(fù)載情況。
全文摘要
本發(fā)明提供一種計(jì)算機(jī)機(jī)群作業(yè)調(diào)度方法和系統(tǒng),其中系統(tǒng)包括至少一個(gè)計(jì)算單元塊,每一個(gè)計(jì)算單元塊均與核心交換機(jī)連接,用于完成作業(yè)和/或傳輸數(shù)據(jù)的任務(wù);核心交換機(jī),與計(jì)算單元塊連接,用于采集計(jì)算單元塊的工作參數(shù),對(duì)每一個(gè)工作參數(shù)設(shè)置一個(gè)權(quán)值,根據(jù)工作參數(shù)以及對(duì)應(yīng)的權(quán)值編制各個(gè)計(jì)算單元塊對(duì)應(yīng)的負(fù)載平衡指數(shù);按照預(yù)定策略,根據(jù)負(fù)載平衡指數(shù)為計(jì)算單元塊分配作業(yè)和/或傳輸數(shù)據(jù)的任務(wù)。應(yīng)用上述技術(shù)方案,將作業(yè)分配給多個(gè)計(jì)算單元塊,對(duì)于結(jié)點(diǎn)規(guī)模比較大的機(jī)群系統(tǒng)而言降低了作業(yè)系統(tǒng)管理員的工作量,提高了作業(yè)管理系統(tǒng)的運(yùn)行效率,避免了某個(gè)端口過(guò)于繁忙或空閑而導(dǎo)致的跨交換機(jī)端口數(shù)據(jù)交互的堵塞性,使分配策略更加合理。
文檔編號(hào)H04L12/56GK102118297SQ20091024444
公開(kāi)日2011年7月6日 申請(qǐng)日期2009年12月31日 優(yōu)先權(quán)日2009年12月31日
發(fā)明者張靜, 楊琪 申請(qǐng)人:聯(lián)想(北京)有限公司