999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于服務類型的動態反饋負載均衡算法

2009-01-01 00:00:00丁振國朱建新
計算機應用研究 2009年5期

(西安電子科技大學 計算機學院 西安 710071)

摘 要:針對現有靜態和動態負載均衡算法往往存在計算服務節點負載過程中引用特征信息過少,或忽視不同類型服務對于節點負載的影響等問題,提出了一種基于服務類型的動態反饋算法。該算法統計各節點的多種負載信息,通過NECP協議實現動態反饋,并引入負載權重向量和負載能力向量計算節點的綜合負載。算法在實際的仿真環境中得到了驗證,說明了具有可用性和優越性。

關鍵詞:網絡設備控制協議; 服務類型; 動態反饋; 負載均衡

中圖分類號:TP311; TP301.6文獻標志碼:A

文章編號:1001-3695(2009)05-1682-03

Dynamic feedback load balancing algorithm based on different services

DING Zhenguo ZHU Jianxin

(College of Computer Science Xidian University Xi’an 710071 China)

Abstract:The current static and dynamic load balancing algorithms are usually of using less simple factors in calculating the node’s load or having an overlook on the effect on system load caused by the different services. This paper presented a dynamic load balancing algorithm which collected many types of system’s payload and feeded them back by NECP. Introducedload weight vector and load capacity vectorin the calculating process of the node’s integrated load. Being tested in simulation system the algorithm carries usability and advantages.

Key words:NECP(network element control protocol); service types; dynamic feedback; load balancing

業務選擇網關(service selection gateway,SSG)是一種基于URL細粒度的內容選擇網關[1],通過提供個性化的服務菜單,為客戶提供豐富多彩的內容服務。由于客戶層次的多級化,以及通過網關發布服務的多樣化等特點,決定了SSG設備必須能夠滿足較高的QoS要求。

在用戶訪問量和服務資源不斷膨脹的情況下,Web服務器的性能已成為了網絡服務質量的主要因素之一。網絡集群服務器以其較好的可擴展性、高可靠性、低性價比的特點,為Web服務器系統帶來了新的解決方案[2]。文獻[3]中介紹了一個服務器集群的應用實例。負載均衡是這類系統的核心技術,其應用保證了多臺服務器負載的均衡性,實現了對用戶請求進行公平合理的分配和調度,提高了系統的反應效率和自身的穩定性。

SSG作為發布網絡服務的網絡設備,如果能夠利用負載均衡技術實現對于一定規模的服務器集群系統的支持,必然能夠提高設備的功能性。本文針對SSG的功能特點設計并實現了一種基于服務類型的動態反饋負載均衡算法。

1 負載均衡算法

1.1 經典算法

Web服務器集群中實現負載均衡的請求調度算法主要分為靜態算法和動態算法兩類 文獻[5]中對其應用分別作了深入的分析。靜態負載均衡算法目前的應用范圍比較廣泛,并且技術比較成熟,經典算法包括輪轉調度(RR)、加權輪轉調度(WRR)、最小連接數調度(LC)、加權最小連接數調度(WLC)、目標地址散列調度(DH)等。

動態負載均衡算法主要引進了一種反饋機制,通過監測每一個節點的實時負載和響應能力,而不斷調整任務分布的比例,來盡量避免服務器利用率嚴重傾斜。

1.2 存在問題

隨著訪問用戶和新型服務的不斷增加,現有的負載均衡算法逐漸顯露出了各種弊端。

a)靜態算法使用少量靜態特征信息,實現相對簡單,僅能適用于小規模的、單一配置的靜態網頁Web服務系統[4]。由于網頁中越來越多地使用動態嵌入對象(Scripts程序等)和數據庫查詢任務,使得不同請求任務的工作負荷有很大差異,靜態網頁和動態網頁的負載可以相差 10倍或100倍[5]。單靠靜態算法已經不能達到負載均衡的效果。

b)現有的動態算法有的進行單一的負載信息的反饋,如CPU使用率、平均請求響應時間等,如文獻[6]中提出的算法,但這樣并不能反映不同服務對服務器各種資源負載的影響。另外,有的算法雖然能夠考慮到這一點卻又忽視了服務器自身處理能力上的差異。而且,算法對于系統的可擴展性也應有所考慮。

2 動態反饋負載均衡

算法思想:由于是在SSG中實現負載均衡,進行調度的連接請求將是基于URL級細粒度的[7]。本文中的算法將分兩部分,一部分是內核中的請求調度模塊;另一部分是用戶層的負載查詢器。對于到達的請求包,首先按照服務類型進行分類入隊,這里可以引用文獻[8]中的自適應隊列算法。來自不同請求隊列中的數據包將以一種基于動態權值的概率調度(dynamic weightbased probability scheduling,DWPS) 算法進行轉發。服務器負載的權值將根據不同的服務類型進行計算,并在后面介紹的反饋機制下進行動態修正。

2.1 動態反饋機制

本算法中的動態反饋機制包括負載查詢器(NECP server)和反饋代理(NECP agent)兩部分。前者運行于SSG上;后者運行于每個服務器節點上。它們均以用戶層進程形式實現,通過NECP協議進行通信。

2.1.1 NECP

該協議是一種嚴格按照控制協議來設計的、用于在網絡設備與服務節點之間進行通信的輕量級協議。NECP基于TCP,提供了一些方法,實現網絡設備感知服務節點的負載能力、可達性,以及獲得服務請求可否被響應的提示[9]。NECP的數據包格式如圖1所示。

文獻[9]中對NECP進行了詳細描述。本文中的應用主要是對其進行數據包擴展,在協議中添加多個基本有效負荷單元(BPU),每個BPU中記錄一種系統資源的當前負載,如CPU使用率、內存使用率等。

2.1.2 查詢器和反饋代理

查詢器NECP server和反饋代理NECP agent之間是一對多的關系,通過固定的TCP端口3262進行通信。反饋機制如圖2所示。

NECP server和NECP agent的工作以連接初始化過程開始,然后server向各服務節點發送NECP_KEEP_ALIVE類型查詢請求包,agent將會以NECP_KEEP_ALIVE_ACK包進行響應,同時返回各項系統資源的負載情況。NECP server負責將搜集的各服務器的負載通過接口交付給內核中的請求調度模塊,從而形成查詢—計算—修正—查詢的反饋循環。考慮到過于頻繁的負載信息統計會為SSG設備帶來負擔,應合理設定查詢時間間隔。

2.2 算法實現

2.2.1 權值計算過程

服務器集合為S={S0,S1,S2,…,Sn-1},n為服務節點數。每個服務節點的權值應根據節點當前的負載和其固有的負載能力進行計算。節點Si(i∈{0,1,…,n-1})的當前負載為L(Si),基本負載能力為Ci,Si的權值為W(Si),且有

W(Si)=L(Si)/Ci i∈{0,1,…,n-1}(1)

這里引用文獻[6]中的觀點,服務器達到平衡狀態時應有

W(S0)=W(S1)=…=W(Sn-1)(2)

但是實際情況并不能達到這種理想的平衡狀態,算法的目標是盡量逼近這一結果。

算法中計算節點負載時包括的系統資源有CPU、內存和網絡帶寬,由每個節點上的NECP agent反饋給SSG網關中運行的NECP server;再由NECP server將其定時更新到內核部分的負載信息表中。節點Si的負載可用向量描述為

Li=(Lcpu,Lmem,Lnet)(3)

式(1)中引入的節點Si的基本負載能力Ci也用向量表示。其中各值依據節點的實際硬件配置進行設定,有

Ci=(Cicpu,Cimem,Cinet)(4)

本算法實現的是基于服務類型的負載均衡,節點在提供不同類型服務的情況下對自身負載影響的參數也會不同。因此,在引入請求隊列集合Q={Q0,Q1,…,Qn-1} (m表示服務類型數)的同時,引入負載權重向量α,不同請求隊列對應的權重向量為

αt=(αcput,αmemt,αnett)

且|αt|=1,t∈{0,1,…,m-1}(5)

例如對于動態網頁服務,需進行大量的數據庫訪問和邏輯計算,服務節點的CPU和內存的負載權重會相對較大,網絡帶寬的負載權重次之,可以設定αdp=(0.5,0.3,0.2)。每個服務類型的權重向量都應根據實際的測試結果進行設置,從而達到較好的效果。

由于服務節點在不同服務類型下體現的負載能力不同,其權值的計算結果也不相同,在對Qt中的請求進行調度的過程中,Si的當前負載和負載能力可由下列表達式計算

Lt(Si)=αt×Li=αcput×Lcpu+αmemt×Lmem+αnett×Lnet(6)

Cti=αt×Ci=αcput×Cicpu+αmemt×Cimem+αnett×Cinet(7)

所以,請求調度前計算Si的權值為

Wt(Si)=αt×(Li/Ci)=Lt(Si)/Cit(8)

為了滿足式(2)的要求,在進行均衡調度時應盡量將較多的請求轉發至滿足min{Wt(Si)}的服務器上。同時負載較大的服務器將獲得較少的連接,負載增加減緩,從而使所有服務器節點在運行一段時間后逐漸逼近平衡狀態。

2.2.2 概率轉發

現有的靜態和動態負載均衡算法中,大都是基于加權分配算法對請求進行固定比例的分配,服務節點所分配到請求的比例與權值相對應。由于無法控制請求任務到達的具體時間和數量,這種固定轉發的模式本身就可能引起請求分配的不均衡[2]。為了兼顧請求調度的均衡性和隨機性,盡量避免不同分配周期間的關聯影響,本文引入隨機轉發的概念,即根據計算出的節點權值來構成請求轉發的概率空間。由于轉發同時受服務類型的影響,最終構成的應該是一個二維空間,縱向區域根據請求隊列Q劃分為m(服務類型個數)段;橫向通過節點權值將總長度為1的區域劃分成n(節點個數)段。段越長代表節點的負載較輕,被選中的概率較大。例如,有四個服務節點和三種服務類型的情況下,請求轉發的概率空間如圖3所示。

當對請求進行轉發時,首先判斷它來自哪個請求隊列,然后根據其對應的服務類型縱向選擇概率空間的區域,再根據各節點概率計算出一個(0,1)區間的隨機數。隨機數所屬區間對應的節點即為調度選取的節點。

3 算法仿真與性能分析

3.1 仿真環境

在SSG中加入負載均衡模塊之前,首先進行了算法的仿真實驗。實驗環境包括一臺服務器充當SSG設備,四臺服務器作為提供服務的server。所有設備連接在Cisco3750交換機上,并分配內網IP。設備的硬件配置如表1所示。

表1 測試環境

設備CPU內存/MB網絡帶寬/Mbps

SSGPentium IV 3.2 GHz512100

server 1Pentium IV 2.4 GHz512100

server 2Pentium IV 2.0 GHz512100

server 3Celeron 2.4D256100

server 4Celeron 2.4D256100

五臺設備采用一樣的操作系統RedHat Linux 9,內核版本為Linux Kernel 2.4.20,其他軟件配置包括gcc3.2.2、glibc2.3.2、GNUld2.14等。客戶端也要安裝Tomcat5.0和MySQL數據庫,用于發布測試的服務。除了這些必需的配置外,系統進行了最小化安裝,從而保證系統運行時的效率。充當SSG設備的服務器上安裝實現的負載查詢器NECP server,并在內核中實現均衡調度模塊,包含經典的WRR算法和本文中采用的DWPS算法,數據包轉發采用NAT的方式。每個服務器節點上安裝負載反饋器NECP agent。

3.2 結果分析

測試包括三項內容:a)測試傳統的靜態WRR算法性能;b)測試不考慮服務類型和服務器負載能力的DWPS算法性能,即將負載能力向量和權重向量設成一樣的值;c)測試完整的DWPS算法的性能。測試過程中,后臺服務器提供兩種服務(分別放到不同的目錄下),即發布10 KB大小的靜態頁面,以及發布能夠觸發復雜運算的動態頁面(JSP文件)。結果如圖4所示。

從測試結果中可以看出,在訪問量不大的情況下,算法之間的區別并不明顯。隨著請求數量的增加,DWPS算法的優勢便逐漸體現出來了,并可得出以下結論:

a)帶有動態反饋功能的DWPS算法比WRR更能夠提高服務器系統的整體性能,使其具有更高的負載能力。

b)在考慮服務器的負載能力和服務類型的情況下,算法的負載均衡性能得到了一定的改善。

4 結束語

本文中實現的是一種基于服務類型動態反饋負載均衡算法,反饋機制采用NECP完成。該算法在仿真測試中體現出了一定的優越性,說明具有實際應用的價值,但是還存在需要進一步改進的地方。如何更加準確合理地設定權重向量,需要進一步的實驗進行驗證;在SSG設備上實現負載均衡模塊的效率問題也將是進一步研究的內容。

參考文獻:

[1]洪英杰 邵洪鋼. 業務選擇網關在增值業務系統中的應用[J]. 現代電信科技 2005(4):32-34.

[2]CHEN Lichuan CHOI H A. Approximation algorithms for data distribution with load balancing of Web servers[C]//Proc of the 3rd IEEE International Conference on Cluster Computing. Washington DC:IEEE Computer Society 2001:274-281.

[3]章文嵩. Linux服務器集群系統[EB/OL]. (2003-03-24)[2008-06-20].http://www.linuxvirtualserver.org.

[4]CASSLICCHIO E TUCCI S. Static and dynamic scheduling algorithm for scalable Web server farm[C]//Proc of the 9th IEEE Euromicro Workshop on Parallel and Distributed Processing. Mantova:[s.n.] 2001:369-376.

[5]IYENGAR A MACNAIR E NGUYEN T. An analysis of Web server performance[C]//Proc of Global Telecommunications Conference. New York:[s.n.] 1997:1943-1947.

[6]郭成城,晏蒲柳. 一種異構Web服務器集群動態負載均衡算法[J]. 計算機學報 2005,28(2):179-184.

[7]趙大勇. 業務選擇網管中訪問控制機制的研究[D]. 西安:西安電子科技大學,2008.

[8]易勤勤.SSG中多優先級隊列管理機制的研究與設計[D]. 西安:西安電子科技大學,2008.

[9]CERPA A ELSON J. The network element control protocol[EB/OL].(2000-09-10)[2008-06-20].http://www.circlemud.org/~jelson/writings/draft-cerpa-necp-03.txt.

主站蜘蛛池模板: 亚洲中文字幕久久精品无码一区| 国产区精品高清在线观看| 性欧美在线| 亚洲第一黄色网址| 国产精品极品美女自在线看免费一区二区| 精品久久久久久成人AV| 91亚洲精选| 九九这里只有精品视频| 国产免费福利网站| 国产精品香蕉在线| 国产成人精品无码一区二| 狠狠色狠狠色综合久久第一次| 亚洲天堂在线免费| 国产成人做受免费视频| 久久综合色天堂av| 人禽伦免费交视频网页播放| 久久99国产精品成人欧美| 伊人久久婷婷五月综合97色| 欧美性爱精品一区二区三区 | 男人的天堂久久精品激情| a级毛片视频免费观看| 人人看人人鲁狠狠高清| 久久久受www免费人成| 国产精品美女免费视频大全| 青青操视频在线| 亚洲高清中文字幕| 成人亚洲天堂| 亚洲乱码视频| 久久精品嫩草研究院| 91精品啪在线观看国产| 综合五月天网| 99国产精品国产| 亚洲性网站| 亚洲三级色| 国产日韩精品欧美一区灰| 在线视频亚洲欧美| 国产免费a级片| 国产九九精品视频| 国产哺乳奶水91在线播放| 成人免费网站久久久| 国产美女无遮挡免费视频| 伊人久久婷婷五月综合97色| 五月激情综合网| 在线观看av永久| 免费可以看的无遮挡av无码| 伦伦影院精品一区| 丝袜亚洲综合| 日韩一级毛一欧美一国产| 国产精品香蕉| 亚洲精品第一页不卡| 九九九精品成人免费视频7| 亚洲AⅤ永久无码精品毛片| 91视频青青草| 真人高潮娇喘嗯啊在线观看| 国产区免费| 久久久噜噜噜| 久久久久国产精品嫩草影院| 中文天堂在线视频| 激情视频综合网| 亚洲三级色| 少妇精品久久久一区二区三区| 国产精品2| 91口爆吞精国产对白第三集| 成人无码一区二区三区视频在线观看 | 亚洲精品自产拍在线观看APP| 亚洲v日韩v欧美在线观看| 一级片一区| 国产亚洲欧美在线专区| 日韩精品高清自在线| av在线5g无码天天| 欧美亚洲国产一区| 大乳丰满人妻中文字幕日本| 天堂av综合网| 特级做a爰片毛片免费69| 国产精品视频久| 亚洲大尺码专区影院| 天天综合亚洲| 日韩AV手机在线观看蜜芽| 在线精品亚洲国产| 成人福利一区二区视频在线| 国产欧美日韩在线在线不卡视频| 毛片在线播放a|