《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 通信與網(wǎng)絡(luò) > 業(yè)界動態(tài) > 集群虛擬服務(wù)器的仿真建模研究

集群虛擬服務(wù)器的仿真建模研究

2008-06-05
作者:楊建華1,金 笛2,李 燁2

  摘 要: 闡述了集群虛擬服務(wù)器的工作原理和三種負載均衡方式,通過實例討論了虛擬服務(wù)器的仿真和建模方法,創(chuàng)建了測試和仿真系統(tǒng)性能的輸入和系統(tǒng)模型,并依據(jù)Q-Q圖和累積分布函數(shù)校驗了其概率分布。
  關(guān)鍵詞: 集群 虛擬服務(wù)器 負載均衡 仿真 建模 概率分布


  隨著互聯(lián)網(wǎng)訪問量和數(shù)據(jù)流量的快速增長,新的應(yīng)用層出不窮。盡管Internet服務(wù)器處理能力和計算強度相應(yīng)增大,但業(yè)務(wù)量的發(fā)展超出了先前的估計,以至過去按最優(yōu)配置建設(shè)的服務(wù)器系統(tǒng)也無法承擔(dān)。在此情況下,如果放棄現(xiàn)有設(shè)備單純將硬件升級,會造成現(xiàn)有資源的浪費。因此,當(dāng)前和未來的網(wǎng)絡(luò)服務(wù)不僅要提供更豐富的內(nèi)容、更好的交互性、更高的安全性,還要能承受更高的訪問量,這就需要網(wǎng)絡(luò)服務(wù)具有更高性能、更大可用性、良好可擴展性和卓越的性價比。于是,集群虛擬服務(wù)器技術(shù)和負載均衡機制應(yīng)運而生。
  集群虛擬服務(wù)器[1]可以將一些真實服務(wù)器" title="真實服務(wù)器">真實服務(wù)器集中在一起,組成一個可擴展、高可用性和高可靠性的統(tǒng)一體。負載均衡[2]建立在現(xiàn)有網(wǎng)絡(luò)結(jié)構(gòu)之上,提供了一種廉價、有效和透明的方法建立服務(wù)器集群系統(tǒng),擴展網(wǎng)絡(luò)設(shè)備和服務(wù)器的帶寬,增加吞吐量,加強網(wǎng)絡(luò)數(shù)據(jù)處理能力,提高網(wǎng)絡(luò)的靈活性和可用性。使用負載均衡機制,大量的并發(fā)訪問或數(shù)據(jù)流量就可以分配到多臺節(jié)點設(shè)備上分別處理。系統(tǒng)處理能力得到大幅度提高,大大減少用戶等待應(yīng)答的時間。
  實際應(yīng)用中,虛擬服務(wù)器包含的真實服務(wù)器越多,整體服務(wù)器的性能指標(如應(yīng)答延遲、吞吐率等)越高,但價格也越高。在集群中通道或其他部分也可能會進入飽和狀態(tài)。因此,有必要根據(jù)實際應(yīng)用設(shè)計虛擬服務(wù)器的仿真模型" title="仿真模型">仿真模型,依據(jù)實際系統(tǒng)的測量數(shù)據(jù)確定隨機變量" title="隨機變量">隨機變量的概率分布類型和參數(shù),通過分位點-分位點圖即Q-Q圖(Quantile-Quantile Plot)和累積分布函數(shù)(Cumulative Distribution Functions)等方法校驗應(yīng)答或傳播延遲" title="傳播延遲">傳播延遲等性能指標的概率分布,通過仿真軟件和工具(如Automod[3])事先分析服務(wù)器的運行狀態(tài)和性能特點,使得集群系統(tǒng)的整體性能穩(wěn)定,提高虛擬服務(wù)器設(shè)計的客觀性和設(shè)計的可靠性,降低服務(wù)器建設(shè)的投資風(fēng)險。
1 集群虛擬服務(wù)器的體系結(jié)構(gòu)
  一般而言,首先需要在集群虛擬服務(wù)器上建立互聯(lián)網(wǎng)協(xié)議偽裝(Internet Protocol Masquerading)機制,即IP偽裝,接下來創(chuàng)立IP端口轉(zhuǎn)發(fā)機制,然后給出在真實服務(wù)器上的相關(guān)設(shè)置。圖1為集群虛擬服務(wù)器的通用體系結(jié)構(gòu)。集群虛擬服務(wù)器通常包括:真實服務(wù)器(Real Servers)和負載均衡器" title="負載均衡器">負載均衡器(Load Balancer)。


  由于虛擬服務(wù)器的網(wǎng)絡(luò)地址轉(zhuǎn)換方式是基于IP偽裝的,因此對后臺真實服務(wù)器的操作系統(tǒng)沒有特別要求,可以是Windows操作系統(tǒng),也可以是Linux或其他操作系統(tǒng)。
  負載均衡器是服務(wù)器集群系統(tǒng)的惟一入口點。當(dāng)客戶請求到達時,均衡器會根據(jù)真實服務(wù)器負載情況和設(shè)定的調(diào)度算法從真實服務(wù)器中選出一個服務(wù)器,再將該請求轉(zhuǎn)發(fā)到選出的服務(wù)器,并記錄該調(diào)度。當(dāng)這個請求的其他報文到達后,該報文也會被轉(zhuǎn)發(fā)到前面已經(jīng)選出的服務(wù)器。因為所有的操作都在操作系統(tǒng)核心空間中完成,調(diào)度開銷很小,所以負載均衡器具有很高的吞吐率。整個服務(wù)器集群的結(jié)構(gòu)對客戶是透明的,客戶看到的是單一的虛擬服務(wù)器。
  負載均衡集群的實現(xiàn)方案有多種,其中一種是Linux虛擬服務(wù)器LVS(Linux Virtual Server)方案。LVS實現(xiàn)負載均衡的技術(shù)有三種:網(wǎng)絡(luò)地址轉(zhuǎn)換(Network Address Translation)、直接路由(Direct Routing)和IP隧道(IP Tunneling)。
  網(wǎng)絡(luò)地址轉(zhuǎn)換按照IETF標準,允許一個整體機構(gòu)以一個公用IP地址出現(xiàn)在Internet上。通過網(wǎng)絡(luò)地址轉(zhuǎn)換,負載均衡器重寫請求報文的目標地址,根據(jù)預(yù)設(shè)的調(diào)度算法,將請求分派給后端的真實服務(wù)器;真實服務(wù)器的應(yīng)答報文通過均衡器時,報文的源地址被重寫,把內(nèi)部私有網(wǎng)絡(luò)地址翻譯成合法網(wǎng)絡(luò)IP地址,再返回給客戶,完成整個負載調(diào)度過程。
  直接路由的應(yīng)答連接調(diào)度和管理與網(wǎng)絡(luò)地址轉(zhuǎn)換的調(diào)度和管理相同,但它的報文是直接轉(zhuǎn)發(fā)給真實服務(wù)器。在直接路由應(yīng)答中,均衡器不修改、也不封裝IP報文,而是將數(shù)據(jù)幀的媒體接入控制MAC(Medium Access Control)地址改為選出服務(wù)器的MAC地址,再將修改后的數(shù)據(jù)幀在局域網(wǎng)上發(fā)送。因為數(shù)據(jù)幀的MAC地址是選出的服務(wù)器,所以服務(wù)器肯定可以收到該數(shù)據(jù)幀,從中獲得該IP報文。當(dāng)服務(wù)器發(fā)現(xiàn)報文的目標地址在本地的網(wǎng)絡(luò)設(shè)備時,服務(wù)器處理該報文,然后根據(jù)路由表應(yīng)答報文,直接返回給客戶。
  IP隧道是將一個IP報文封裝在另一個IP報文中的技術(shù)。該技術(shù)可以使目標為某個IP地址的數(shù)據(jù)報文被封裝和轉(zhuǎn)發(fā)到另一個IP地址。用戶利用IP隧道技術(shù)將請求報文封裝轉(zhuǎn)發(fā)給后端服務(wù)器,應(yīng)答報文能從后端服務(wù)器直接返回給客戶。這樣做,負載均衡器只負責(zé)調(diào)度請求,而應(yīng)答直接返回給客戶,不需要再處理應(yīng)答包,將極大地提高整個集群系統(tǒng)的吞吐量并有效降低負載均衡器的負載。IP隧道技術(shù)要求所有的服務(wù)器必須支持IP Tunneling或IP封裝(Encapsulation)協(xié)議。
2 集群虛擬服務(wù)器報文延遲的確定
  通過一個裝有5臺真實服務(wù)器并使用網(wǎng)絡(luò)地址轉(zhuǎn)換技術(shù)實現(xiàn)Linux虛擬服務(wù)器的實際系統(tǒng)[4],可以得到有關(guān)請求和應(yīng)答報文的時戳(Time Stamp)文件。根據(jù)這些文件,能夠計算出集群虛擬服務(wù)器的仿真和建模所需數(shù)據(jù)。
  為了確定隨機變量分布類型和參數(shù),應(yīng)該統(tǒng)計下列延遲:(1)從客戶到負載均衡器的傳播延遲(Transport Delay);(2)負載均衡器的應(yīng)答延遲(Response Delay);(3)從負載均衡器到真實服務(wù)器的傳播延遲;(4)真實服務(wù)器的應(yīng)答延遲;(5)從真實服務(wù)器到負載均衡器的傳播延遲;(6)負載均衡器對真實服務(wù)器的應(yīng)答延遲;(7)從負載均衡器到客戶的傳播延遲。
  在實際系統(tǒng)產(chǎn)生的時戳文件中,間接地描述了上述各延遲時間。文件包含的內(nèi)容如下:
  ……
  192.168.3.202        //IP地址
  53295            //端口
  1022834955.914398316    //時戳(秒)
  1              //報文類型
  2072754558          //序列號
  192.168.3.202
  53295
  1022834955.914424877
  4
  2081793697
  ……
  當(dāng)一個服務(wù)請求到達集群虛擬服務(wù)器系統(tǒng)時,即產(chǎn)生帶有惟一序列號的同步請求報文(Synchronized Request Package),將該報文轉(zhuǎn)發(fā)到某一真實服務(wù)器,同時建立該服務(wù)器與客戶端的連接,每個這樣的連接都帶有惟一的端口號;該服務(wù)器處理通過該連接的確認請求報文(Acknowledgement Request Package),直到服務(wù)器收到結(jié)束請求報文(Finished Request Package)。對每一種類型的請求報文,系統(tǒng)都給予一個相應(yīng)的應(yīng)答報文。因此,在不同的報文時戳文件中,如果兩條記錄具有相同的端口號、報文類型和序列號,則它們是同一個請求或應(yīng)答報文,對相關(guān)的時戳相減即可得到集群虛擬服務(wù)器系統(tǒng)的仿真和建模所需的延遲數(shù)據(jù)。通過所編寫的C++程序即可計算這些延遲。
3 系統(tǒng)仿真模型
  上述的集群虛擬服務(wù)器實際系統(tǒng)的仿真模型如圖2所示,在負載均衡器、各通道、5臺真實服務(wù)器中通過或處理的均為請求或應(yīng)答報文。


4 隨機變量模型的確定
  對具有隨機變量的集群虛擬服務(wù)器進行仿真,必須確定其隨機變量的概率分布,以便在仿真模型中對這些分布進行取樣,得到所需的隨機變量。
4.1 實際虛擬服務(wù)器的延遲數(shù)據(jù)概況
  在實際虛擬服務(wù)器的負載均衡器、各通道和5臺真實服務(wù)器中,對請求和應(yīng)答報文都有一定的延遲。部分報文延遲的統(tǒng)計數(shù)據(jù)如表1所示。


  由表1中的數(shù)據(jù)可見,報文延遲的中位數(shù)與均值差異較大,所以其概率分布不對稱;變異系數(shù)不等于1,導(dǎo)致概率分布不會是指數(shù)分布,而可能是γ分布或其他分布。
4.2 隨機變量的概率分布
  圖3為第一臺真實服務(wù)器到負載均衡器之間的通道報文傳播延遲直方圖,其中t為報文延遲時間,h(t)為報文延遲區(qū)間數(shù)。由圖3可知,通道內(nèi)的報文傳播延遲數(shù)據(jù)近似服從γ分布或?qū)?shù)正態(tài)分布[5]。


  描述γ分布需要兩個參數(shù):形狀(Shape)參數(shù)α和比例(Scale)參數(shù)β,這兩個參數(shù)與均值M、方差V之間的關(guān)系是非線性的:
  M=αβ        (1)
  V=αβ2        (2)
  描述對數(shù)正態(tài)分布也需要形狀參數(shù)σ和比例參數(shù)μ,這兩個參數(shù)與均值M、方差V之間的關(guān)系也是非線性的:
  

  式(1)~(4)都可以通過最大似然估計MLE(Maximum Likelihood Estimator)方法[5]或最速下降法(Steepest Descent Method)求出。表2給出了用這兩種方法求出的從第一臺真實服務(wù)器到負載均衡器之間通道內(nèi)的報文延遲概率分布參數(shù)。


  使用累積分布函數(shù)和Q-Q圖可以校驗并進一步確定上述通道內(nèi)報文傳播延遲的概率分布。取用表2中的參數(shù),可以得到γ分布的累積分布函數(shù),如圖4所示,其中t為報文延遲時間,F(xiàn)(t)為報文延遲的累積分布函數(shù)。為作比較,實驗分布也畫在該圖中。γ分布和對數(shù)正態(tài)分布的Q-Q圖如圖5所示。
  由圖4和圖5可以看出,γ分布較好地擬合了該通道內(nèi)的報文傳播延遲數(shù)據(jù)分布。其他通道報文延遲直方圖也有類似形狀。經(jīng)計算和分析,這些通道的報文傳播延遲概率分布也近似服從γ分布。


  根據(jù)表1中的數(shù)據(jù)以及相關(guān)的直方圖都難以確定在負載均衡器和真實服務(wù)器中報文延遲的理論分布,因此,采用實驗分布[6]作為其模型。
5 模型仿真
  在建立了圖1所示的集群虛擬服務(wù)器的系統(tǒng)仿真模型并確定了其隨機變量的分布特性后,可以采用由美國布魯克斯自動化公司(Brooks Automation)開發(fā)的仿真軟件Automod輸入該模型,并通過在Automod環(huán)境中編程進行集群虛擬服務(wù)器的仿真和分析。
  在Automod的仿真過程中,可以直接利用軟件提供的資源(Resource)作為各種報文數(shù)據(jù)處理的單元;系統(tǒng)各部分的報文排隊活動可以直接通過排隊(Queue)實現(xiàn);建立一個負載產(chǎn)生器,等效為在Internet上使用虛擬服務(wù)器的客戶。
  通過采用Automod的屬性變量(Attribute Variable)可以解決負載均衡器的雙方向報文處理功能的問題。負載均衡器使用輪轉(zhuǎn)調(diào)度算法(Round Robin Scheduling),即假設(shè)所有真實服務(wù)器的處理性能均相同,依次將請求調(diào)度到不同的服務(wù)器。
  驗證仿真模型可以分別在實際虛擬服務(wù)器系統(tǒng)和Automod的仿真模型中從以下兩方面進行對比:(1)在負載均衡器、各個真實服務(wù)器和通道中排隊的應(yīng)答或傳播報文數(shù)量;(2)真實服務(wù)器及負載均衡器的CPU利用率。例如,當(dāng)使用實際的應(yīng)答或傳播報文延遲數(shù)據(jù)時,在Automod的仿真模型中,如果設(shè)置一個較低的資源量,則在仿真過程中就會發(fā)現(xiàn)大部分的負載都被堵在真實服務(wù)器的排隊中,即真實服務(wù)器處理報文的能力過低,無法與實際系統(tǒng)的狀況相比;如果設(shè)置一個較高的資源量,則意味著服務(wù)器的并行處理能力增加,真實服務(wù)器的利用率提高,負載就很少或不會滯留在真實服務(wù)器的排隊中。因此,在Automod中可以根據(jù)實際情況調(diào)整仿真模型的資源量大小。
  如果在Automod中增加負載產(chǎn)生器的負載產(chǎn)生率,就等效為用戶訪問量增加,通過觀察排隊中的負載滯留比例,就可以發(fā)現(xiàn)系統(tǒng)的最大處理報文的能力以及系統(tǒng)各部分應(yīng)答報文可能出現(xiàn)瓶頸之處。例如,將負載產(chǎn)生率增加一倍,雖然系統(tǒng)仍然可以處理所有的報文,但各臺真實服務(wù)器的平均利用率將達80%左右。顯然,這時系統(tǒng)應(yīng)答報文的“瓶頸”為真實服務(wù)器,有必要在系統(tǒng)中增添一臺新的真實服務(wù)器。
  通過一個包括5臺真實服務(wù)器的實際虛擬服務(wù)器系統(tǒng),收集并計算了仿真和建模的樣板數(shù)據(jù)。依據(jù)系統(tǒng)報文延遲的中位數(shù)、均值、變異系數(shù)和直方圖等,確定了系統(tǒng)隨機變量的概率分布;采用最大似然估計方法和最速下降法,得到了通道概率分布的具體參數(shù);根據(jù)Q-Q圖和累積分布函數(shù)進一步校驗并最終確定通道的概率分布形式。使用Automod軟件進行了仿真建模和編程,借助仿真結(jié)果可以發(fā)現(xiàn)虛擬服務(wù)器的最大處理能力和可能的“瓶頸”之處。通過及時定位系統(tǒng)“瓶頸”,可以有的放矢地進一步研究和改進系統(tǒng),有效提高系統(tǒng)性能。所采用的仿真方法也可以用于其他領(lǐng)域的仿真建?;蚍治鲋?。
  在仿真模型中,負載均衡方式和調(diào)度算法還需要進一步增加,以便于比較不同的虛擬服務(wù)器系統(tǒng)。樣本數(shù)據(jù)也需要進一步擴充,以避免報文延遲的自相關(guān)性。
參考文獻
1 Schroeder T,Goddard S,Ramamurthy B.Scalable web server clustering technologies[J].IEEE Network,2000;14(3):38~45
2 Yong M T,Ayani R.Comparison of load balancing strategies on cluster-based web servers[J].Simulation,2001;77(5):185~195
3 Nikoukaran J.Software selection for simulation in manufac-turing:A review[J].Simulation Practice and Theory,1999;7(1):1~14
4 Chepurko A.Instrumenting a cluster-based web server for performance measuring[D].Erlangen-Nuremberg University,2002
5 Law A M,Kelton W D.Simulation modeling and analysis (Third Edition)[M].McGraw-Hill Inc,2000
6 肖田云,張燕云,陳加棟.系統(tǒng)仿真導(dǎo)論[M].北京:清華大學(xué)出版社,2000

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。