高性能計(jì)算中負(fù)載均衡與節(jié)點(diǎn)狀態(tài)監(jiān)控方法
【專利摘要】本發(fā)明涉及一種高性能計(jì)算中負(fù)載均衡與節(jié)點(diǎn)狀態(tài)監(jiān)控方法,其適于降低的占用集群系統(tǒng)的資源,并提高資源的利用率,有效提升服務(wù)器集群的性能,為用戶提供高質(zhì)量的服務(wù)。該方法具體是:根據(jù)服務(wù)器節(jié)點(diǎn)的運(yùn)行狀態(tài)及其負(fù)載、性能參數(shù),通過(guò)計(jì)算得到各個(gè)節(jié)點(diǎn)的負(fù)載權(quán)值,并選取下次分配任務(wù)時(shí)備選的節(jié)點(diǎn)集合;根據(jù)負(fù)載差值、分配概率計(jì)算備選節(jié)點(diǎn)集合中各節(jié)點(diǎn)分配任務(wù)的概率,并使用隨機(jī)概率分配的方式,將新的請(qǐng)求分配到選擇的節(jié)點(diǎn)之上,以解決負(fù)載分配不均的問(wèn)題;最后利用負(fù)載修正公式對(duì)分配任務(wù)的節(jié)點(diǎn)負(fù)載進(jìn)行修正,以提高負(fù)載均衡效果,增強(qiáng)集群系統(tǒng)的可靠性和穩(wěn)定性。
【專利說(shuō)明】高性能計(jì)算中負(fù)載均衡與節(jié)點(diǎn)狀態(tài)監(jiān)控方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及計(jì)算機(jī)網(wǎng)絡(luò)負(fù)載均衡處理的領(lǐng)域,尤其是高性能計(jì)算中負(fù)載均衡與節(jié)點(diǎn)狀態(tài)監(jiān)控方法。
【背景技術(shù)】
[0002]隨著網(wǎng)絡(luò)應(yīng)用的日益普及和互聯(lián)網(wǎng)業(yè)務(wù)的急劇增長(zhǎng),無(wú)論在企業(yè)網(wǎng)、園區(qū)網(wǎng)還是在廣域網(wǎng),業(yè)務(wù)量的發(fā)展都超出了過(guò)去的估計(jì)。企業(yè)對(duì)網(wǎng)絡(luò)的依賴性越來(lái)越強(qiáng),對(duì)具有可擴(kuò)展性和可靠性的分布式系統(tǒng)的應(yīng)用需求也越來(lái)越大。當(dāng)企業(yè)為用戶提供Web服務(wù)時(shí),隨著訪問(wèn)者數(shù)量的快速增加,網(wǎng)絡(luò)服務(wù)器需要具備提供大量并發(fā)訪問(wèn)服務(wù)的能力。其數(shù)據(jù)流量和計(jì)算強(qiáng)度之大,使得單一設(shè)備根本無(wú)法承擔(dān);另一方面,如何在完成同樣功能的多個(gè)網(wǎng)絡(luò)設(shè)備之間實(shí)現(xiàn)合理的業(yè)務(wù)量分配,使之不至于出現(xiàn)一臺(tái)設(shè)備過(guò)忙、而別的設(shè)備卻未充分發(fā)揮處理能力的情況,也是迫切需要解決的問(wèn)題。負(fù)載均衡機(jī)制就是在這種情況下產(chǎn)生的。企業(yè)對(duì)網(wǎng)絡(luò)系統(tǒng)的響應(yīng)時(shí)間及所提供內(nèi)容、服務(wù)的可靠性、即時(shí)性等要求也越來(lái)越高,使得以單臺(tái)服務(wù)器來(lái)支撐整個(gè)網(wǎng)站的系統(tǒng)已無(wú)法滿足客戶需求,取而代之的是一組服務(wù)器群。
[0003]負(fù)載均衡(ServerLoadBalance)是由多臺(tái)服務(wù)器以對(duì)稱方式組成一個(gè)服務(wù)器群集,每臺(tái)服務(wù)器都具有同等地位,均能單獨(dú)對(duì)外提供服務(wù)。通過(guò)特定的負(fù)載均衡技術(shù),將外部請(qǐng)求根據(jù)服務(wù)器群集中各服務(wù)器上的負(fù)載狀況合理分配到某臺(tái)服務(wù)器上,籍此大幅提高獲取數(shù)據(jù)的速度,提高服務(wù)器的整體處理能力,解決海量并發(fā)訪問(wèn)問(wèn)題,并提高可靠性,可用性,可維護(hù)性,最終目的是加快服務(wù)器的響應(yīng)速度,從而提高用戶的體驗(yàn)度。此種群集技術(shù)可以用最少的投資獲得接近于大型主機(jī)的性能。
[0004]一種合理可行的解決方案便是采用服務(wù)器集群加負(fù)載均衡技術(shù)。服務(wù)器集群是指將很多服務(wù)器通過(guò)局域網(wǎng)連接成一個(gè)整體,構(gòu)成機(jī)群對(duì)外提供服務(wù),在客戶端看來(lái)就像傳統(tǒng)的單個(gè)服務(wù)器。集群系統(tǒng)能充分利用現(xiàn)有的各種資源,有效增強(qiáng)網(wǎng)絡(luò)數(shù)據(jù)的處理能力,提高系統(tǒng)的整體服務(wù)性能,使系統(tǒng)更加穩(wěn)定可靠,但解決服務(wù)器集群的負(fù)載均衡問(wèn)題是提高集群性能的關(guān)鍵所在。
[0005]負(fù)載均衡技術(shù)主要用來(lái)提高服務(wù)器上執(zhí)行關(guān)鍵任務(wù)的服務(wù)程序的可伸縮性和可用性,其按照實(shí)現(xiàn)方法的不同通常分為硬件實(shí)現(xiàn)和軟件實(shí)現(xiàn)兩種。負(fù)載均衡硬件實(shí)現(xiàn)的系統(tǒng)的處理能力和負(fù)載性能較強(qiáng),但價(jià)格昂貴;雖然集成多種負(fù)載均衡算法,但是靈活性不強(qiáng),不支持更優(yōu)化的負(fù)載均衡策略和更復(fù)雜的應(yīng)用協(xié)議,此外它只是從網(wǎng)絡(luò)層來(lái)判斷數(shù)據(jù)流量,無(wú)法有效掌握服務(wù)器及應(yīng)用的狀態(tài)。軟件
實(shí)現(xiàn)能夠更好地根據(jù)系統(tǒng)與應(yīng)用的狀況來(lái)分配負(fù)載,靈活性大,性價(jià)比高,并且易于更新最新的、優(yōu)秀的負(fù)載均衡策略,但負(fù)載均衡算法會(huì)對(duì)服務(wù)器的性能造成一定的影響,所以對(duì)算法的復(fù)雜度要求較高。
[0006]在軟件實(shí)現(xiàn)中,實(shí)現(xiàn)集群負(fù)載均衡的核心部件是負(fù)載均衡算法,根據(jù)設(shè)計(jì)思想的不同其主要分成靜態(tài)均衡算法與動(dòng)態(tài)均衡算法兩類。靜態(tài)均衡算法只是利用集群的統(tǒng)計(jì)信息以固定的概率分配任務(wù),而不考慮系統(tǒng)實(shí)際的運(yùn)行情況,負(fù)載效果很不理想;動(dòng)態(tài)均衡算法則通過(guò)采集集群的實(shí)時(shí)運(yùn)行信息來(lái)評(píng)估系統(tǒng)的負(fù)載狀態(tài),進(jìn)而調(diào)整任務(wù)的分配,避免系統(tǒng)長(zhǎng)時(shí)間運(yùn)行下發(fā)生傾斜。實(shí)驗(yàn)表明,動(dòng)態(tài)均衡算法可以取得比靜態(tài)均衡算法更好的性能,即使在極端的情形中,動(dòng)態(tài)均衡算法仍然能取得比較理想的性能。一般情況下,相對(duì)于較靜態(tài)均衡算法而言,動(dòng)態(tài)算法能獲得309Γ40%的性能改善,隨著對(duì)動(dòng)態(tài)負(fù)載均衡算法的研究,動(dòng)態(tài)均衡技術(shù)必將取代靜態(tài)均衡技術(shù)。
[0007]然而,如何更方便的獲取系統(tǒng)運(yùn)行信息、盡量減少交互行為的資源消耗以及努力降低動(dòng)態(tài)均衡算法本身對(duì)集群系統(tǒng)產(chǎn)生的影響將成為動(dòng)態(tài)負(fù)載均衡技術(shù)所必須解決的問(wèn)題,因此有必要尋找一種更優(yōu)化的負(fù)載均衡算法,盡可能低的占用集群系統(tǒng)的資源,提高資源的利用率,有效提升服務(wù)器集群的性能,為用戶提供高質(zhì)量的服務(wù)。
【發(fā)明內(nèi)容】
[0008]本發(fā)明首要解決的技術(shù)問(wèn)題是提供一種高性能計(jì)算中負(fù)載均衡與節(jié)點(diǎn)狀態(tài)監(jiān)控方法,其適于降低的占用集群系統(tǒng)的資源,并提高資源的利用率,有效提升服務(wù)器集群的性能,為用戶提供高質(zhì)量的服務(wù)。
[0009]為了解決上述技術(shù)問(wèn)題,本發(fā)明提供的高性能計(jì)算中負(fù)載均衡與節(jié)點(diǎn)狀態(tài)監(jiān)控方法,其包括:運(yùn)用服務(wù)器節(jié)點(diǎn)的負(fù)載、性能信息,將集群系統(tǒng)的請(qǐng)求均勻分配到各個(gè)節(jié)點(diǎn)之上,并使各節(jié)點(diǎn)分擔(dān)的負(fù)載與其性能成正比,進(jìn)而使得系統(tǒng)的資源得到充分利用,最大程度的提高集群的性能。
[0010]具體是:根據(jù)服務(wù)器節(jié)點(diǎn)的運(yùn)行狀態(tài)及其負(fù)載、性能參數(shù),通過(guò)計(jì)算得到各個(gè)節(jié)點(diǎn)的負(fù)載權(quán)值,并選取下次分配任務(wù)時(shí)備選的節(jié)點(diǎn)集合;根據(jù)負(fù)載差值、分配概率計(jì)算備選節(jié)點(diǎn)集合中各節(jié)點(diǎn)分配任務(wù)的概率,并使用隨機(jī)概率分配的方式,將新的請(qǐng)求分配到選擇的節(jié)點(diǎn)之上,以解決負(fù)載分配不均的問(wèn)題;最后利用負(fù)載修正公式對(duì)分配任務(wù)的節(jié)點(diǎn)負(fù)載進(jìn)行修正,以提高負(fù)載均衡效果,增強(qiáng)集群系統(tǒng)的可靠性和穩(wěn)定性。
[0011]基于負(fù)載權(quán)值的負(fù)載均衡算法描述如下:
①設(shè)定一個(gè)閾值ε;
②每到來(lái)一個(gè)新的請(qǐng)求,根據(jù)計(jì)時(shí)器檢查是否需要更新服務(wù)器節(jié)點(diǎn)的狀態(tài),若需要?jiǎng)t進(jìn)行更新;
③根據(jù)節(jié)點(diǎn)的運(yùn)行狀態(tài)計(jì)算節(jié)點(diǎn)的性能C(Si)和負(fù)載L(Si),并根據(jù)其結(jié)果計(jì)算負(fù)載權(quán)值W (Si)及負(fù)載差值A(chǔ)L(Si);
④根據(jù)各節(jié)點(diǎn)的負(fù)載權(quán)值選取候選分配節(jié)點(diǎn)集合J;首先選取節(jié)點(diǎn)Sm,其滿足條件:W (Sm) =min {ff (Si)}, i=0, I,…,η-1 ;
如果其他任意節(jié)點(diǎn)Si滿足以下條件:W(Si)〈W(Sm)+ ε,i=0, I,…,n_l ;
則將節(jié)點(diǎn)Si加入到集合J中;
⑤計(jì)算候選分配節(jié)點(diǎn)集合J中各個(gè)節(jié)點(diǎn)負(fù)載分配的概率P(Si);
⑥按照隨機(jī)概率分配的方法從集合J中選擇合適的節(jié)點(diǎn),并將任務(wù)分配到該節(jié)點(diǎn)上;
⑦修正選定節(jié)點(diǎn)的負(fù)載,供下次分配請(qǐng)求時(shí)使用。
[0012]從服務(wù)器節(jié)點(diǎn)的CPU數(shù)量n、CPU頻率C(Ci)、磁盤I/O速率C(Di)、內(nèi)存大小C(Mi)、網(wǎng)絡(luò)帶寬C(Ni)指標(biāo)來(lái)評(píng)價(jià)節(jié)點(diǎn)Si的性能C(Si),使用如下公式(8.1)來(lái)計(jì)算:
【權(quán)利要求】
1.一種高性能計(jì)算中負(fù)載均衡與節(jié)點(diǎn)狀態(tài)監(jiān)控方法,其特征在于包括: A、根據(jù)服務(wù)器節(jié)點(diǎn)的運(yùn)行狀態(tài)及其負(fù)載、性能參數(shù),通過(guò)計(jì)算得到各個(gè)節(jié)點(diǎn)的負(fù)載權(quán)值,并選取下次分配任務(wù)時(shí)備選的節(jié)點(diǎn)集合; B、根據(jù)負(fù)載差值、分配概率計(jì)算備選節(jié)點(diǎn)集合中各節(jié)點(diǎn)分配任務(wù)的概率,并使用隨機(jī)概率分配的方式,將新的請(qǐng)求分配到選擇的節(jié)點(diǎn)之上; C、利用負(fù)載修正公式對(duì)分配任務(wù)的節(jié)點(diǎn)負(fù)載進(jìn)行修正。
2.根據(jù)權(quán)利要求1所述的高性能計(jì)算中負(fù)載均衡與節(jié)點(diǎn)狀態(tài)監(jiān)控方法,其特征在于:基于負(fù)載權(quán)值的負(fù)載均衡算法包括: ①設(shè)定一個(gè)閾值ε; ②每到來(lái)一個(gè)新的請(qǐng)求,根據(jù)計(jì)時(shí)器檢查是否需要更新服務(wù)器節(jié)點(diǎn)的狀態(tài),若需要?jiǎng)t進(jìn)行更新; ③根據(jù)節(jié)點(diǎn)的運(yùn)行狀態(tài)計(jì)算節(jié)點(diǎn)的性能C(Si)和負(fù)載L(Si),并根據(jù)其結(jié)果計(jì)算負(fù)載權(quán)值W(Si)及負(fù)載差值A(chǔ)L(Si); ④根據(jù)各節(jié)點(diǎn)的負(fù)載權(quán)值選取候選分配節(jié)點(diǎn)集合J;首先選取節(jié)點(diǎn)Sm,其滿足條件:W (Sm) =min {ff (Si)}, i=0, I,…,n_l ; 如果其他任意節(jié)點(diǎn)Si滿足以下條件:W(Si)〈W(Sm)+ ε,i=0, I,…,n_l ; 則將節(jié)點(diǎn)Si加入到集合J中; ⑤計(jì)算候選分配節(jié)點(diǎn)集合J中各個(gè)節(jié)點(diǎn)負(fù)載分配的概率P(Si); ⑥按照隨機(jī)概率分配的方法從集合J中選擇合適的節(jié)點(diǎn),并將任務(wù)分配到該節(jié)點(diǎn)上; ⑦修正選定節(jié)點(diǎn)的負(fù)載,供下次分配請(qǐng)求時(shí)使用。
3.根據(jù)權(quán)利要求2所述的高性能計(jì)算中負(fù)載均衡與節(jié)點(diǎn)狀態(tài)監(jiān)控方法,其特征在于:從服務(wù)器節(jié)點(diǎn)的CPU數(shù)量n、CPU頻率C(Ci)、磁盤I/O速率C(Di)、內(nèi)存大小C(Mi)、網(wǎng)絡(luò)帶寬C(Ni)指標(biāo)來(lái)評(píng)價(jià)節(jié)點(diǎn)Si的性能C(Si),使用如下公式(8.1)來(lái)計(jì)算: CIS1 l-kt*w*a ) 4- k: * Cl M1) O l)J + k4* O i¥;)
,….(8.I)
? =0.1.,.,.μ -L /.= t
;..τ 其中,k是各項(xiàng)指標(biāo)的權(quán)值參數(shù),反映各個(gè)指標(biāo)對(duì)服務(wù)器節(jié)點(diǎn)性能的影響程度。
4.根據(jù)權(quán)利要求2所述的高性能計(jì)算中負(fù)載均衡與節(jié)點(diǎn)狀態(tài)監(jiān)控方法,其特征在于:從CPU使用率L(Ci)、內(nèi)存使用率L(Mi)、磁盤I/O使用率L(Di)、網(wǎng)絡(luò)帶寬使用率L(Ni)指標(biāo)來(lái)評(píng)價(jià)節(jié)點(diǎn)Si的負(fù)載L(Si),并使用如下公式(8.2)來(lái)計(jì)算: HS I = Tl^sLiC HT,*LiM Kr, ?£{£> i^r, 1- ! ^1-1 -Ji ■i? --t'-
; ……(8.2)
i^ri =:
j Λ r是各項(xiàng)指標(biāo)的權(quán)值參數(shù),反映各個(gè)指標(biāo)對(duì)不同類型服務(wù)的影響程度。
5.根據(jù)權(quán)利要求2所述的高性能計(jì)算中負(fù)載均衡與節(jié)點(diǎn)狀態(tài)監(jiān)控方法,其特征在于:節(jié)點(diǎn)的負(fù)載權(quán)值W(Si)定義為節(jié)點(diǎn)負(fù)載L(Si)與節(jié)點(diǎn)性能C(Si)的比值,采用公式(8.3)來(lái)計(jì)算;
f.v(s,? = us,f/as,Ij= ο,ι.....?-?......(8.3)。
6.根據(jù)權(quán)利要求5所述的高性能計(jì)算中負(fù)載均衡與節(jié)點(diǎn)狀態(tài)監(jiān)控方法,其特征在于:所謂節(jié)點(diǎn)的負(fù)載差值A(chǔ)L(Si),定義為所有節(jié)點(diǎn)負(fù)載權(quán)值的最大值WMAX與該節(jié)點(diǎn)的負(fù)載權(quán)值之差乘以該節(jié)點(diǎn)性能,采用公式(8.4)來(lái)計(jì)算:
AUS,) = (H\l l% ^ W(S1)I* C{%, ).1 =......(8.4)。
7.根據(jù)權(quán)利要求5所述的高性能計(jì)算中負(fù)載均衡與節(jié)點(diǎn)狀態(tài)監(jiān)控方法,其特征在于:節(jié)點(diǎn)的負(fù)載 差值A(chǔ)L(Si)占所有節(jié)點(diǎn)負(fù)載差值之和的百分比為節(jié)點(diǎn)的負(fù)載分配概率P(Si),采用公式(8.5)來(lái)計(jì)算:
8.根據(jù)權(quán)利要求5所述的高性能計(jì)算中負(fù)載均衡與節(jié)點(diǎn)狀態(tài)監(jiān)控方法,其特征在于:計(jì)算集合J中節(jié)點(diǎn)的分配概率,從中選取合適的節(jié)點(diǎn)分配負(fù)載;節(jié)點(diǎn)分配概率采用公式(8.6)來(lái)計(jì)算:
9.根據(jù)權(quán)利要求5所述的高性能計(jì)算中負(fù)載均衡與節(jié)點(diǎn)狀態(tài)監(jiān)控方法,其特征在于:負(fù)載增量S是指某種服務(wù)類型的一個(gè)請(qǐng)求分配到某服務(wù)器節(jié)點(diǎn)上,對(duì)該節(jié)點(diǎn)增加的負(fù)載量,采用公式配到某服務(wù)器節(jié)點(diǎn)上,對(duì)該節(jié)點(diǎn)增加的負(fù)載量,采用公式配到某服務(wù)器節(jié)點(diǎn)上,對(duì)該節(jié)點(diǎn)增加的負(fù)載量,采用公式配到某服務(wù)器節(jié)點(diǎn)上,對(duì)該節(jié)點(diǎn)增加的負(fù)載量,采用公式:δ =L (S)/N……(8.7) 其中,N為該服務(wù)類型在該節(jié)點(diǎn)上的請(qǐng)求數(shù),L(S)為N個(gè)請(qǐng)求對(duì)節(jié)點(diǎn)帶來(lái)的負(fù)載。
10.根據(jù)權(quán)利要求5所述的高性能計(jì)算中負(fù)載均衡與節(jié)點(diǎn)狀態(tài)監(jiān)控方法,其特征在于:對(duì)服務(wù)器節(jié)點(diǎn)負(fù)載的修正采用公式(8.8)來(lái)計(jì)算,其中δ為負(fù)載增量值,C(S)為計(jì)算負(fù)載增量時(shí)用到的節(jié)點(diǎn)的性能,L(Si)和C(Si)分別為該節(jié)點(diǎn)的負(fù)載和性能;
【文檔編號(hào)】H04L12/26GK104168332SQ201410440328
【公開(kāi)日】2014年11月26日 申請(qǐng)日期:2014年9月1日 優(yōu)先權(quán)日:2014年9月1日
【發(fā)明者】楊漾, 張若曦, 劉文彬, 蘇凱, 董召杰 申請(qǐng)人:廣東電網(wǎng)公司信息中心