專利名稱:一種服務(wù)器集群節(jié)能的方法、裝置和服務(wù)器集群的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及服務(wù)器技術(shù),特別是指一種服務(wù)器集群節(jié)能的方法、裝置和服務(wù)器集群。
背景技術(shù):
隨著對高性能服務(wù)器的需求越來越多,服務(wù)器集群由于其較高的性價(jià)比獲得廣泛了應(yīng)用,目前服務(wù)器集群的規(guī)模也越來越大,而服務(wù)器集群中的服務(wù)器節(jié)點(diǎn)(簡稱節(jié)點(diǎn))數(shù)量大幅增長帶來了電力消耗的快速增長。服務(wù)器集群中的服務(wù)器節(jié)點(diǎn)數(shù)量在快速增長,但其使用效率卻在低水平徘徊不前,以應(yīng)用最普遍的X86服務(wù)器集群為例,普遍認(rèn)為其利用率低于30%,Intel服務(wù)器平均利用率通常只有10%,從而造成大量電力資源的浪費(fèi)?,F(xiàn)有技術(shù)中,對于單臺(tái)服務(wù)器可以通過處理器自動(dòng)降頻,關(guān)閉外設(shè),服務(wù)器休眠等手段來實(shí)現(xiàn)節(jié)能;但對于服務(wù)器集群,現(xiàn)有的服務(wù)器集群節(jié)能辦法中,通常是被動(dòng)地檢查節(jié)點(diǎn)上是否有作業(yè)在運(yùn)行,如果沒有則將該節(jié)點(diǎn)關(guān)閉。采用現(xiàn)有技術(shù),在實(shí)際應(yīng)用中如果有一個(gè)100臺(tái)節(jié)點(diǎn)的集群,每個(gè)節(jié)點(diǎn)都有作業(yè),但每個(gè)只有10%利用率,那么100臺(tái)節(jié)點(diǎn)需要全開,這會(huì)浪費(fèi)電力資源。發(fā)明人在實(shí)現(xiàn)本發(fā)明的過程中,發(fā)現(xiàn)現(xiàn)有技術(shù)中至少存在如下問題服務(wù)器集群中的服務(wù)器節(jié)點(diǎn)的利用率低,從而導(dǎo)致服務(wù)器集群電力資源浪費(fèi)。
發(fā)明內(nèi)容
本發(fā)明的目的是提供一種服務(wù)器集群節(jié)能的方法、裝置和服務(wù)器集群,用于實(shí)現(xiàn)服務(wù)器集群的節(jié)能。一種服務(wù)器集群節(jié)能的方法,包括獲取服務(wù)器機(jī)群中預(yù)定數(shù)目個(gè)節(jié)點(diǎn)所對應(yīng)的的負(fù)載;在所述預(yù)定數(shù)目個(gè)節(jié)點(diǎn)中,若第一節(jié)點(diǎn)的負(fù)載小于或者等于第二節(jié)點(diǎn)的資源剩余量;將所述第一節(jié)點(diǎn)上的作業(yè)所對應(yīng)的進(jìn)程遷移到第二節(jié)點(diǎn)上運(yùn)行。方法中,將所述第一節(jié)點(diǎn)上的作業(yè)所對應(yīng)的進(jìn)程遷移到第二節(jié)點(diǎn)上運(yùn)行,具體為 將所述第一節(jié)點(diǎn)上的作業(yè)對應(yīng)的進(jìn)程的地址空間、所述進(jìn)程對其它進(jìn)程的訪問參數(shù)、進(jìn)程代碼、所述進(jìn)程的執(zhí)行狀態(tài)以及將對遷移之前的所述進(jìn)程的所有訪問,均重新鏈接到所述第二節(jié)點(diǎn)上運(yùn)行的遷移后的所述進(jìn)程。方法中,獲取服務(wù)器機(jī)群中預(yù)定數(shù)目個(gè)節(jié)點(diǎn)的負(fù)載之前,還包括將所述服務(wù)器機(jī)群中的所有節(jié)點(diǎn)按照所述預(yù)定數(shù)目進(jìn)行分組,形成至少一個(gè)節(jié)點(diǎn)組;獲取服務(wù)器機(jī)群中預(yù)定數(shù)目個(gè)節(jié)點(diǎn)的負(fù)載的步驟具體為在每一個(gè)所述節(jié)點(diǎn)組內(nèi),獲取節(jié)點(diǎn)組中預(yù)定數(shù)目個(gè)節(jié)點(diǎn)所對應(yīng)的負(fù)載,并查詢適合進(jìn)行作業(yè)遷移的所述第一節(jié)點(diǎn)和所述第二節(jié)點(diǎn)。方法中,所述查詢適合進(jìn)行作業(yè)遷移的所述第一節(jié)點(diǎn)和所述第二節(jié)點(diǎn),包括查詢所述節(jié)點(diǎn)組內(nèi)正在運(yùn)行的編號最大的節(jié)點(diǎn),獲取該節(jié)點(diǎn)上正在運(yùn)行的作業(yè)情況作為所述負(fù)載;獲取所述節(jié)點(diǎn)組內(nèi)正在運(yùn)行的編號最小的節(jié)點(diǎn)的所述負(fù)載資源剩余量;當(dāng)所述負(fù)載小于等于所述負(fù)載資源剩余量時(shí),所述編號最大的節(jié)點(diǎn)作為所述第一節(jié)點(diǎn),所述編號最小的節(jié)點(diǎn)作為所述第二節(jié)點(diǎn)。方法中,將所述第一節(jié)點(diǎn)上的作業(yè)對應(yīng)的進(jìn)程遷移到第二節(jié)點(diǎn)上運(yùn)行之后還包括向所述第一節(jié)點(diǎn)發(fā)送控制指令,所述控制指令用以降低所述第一節(jié)點(diǎn)的功耗。方法中,所述負(fù)載包括CPU利用率或空閑率、內(nèi)存利用率或空閑率,和/或網(wǎng)卡流量。一種服務(wù)器集群節(jié)能的裝置,包括作業(yè)單元,用于獲取服務(wù)器機(jī)群中預(yù)定數(shù)目個(gè)節(jié)點(diǎn)的負(fù)載;管理監(jiān)控單元,用于在所述預(yù)定數(shù)目個(gè)節(jié)點(diǎn)中,選擇第一節(jié)點(diǎn),該第一節(jié)點(diǎn)的負(fù)載小于等于負(fù)載資源剩余量;并選擇第二節(jié)點(diǎn),該第二節(jié)點(diǎn)的負(fù)載資源剩余量大于等于所述負(fù)載;進(jìn)程遷移單元,用于將所述第一節(jié)點(diǎn)上的作業(yè)對應(yīng)的進(jìn)程遷移到第二節(jié)點(diǎn)上運(yùn)行。裝置中,所述進(jìn)程遷移單元包括第一獲取單元,用于獲取進(jìn)程的地址空間;第二獲取單元,用于獲取所述進(jìn)程對其它進(jìn)程的訪問參數(shù);第三獲取單元,用于獲取進(jìn)程代碼; 第四獲取單元,用于獲取所述進(jìn)程的執(zhí)行狀態(tài);第五獲取單元,用于獲取將對遷移之前的所述進(jìn)程的所有訪問均重新鏈接到遷移之后的所述進(jìn)程。裝置中,所述管理監(jiān)控單元,具體包括第一查詢單元,用于查詢所述節(jié)點(diǎn)組內(nèi)正在運(yùn)行的編號最大的節(jié)點(diǎn),獲取該節(jié)點(diǎn)上正在運(yùn)行的作業(yè)情況作為所述負(fù)載;第一查詢單元,用于獲取所述節(jié)點(diǎn)組內(nèi)正在運(yùn)行的編號最小的節(jié)點(diǎn)的所述負(fù)載資源剩余量;對比單元, 用于當(dāng)所述負(fù)載小于等于所述負(fù)載資源剩余量時(shí),所述編號最大的節(jié)點(diǎn)作為所述第一節(jié)點(diǎn),所述編號最小的節(jié)點(diǎn)作為所述第二節(jié)點(diǎn)。一種服務(wù)器集群,包括節(jié)點(diǎn),用于完成各種計(jì)算任務(wù);還包括服務(wù)器集群節(jié)能的裝置,該服務(wù)器集群節(jié)能的裝置中包括作業(yè)單元,用于獲取服務(wù)器機(jī)群中預(yù)定數(shù)目個(gè)節(jié)點(diǎn)的負(fù)載;管理監(jiān)控單元,用于在所述預(yù)定數(shù)目個(gè)節(jié)點(diǎn)中,選擇第一節(jié)點(diǎn),該第一節(jié)點(diǎn)的負(fù)載小于等于負(fù)載資源剩余量;并選擇第二節(jié)點(diǎn),該第二節(jié)點(diǎn)的負(fù)載資源剩余量大于等于負(fù)載;進(jìn)程遷移單元,用于將所述第一節(jié)點(diǎn)上的作業(yè)所對應(yīng)的進(jìn)程遷移到第二節(jié)點(diǎn)上運(yùn)行。應(yīng)用所提供的技術(shù)方案,獲取節(jié)點(diǎn)的負(fù)載以及負(fù)載剩余資源,當(dāng)其他節(jié)點(diǎn)的負(fù)載剩余資源能夠滿足一個(gè)節(jié)點(diǎn)的負(fù)載需要時(shí),能夠?qū)⑺鲆粋€(gè)節(jié)點(diǎn)上的作業(yè)遷移到其他節(jié)點(diǎn)上,進(jìn)行作業(yè)遷移后的節(jié)點(diǎn)處于空閑狀態(tài),甚至可以被關(guān)閉,如此則降低了整個(gè)服務(wù)器集群的電力消耗,節(jié)省了運(yùn)行成本。
圖1為本發(fā)明實(shí)施例服務(wù)器集群節(jié)能的方法流程示意圖;圖2為本發(fā)明實(shí)施例服務(wù)器集群結(jié)構(gòu)圖;圖3為本發(fā)明實(shí)施例服務(wù)器集群節(jié)能流程示意圖;圖4為本發(fā)明實(shí)施例服務(wù)器集群節(jié)能的裝置結(jié)構(gòu)圖。
具體實(shí)施例方式為使本發(fā)明的目的、技術(shù)特征和實(shí)施效果更加清楚,下面將結(jié)合附圖及具體實(shí)施例對本發(fā)明的技術(shù)方案進(jìn)行詳細(xì)描述。本發(fā)明提供的實(shí)施例中,在服務(wù)器集群的各個(gè)服務(wù)器節(jié)點(diǎn)(簡稱節(jié)點(diǎn))之間實(shí)現(xiàn)作業(yè)遷移。
本發(fā)明中,提供一種服務(wù)器集群節(jié)能的方法,如圖1所示,包括步驟101,獲取服務(wù)器機(jī)群中預(yù)定數(shù)目個(gè)節(jié)點(diǎn)的負(fù)載;步驟102,在所述預(yù)定數(shù)目個(gè)節(jié)點(diǎn)中,選擇第一節(jié)點(diǎn),該第一節(jié)點(diǎn)的負(fù)載小于等于第一閾值;并選擇第二節(jié)點(diǎn),該第二節(jié)點(diǎn)的負(fù)載資源剩余量大于等于第一閾值;步驟103,將所述第一節(jié)點(diǎn)上的作業(yè)所對應(yīng)的進(jìn)程遷移到第二節(jié)點(diǎn)上運(yùn)行。應(yīng)用所提供的技術(shù)方案,獲取節(jié)點(diǎn)的負(fù)載以及負(fù)載剩余資源,當(dāng)其他節(jié)點(diǎn)的負(fù)載剩余資源能夠滿足一個(gè)節(jié)點(diǎn)的負(fù)載需要時(shí),能夠?qū)⑺鲆粋€(gè)節(jié)點(diǎn)上的作業(yè)遷移到其他節(jié)點(diǎn)上,進(jìn)行作業(yè)遷移后的節(jié)點(diǎn)處于空閑狀態(tài),甚至可以被關(guān)閉,如此則降低了整個(gè)服務(wù)器集群的電力消耗,節(jié)省了運(yùn)行成本。上述實(shí)施例的技術(shù)方案中,將所述第一節(jié)點(diǎn)上的作業(yè)所對應(yīng)的進(jìn)程遷移到第二節(jié)點(diǎn)上運(yùn)行,具體包括獲取進(jìn)程的地址空間;所述進(jìn)程對其它進(jìn)程的訪問參數(shù);進(jìn)程代碼; 所述進(jìn)程的執(zhí)行狀態(tài);以及將對遷移之前的所述進(jìn)程的所有訪問均重新鏈接到遷移之后的所述進(jìn)程。獲取服務(wù)器機(jī)群中預(yù)定數(shù)目個(gè)節(jié)點(diǎn)的負(fù)載,具體包括將所述服務(wù)器機(jī)群中的所有節(jié)點(diǎn)分組形成節(jié)點(diǎn)組,將每一個(gè)所述節(jié)點(diǎn)組內(nèi)的所有節(jié)點(diǎn)作為所述預(yù)定數(shù)目個(gè)節(jié)點(diǎn)。在每一個(gè)所述節(jié)點(diǎn)組內(nèi),查詢適合進(jìn)行作業(yè)遷移的節(jié)點(diǎn),包括查詢所述節(jié)點(diǎn)組內(nèi)正在運(yùn)行的編號最大的節(jié)點(diǎn),獲取該節(jié)點(diǎn)上正在運(yùn)行的作業(yè)情況作為所述負(fù)載;獲取所述節(jié)點(diǎn)組內(nèi)正在運(yùn)行的編號最小的節(jié)點(diǎn)的所述負(fù)載資源剩余量,作為所述第一閾值;當(dāng)所述負(fù)載小于等于所述第一閾值,且所述負(fù)載資源剩余量大于等于所述第一閾值時(shí),所述編號最大的節(jié)點(diǎn)作為所述第一節(jié)點(diǎn),所述編號最小的節(jié)點(diǎn)作為所述第二節(jié)點(diǎn)。所述將所述第一節(jié)點(diǎn)上的作業(yè)所對應(yīng)的進(jìn)程遷移到第二節(jié)點(diǎn)上運(yùn)行之后還包括 向所述第一節(jié)點(diǎn)發(fā)送控制指令,所述控制指令用以降低所述第一節(jié)點(diǎn)的功耗。在本領(lǐng)域內(nèi), 通常是通過智能平臺(tái)管理接口(IPMI,Integrated DellRemote Access Controller)將所述第一節(jié)點(diǎn)關(guān)掉。所述負(fù)載包括CPU利用率/空閑率,內(nèi)存利用率/空閑率,以及網(wǎng)卡流量。應(yīng)用上述各個(gè)實(shí)施例提供的技術(shù)方案,在如圖2所示的一個(gè)服務(wù)器集群中,包括了多個(gè)節(jié)點(diǎn)組,每一個(gè)節(jié)點(diǎn)組包含了多個(gè)節(jié)點(diǎn)。由于整個(gè)服務(wù)器集群中包含了較多的節(jié)點(diǎn), 并且其節(jié)點(diǎn)的數(shù)目是動(dòng)態(tài)變化的,可以增加也可以減少,因此,本發(fā)明針對不同的情形提供了多種的技術(shù)方案。其中,包括步驟301,服務(wù)器集群開始運(yùn)行時(shí),集群管理系統(tǒng)向所有計(jì)算節(jié)點(diǎn)發(fā)出負(fù)載請求, 該負(fù)載請求用于獲取CPU利用率/空閑率,內(nèi)存利用率/空閑率,網(wǎng)卡流量等參數(shù),并存放到環(huán)狀數(shù)據(jù)庫(RRD,Round Robin Database)里。步驟302,將各個(gè)計(jì)算節(jié)點(diǎn)進(jìn)行分組,形成第一組,第二組,........第N組。在同組內(nèi),對各節(jié)點(diǎn)進(jìn)行編號,在第一組中,編號從nodell至nodelN,其中,各節(jié)點(diǎn)node后面的編號,第一個(gè)表示所在的組的編號,第二個(gè)表示在組內(nèi)的編號,如果存在較多的組,則采用多位表示組的編號,如果同一組內(nèi)存在多個(gè)節(jié)點(diǎn),則采用多位表示組內(nèi)的編號,其表示形式也可以變化。步驟303,在一個(gè)節(jié)點(diǎn)組內(nèi),查詢適合進(jìn)行作業(yè)遷移的節(jié)點(diǎn)。
具體實(shí)現(xiàn)包括多種形式,以下為一種優(yōu)選的方案通過作業(yè)系統(tǒng)查詢組內(nèi)正在運(yùn)行的編號最大的節(jié)點(diǎn),獲取該節(jié)點(diǎn)上正在運(yùn)行的作業(yè)情況,如CPU利用率/空閑率,內(nèi)存利用率/空閑率;獲取組內(nèi)正在運(yùn)行的編號最小的節(jié)點(diǎn)的負(fù)載資源剩余量。步驟304,將負(fù)載與負(fù)載資源剩余量進(jìn)行比較,如果負(fù)載資源剩余量大于作業(yè)所需資源,轉(zhuǎn)步驟305,否則轉(zhuǎn)步驟306。步驟305,利用進(jìn)程遷移將正運(yùn)行在編號最大節(jié)點(diǎn)上的作業(yè)遷移到編號最小的節(jié)點(diǎn)上,轉(zhuǎn)步驟307。步驟306,依照節(jié)點(diǎn)編號從小到大,在剩下的節(jié)點(diǎn)中再次確定一個(gè)編號最小的節(jié)點(diǎn),轉(zhuǎn)步驟303。步驟307,檢查組內(nèi)正在運(yùn)行的編號最大的節(jié)點(diǎn)上的作業(yè)情況,如果已無運(yùn)行的作業(yè),則可遠(yuǎn)程將其關(guān)掉。具體可以采用智能平臺(tái)管理接口(IPMI,Intelligent Platform Management Interface)將節(jié)點(diǎn)關(guān)掉,此時(shí)需要節(jié)點(diǎn)的主板支持基板管理控制器(BMC, Baseboard Management Controller)。如果該節(jié)點(diǎn)的負(fù)載增加,說明無其它節(jié)點(diǎn)有資源可供遷移,并且有新作業(yè)提交。可以在步驟301 步驟307所提供的技術(shù)方案的基礎(chǔ)上,進(jìn)行進(jìn)一步的優(yōu)化,步驟 303中,獲取一個(gè)節(jié)點(diǎn)組內(nèi)所有節(jié)點(diǎn)的負(fù)載,對負(fù)載進(jìn)行排序,按照負(fù)載從小到大的次序依
次為Load1、Load2、Load3......Loadn72^ Loadn/2+1......Loadn0 在步驟304中將Load1的負(fù)
載與Loadn的負(fù)載資源剩余量,Load2的負(fù)載與Loadlri的負(fù)載資源剩余量,........,以及
Loadn72的負(fù)載與Loadn^1的負(fù)載資源剩余量依次比較,并執(zhí)行后續(xù)的步驟。其中,負(fù)載資源剩余量通過負(fù)載能力減去負(fù)載得到。在步驟305中,通過進(jìn)程遷移,將正運(yùn)行在編號最大節(jié)點(diǎn)上的作業(yè)遷移到編號最小的節(jié)點(diǎn)上,具體包括進(jìn)程遷移將一個(gè)正在執(zhí)行的進(jìn)程從一個(gè)節(jié)點(diǎn)遷移到通過網(wǎng)絡(luò)連接的另一個(gè)節(jié)點(diǎn)上。要完成進(jìn)程遷移需要獲取待遷移的進(jìn)程的進(jìn)程狀態(tài),包括(1)進(jìn)程的地址空間,(2)對其它進(jìn)程的訪問,如套接口、管道等,( 代碼,該代碼可以組成地址空間的一部分,(4)執(zhí)行狀態(tài),如寄存器、堆棧等的當(dāng)前值,以及( 將那些對遷移之前的進(jìn)程的所有訪問都重新鏈接到新的進(jìn)程拷貝上,實(shí)現(xiàn)真正的無縫遷移,這是因?yàn)?,非無縫遷移會(huì)導(dǎo)致錯(cuò)誤。整個(gè)進(jìn)程遷移操作必須是原子操作,這樣才能避免進(jìn)程的丟失或者是有兩個(gè)拷貝;可以實(shí)現(xiàn)的同構(gòu)的進(jìn)程遷移系統(tǒng)包括V Charllote、DEM0S/MP、Sprite、Condor以及 Accent。其中DEM0S/MP可以實(shí)現(xiàn)進(jìn)程遷移,在DEM0S/MP中的一個(gè)進(jìn)程可以在其執(zhí)行階段遷移, 繼續(xù)在另一個(gè)新處理器獲得運(yùn)行進(jìn)程所需的資源,并迅速更新消息路徑,在新處理器處接收傳遞來的消息。DEM0S/MP系統(tǒng)可以有效的進(jìn)行進(jìn)程遷移而不影響系統(tǒng)服務(wù)。Condor是計(jì)算密集型作業(yè)的資源管理系統(tǒng),該系統(tǒng)由作業(yè)管理和資源管理兩部分組成。作業(yè)管理部分負(fù)責(zé)管理用戶作業(yè),用戶可以通過它了解作業(yè)隊(duì)列,提交新的作業(yè),或者查詢作業(yè)完成的情況等。資源管理部分監(jiān)視資源的可用情況,進(jìn)行資源的分配與調(diào)度等;在資源管理部分中,Condor系統(tǒng)中資源所有者擁有對該資源使用的最高優(yōu)先權(quán),可以根據(jù)自己的實(shí)際情況,制定資源使用策略,其他用戶提交給Condor系統(tǒng)執(zhí)行的作業(yè)不會(huì)妨礙資源所有者對其資源的使用。換句話說,Condor系統(tǒng)是通過采用機(jī)會(huì)計(jì)算 (OpportunisticComputing),有效地利用所有權(quán)分布的微型機(jī)資源,創(chuàng)建了計(jì)算密集型作業(yè)環(huán)境。此外,Condor還具備如支持多種平臺(tái)、檢查點(diǎn)和進(jìn)程遷移、遠(yuǎn)程系統(tǒng)調(diào)用、Condor 池之間實(shí)現(xiàn)互連,以及Condor池可以動(dòng)態(tài)擴(kuò)充等特點(diǎn)。其他的系統(tǒng),雖然各有其特點(diǎn),但同樣可以實(shí)現(xiàn)進(jìn)程遷移。對應(yīng)的,如果服務(wù)器集群的規(guī)模并不是非常大,而且其規(guī)模是可以控制的,那么可以省去步驟302,如此,則整個(gè)服務(wù)器集群中的所有計(jì)算節(jié)點(diǎn)均作為同一個(gè)節(jié)點(diǎn)組中的節(jié)點(diǎn)進(jìn)行處理。在一個(gè)應(yīng)用到服務(wù)器集群的場景中,該集群有100臺(tái)節(jié)點(diǎn)(服務(wù)器),如果采用現(xiàn)有的服務(wù)器集群節(jié)能辦法,則被動(dòng)地檢查節(jié)點(diǎn)是否有作業(yè)在運(yùn)行,如果該節(jié)點(diǎn)沒作業(yè)在運(yùn)行,將該節(jié)點(diǎn)關(guān)閉。如果每個(gè)節(jié)點(diǎn)都有作業(yè),但每個(gè)只有10%利用率,那么100臺(tái)節(jié)點(diǎn)需要全開,而如果采用本發(fā)明的技術(shù)方案,在不同的節(jié)點(diǎn)之間實(shí)現(xiàn)作業(yè)的進(jìn)程遷移,假如將所有作業(yè)遷移到25臺(tái)節(jié)點(diǎn)上,則平均每臺(tái)的利用率約為40%,關(guān)閉其他的75臺(tái)節(jié)點(diǎn),功耗可大約降至原功耗的1/4。對應(yīng)的,本發(fā)明提供了一種服務(wù)器集群節(jié)能的裝置,如圖4所示,包括作業(yè)單元401,用于獲取服務(wù)器機(jī)群中預(yù)定數(shù)目個(gè)節(jié)點(diǎn)的負(fù)載;管理監(jiān)控單元402,用于在所述預(yù)定數(shù)目個(gè)節(jié)點(diǎn)中,選擇第一節(jié)點(diǎn),該第一節(jié)點(diǎn)的負(fù)載小于等于第一閾值;并選擇第二節(jié)點(diǎn),該第二節(jié)點(diǎn)的負(fù)載資源剩余量大于等于第一閾值;進(jìn)程遷移單元403,用于將所述第一節(jié)點(diǎn)上的作業(yè)所對應(yīng)的進(jìn)程遷移到第二節(jié)點(diǎn)上運(yùn)行。應(yīng)用所提供的技術(shù)方案,由于能夠?qū)⒁粋€(gè)節(jié)點(diǎn)上的作業(yè)遷移到另一個(gè)節(jié)點(diǎn)上,如此前一個(gè)節(jié)點(diǎn)由于處于空閑狀態(tài),甚至可以關(guān)閉,則整個(gè)服務(wù)器集群的電力消耗降低,節(jié)省了運(yùn)行成本。其中,進(jìn)程遷移單元403中包括第一獲取單元,用于獲取進(jìn)程的地址空間;第二獲取單元,用于獲取所述進(jìn)程對其它進(jìn)程的訪問參數(shù);第三獲取單元,用于獲取進(jìn)程代碼;第四獲取單元,用于獲取所述進(jìn)程的執(zhí)行狀態(tài);第五獲取單元,用于獲取將對遷移之前的所述進(jìn)程的所有訪問均重新鏈接到遷移之后的所述進(jìn)程。管理監(jiān)控單元402,具體包括第一查詢單元,用于查詢所述節(jié)點(diǎn)組內(nèi)正在運(yùn)行的編號最大的節(jié)點(diǎn),獲取該節(jié)點(diǎn)上正在運(yùn)行的作業(yè)情況作為所述負(fù)載;第一查詢單元,用于獲取所述節(jié)點(diǎn)組內(nèi)正在運(yùn)行的編號最小的節(jié)點(diǎn)的所述負(fù)載資源剩余量,作為所述第一閾值;對比單元,用于當(dāng)所述負(fù)載小于等于所述第一閾值,且所述負(fù)載資源剩余量大于等于所述第一閾值時(shí),所述編號最大的節(jié)點(diǎn)作為所述第一節(jié)點(diǎn),所述編號最小的節(jié)點(diǎn)作為所述第二節(jié)點(diǎn)。
對應(yīng)的,本發(fā)明提供了一種服務(wù)器集群,包括節(jié)點(diǎn),用于完成各種計(jì)算任務(wù);還包括服務(wù)器集群節(jié)能的裝置,該服務(wù)器集群節(jié)能的裝置中包括作業(yè)單元,用于獲取服務(wù)器機(jī)群中預(yù)定數(shù)目個(gè)節(jié)點(diǎn)的負(fù)載;管理監(jiān)控單元,用于在所述預(yù)定數(shù)目個(gè)節(jié)點(diǎn)中,選擇第一節(jié)點(diǎn),該第一節(jié)點(diǎn)的負(fù)載小于等于第一閾值;并選擇第二節(jié)點(diǎn),該第二節(jié)點(diǎn)的負(fù)載資源剩余量大于等于第一閾值;進(jìn)程遷移單元,用于將所述第一節(jié)點(diǎn)上的作業(yè)所對應(yīng)的進(jìn)程遷移到第二節(jié)點(diǎn)上運(yùn)行。本發(fā)明的實(shí)施例具有以下有益效果,由于能夠?qū)⒁粋€(gè)節(jié)點(diǎn)上的作業(yè)遷移到另一個(gè)節(jié)點(diǎn)上,如此前一個(gè)節(jié)點(diǎn)由于處于空閑狀態(tài),甚至可以關(guān)閉,則整個(gè)服務(wù)器集群的電力消耗降低,節(jié)省了運(yùn)行成本。應(yīng)當(dāng)說明的是,以上實(shí)施例僅用以說明本發(fā)明的技術(shù)方案而非限制,所有的參數(shù)取值可以根據(jù)實(shí)際情況調(diào)整,且在該權(quán)利保護(hù)范圍內(nèi)。本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解,可以對本發(fā)明的技術(shù)方案進(jìn)行修改或者等同替換,而不脫離本發(fā)明技術(shù)方案的精神范圍,其均應(yīng)涵蓋在本發(fā)明的權(quán)利要求范圍當(dāng)中。
9
權(quán)利要求
1.一種服務(wù)器集群節(jié)能的方法,其特征在于,包括 獲取服務(wù)器機(jī)群中預(yù)定數(shù)目個(gè)節(jié)點(diǎn)所對應(yīng)的的負(fù)載;在所述預(yù)定數(shù)目個(gè)節(jié)點(diǎn)中,若第一節(jié)點(diǎn)的負(fù)載小于或者等于第二節(jié)點(diǎn)的資源剩余量; 將所述第一節(jié)點(diǎn)上的作業(yè)所對應(yīng)的進(jìn)程遷移到第二節(jié)點(diǎn)上運(yùn)行。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,將所述第一節(jié)點(diǎn)上的作業(yè)所對應(yīng)的進(jìn)程遷移到第二節(jié)點(diǎn)上運(yùn)行,具體為將所述第一節(jié)點(diǎn)上的作業(yè)對應(yīng)的進(jìn)程的地址空間、所述進(jìn)程對其它進(jìn)程的訪問參數(shù)、 進(jìn)程代碼、所述進(jìn)程的執(zhí)行狀態(tài)以及將對遷移之前的所述進(jìn)程的所有訪問,均重新鏈接到所述第二節(jié)點(diǎn)上運(yùn)行的遷移后的所述進(jìn)程。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,獲取服務(wù)器機(jī)群中預(yù)定數(shù)目個(gè)節(jié)點(diǎn)的負(fù)載之前,還包括將所述服務(wù)器機(jī)群中的所有節(jié)點(diǎn)按照所述預(yù)定數(shù)目進(jìn)行分組,形成至少一個(gè)節(jié)點(diǎn)組; 獲取服務(wù)器機(jī)群中預(yù)定數(shù)目個(gè)節(jié)點(diǎn)的負(fù)載的步驟具體為在每一個(gè)所述節(jié)點(diǎn)組內(nèi),獲取節(jié)點(diǎn)組中預(yù)定數(shù)目個(gè)節(jié)點(diǎn)所對應(yīng)的負(fù)載,并查詢適合進(jìn)行作業(yè)遷移的所述第一節(jié)點(diǎn)和所述第二節(jié)點(diǎn)。
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述查詢適合進(jìn)行作業(yè)遷移的所述第一節(jié)點(diǎn)和所述第二節(jié)點(diǎn),包括查詢所述節(jié)點(diǎn)組內(nèi)正在運(yùn)行的編號最大的節(jié)點(diǎn),獲取該節(jié)點(diǎn)上正在運(yùn)行的作業(yè)情況作為所述負(fù)載;獲取所述節(jié)點(diǎn)組內(nèi)正在運(yùn)行的編號最小的節(jié)點(diǎn)的所述負(fù)載資源剩余量; 當(dāng)所述負(fù)載小于等于所述負(fù)載資源剩余量時(shí),所述編號最大的節(jié)點(diǎn)作為所述第一節(jié)點(diǎn),所述編號最小的節(jié)點(diǎn)作為所述第二節(jié)點(diǎn)。
5.根據(jù)權(quán)利要求1所述的方法,其特征在于,將所述第一節(jié)點(diǎn)上的作業(yè)對應(yīng)的進(jìn)程遷移到第二節(jié)點(diǎn)上運(yùn)行之后還包括向所述第一節(jié)點(diǎn)發(fā)送控制指令,所述控制指令用以降低所述第一節(jié)點(diǎn)的功耗。
6.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述負(fù)載包括 CPU利用率或空閑率、內(nèi)存利用率或空閑率,和/或網(wǎng)卡流量。
7.一種服務(wù)器集群節(jié)能的裝置,其特征在于,包括作業(yè)單元,用于獲取服務(wù)器機(jī)群中預(yù)定數(shù)目個(gè)節(jié)點(diǎn)的負(fù)載;管理監(jiān)控單元,用于在所述預(yù)定數(shù)目個(gè)節(jié)點(diǎn)中,選擇第一節(jié)點(diǎn),該第一節(jié)點(diǎn)的負(fù)載小于等于負(fù)載資源剩余量;并選擇第二節(jié)點(diǎn),該第二節(jié)點(diǎn)的負(fù)載資源剩余量大于等于所述負(fù)載;進(jìn)程遷移單元,用于將所述第一節(jié)點(diǎn)上的作業(yè)對應(yīng)的進(jìn)程遷移到第二節(jié)點(diǎn)上運(yùn)行。
8.根據(jù)權(quán)利要求7所述的裝置,其特征在于,所述進(jìn)程遷移單元包括 第一獲取單元,用于獲取進(jìn)程的地址空間;第二獲取單元,用于獲取所述進(jìn)程對其它進(jìn)程的訪問參數(shù); 第三獲取單元,用于獲取進(jìn)程代碼; 第四獲取單元,用于獲取所述進(jìn)程的執(zhí)行狀態(tài);第五獲取單元,用于獲取將對遷移之前的所述進(jìn)程的所有訪問均重新鏈接到遷移之后的所述進(jìn)程。
9.根據(jù)權(quán)利要求7所述的裝置,其特征在于,所述管理監(jiān)控單元,具體包括第一查詢單元,用于查詢所述節(jié)點(diǎn)組內(nèi)正在運(yùn)行的編號最大的節(jié)點(diǎn),獲取該節(jié)點(diǎn)上正在運(yùn)行的作業(yè)情況作為所述負(fù)載;第一查詢單元,用于獲取所述節(jié)點(diǎn)組內(nèi)正在運(yùn)行的編號最小的節(jié)點(diǎn)的所述負(fù)載資源剩余量;對比單元,用于當(dāng)所述負(fù)載小于等于所述負(fù)載資源剩余量時(shí),所述編號最大的節(jié)點(diǎn)作為所述第一節(jié)點(diǎn),所述編號最小的節(jié)點(diǎn)作為所述第二節(jié)點(diǎn)。
10.一種服務(wù)器集群,包括節(jié)點(diǎn),用于完成各種計(jì)算任務(wù);其特征在于,還包括 服務(wù)器集群節(jié)能的裝置,該服務(wù)器集群節(jié)能的裝置中包括作業(yè)單元,用于獲取服務(wù)器機(jī)群中預(yù)定數(shù)目個(gè)節(jié)點(diǎn)的負(fù)載;管理監(jiān)控單元,用于在所述預(yù)定數(shù)目個(gè)節(jié)點(diǎn)中,選擇第一節(jié)點(diǎn),該第一節(jié)點(diǎn)的負(fù)載小于等于負(fù)載資源剩余量;并選擇第二節(jié)點(diǎn),該第二節(jié)點(diǎn)的負(fù)載資源剩余量大于等于負(fù)載; 進(jìn)程遷移單元,用于將所述第一節(jié)點(diǎn)上的作業(yè)所對應(yīng)的進(jìn)程遷移到第二節(jié)點(diǎn)上運(yùn)行。
全文摘要
本發(fā)明提供一種服務(wù)器集群節(jié)能的方法、裝置和服務(wù)器集群,其中方法包括獲取服務(wù)器機(jī)群中預(yù)定數(shù)目個(gè)節(jié)點(diǎn)所對應(yīng)的的負(fù)載;在所述預(yù)定數(shù)目個(gè)節(jié)點(diǎn)中,若第一節(jié)點(diǎn)的負(fù)載小于或者等于第二節(jié)點(diǎn)的資源剩余量;將所述第一節(jié)點(diǎn)上的作業(yè)所對應(yīng)的進(jìn)程遷移到第二節(jié)點(diǎn)上運(yùn)行。應(yīng)用所提供的技術(shù)方案,獲取節(jié)點(diǎn)的負(fù)載以及負(fù)載剩余資源,當(dāng)其他節(jié)點(diǎn)的負(fù)載剩余資源能夠滿足一個(gè)節(jié)點(diǎn)的負(fù)載需要時(shí),能夠?qū)⑺鲆粋€(gè)節(jié)點(diǎn)上的作業(yè)遷移到其他節(jié)點(diǎn)上,進(jìn)行作業(yè)遷移后的節(jié)點(diǎn)處于空閑狀態(tài),甚至可以被關(guān)閉,如此則降低了整個(gè)服務(wù)器集群的電力消耗,節(jié)省了運(yùn)行成本。
文檔編號H04L29/08GK102158513SQ20101011197
公開日2011年8月17日 申請日期2010年2月11日 優(yōu)先權(quán)日2010年2月11日
發(fā)明者王鵬飛 申請人:聯(lián)想(北京)有限公司