《電子技術應用》
您所在的位置:首頁 > 通信與網絡 > 業界動態 > 集群虛擬服務器的仿真建模研究

集群虛擬服務器的仿真建模研究

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

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


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


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


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


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


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

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


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


  根據表1中的數據以及相關的直方圖都難以確定在負載均衡器和真實服務器中報文延遲的理論分布,因此,采用實驗分布[6]作為其模型。
5 模型仿真
  在建立了圖1所示的集群虛擬服務器的系統仿真模型并確定了其隨機變量的分布特性后,可以采用由美國布魯克斯自動化公司(Brooks Automation)開發的仿真軟件Automod輸入該模型,并通過在Automod環境中編程進行集群虛擬服務器的仿真和分析。
  在Automod的仿真過程中,可以直接利用軟件提供的資源(Resource)作為各種報文數據處理的單元;系統各部分的報文排隊活動可以直接通過排隊(Queue)實現;建立一個負載產生器,等效為在Internet上使用虛擬服務器的客戶。
  通過采用Automod的屬性變量(Attribute Variable)可以解決負載均衡器的雙方向報文處理功能的問題。負載均衡器使用輪轉調度算法(Round Robin Scheduling),即假設所有真實服務器的處理性能均相同,依次將請求調度到不同的服務器。
  驗證仿真模型可以分別在實際虛擬服務器系統和Automod的仿真模型中從以下兩方面進行對比:(1)在負載均衡器、各個真實服務器和通道中排隊的應答或傳播報文數量;(2)真實服務器及負載均衡器的CPU利用率。例如,當使用實際的應答或傳播報文延遲數據時,在Automod的仿真模型中,如果設置一個較低的資源量,則在仿真過程中就會發現大部分的負載都被堵在真實服務器的排隊中,即真實服務器處理報文的能力過低,無法與實際系統的狀況相比;如果設置一個較高的資源量,則意味著服務器的并行處理能力增加,真實服務器的利用率提高,負載就很少或不會滯留在真實服務器的排隊中。因此,在Automod中可以根據實際情況調整仿真模型的資源量大小。
  如果在Automod中增加負載產生器的負載產生率,就等效為用戶訪問量增加,通過觀察排隊中的負載滯留比例,就可以發現系統的最大處理報文的能力以及系統各部分應答報文可能出現瓶頸之處。例如,將負載產生率增加一倍,雖然系統仍然可以處理所有的報文,但各臺真實服務器的平均利用率將達80%左右。顯然,這時系統應答報文的“瓶頸”為真實服務器,有必要在系統中增添一臺新的真實服務器。
  通過一個包括5臺真實服務器的實際虛擬服務器系統,收集并計算了仿真和建模的樣板數據。依據系統報文延遲的中位數、均值、變異系數和直方圖等,確定了系統隨機變量的概率分布;采用最大似然估計方法和最速下降法,得到了通道概率分布的具體參數;根據Q-Q圖和累積分布函數進一步校驗并最終確定通道的概率分布形式。使用Automod軟件進行了仿真建模和編程,借助仿真結果可以發現虛擬服務器的最大處理能力和可能的“瓶頸”之處。通過及時定位系統“瓶頸”,可以有的放矢地進一步研究和改進系統,有效提高系統性能。所采用的仿真方法也可以用于其他領域的仿真建模或分析中。
  在仿真模型中,負載均衡方式和調度算法還需要進一步增加,以便于比較不同的虛擬服務器系統。樣本數據也需要進一步擴充,以避免報文延遲的自相關性。
參考文獻
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 肖田云,張燕云,陳加棟.系統仿真導論[M].北京:清華大學出版社,2000

本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。
主站蜘蛛池模板: 99久久精品无码一区二区毛片 | 91精品国产9l久久久久 | 爱婷婷网站在线观看 | 在线精品国产成人综合第一页 | 4444免费观看| 国产毛片儿 | 久久久久久久久久久久久久 | 久久久精品中文字幕 | 欧美亚洲精品在线 | 不卡一区二区在线观看 | 国产精品久久久久久永久牛牛 | 国产成人夜色影视视频 | 99精品视频在线观看 | 美女网站免费观看视频 | 广东东莞一级毛片免费 | 青草青青视频在线观看 | 97视频免费观看2区 97视频免费观看 | 免费观看毛片网站 | 第十影院网| 久久精品国产99国产精品亚洲 | 奇米第四影视 | 毛片在线免费 | 久久精品国产精品亚洲婷婷 | 一区二区三区不卡免费视频97 | 啪啪免费网站 | 深爱五月综合网 | 婷婷狠狠五月天小说免费 | 开心久久网 | 精品1区2区3区 | 精彩视频一区二区三区 | 国产视频色 | 免费人成年短视频在线观看网站 | 亚洲精品免费在线 | 色激情综合 | 免费网站美女视频观看 | 欧美中文字幕在线播放 | 久久成人国产 | 国产精品高清全国免费观看 | 天天爱天天做天天爽天天躁 | 青青草国产免费久久久91 | 久久精品日韩免费观看频道 |