首页 » 正文

[论文解读]Cost of Virtual Machine Live Migration in Clouds A Performance Evaluation

1.本文系課程報告的相關內容,亦系論文Cost of Virtual Machine Live Migration in Clouds A Performance Evaluation的報告和解讀。
2.全文為對於云計算的討論,非專業的知識普及,可能存在疏漏或錯誤,如需要相對準確的內容,請直接閱讀原文。
3.文章圖片部分來源於網路,表格則為根據原文內容自製,解讀過程中加入的自己的部分觀點,不代表原作者立場。
4.對於目前云提供商的分析,雖已充分查閱相關資料但難免疏漏,所述不代表其實際的功能和定價,亦不會因為未來功能的更新而更新本文。
5.為了幫助學習者更好的了解雲端計算的相關內容,文中附上了原文下載,同樣對於部分引用于網路的圖片,遵循知識產權保護,如有問題請申訴。
———————– Page 2———————–
目錄
1.概述………………………………………………………………………………3
2.虛擬機簡介……………………………………………………………………4
3.遷移成本……………………………………………………………………….5
4.遷移成本與服務級別協定………………………………………………..6
5.即時遷移……………………………………………………………………….7
6.相關工作……………………………………………………………………….8
7. 互聯網應用的特點………………………………………………………….10
8.測試平台參數…………………………………………………………………11
9.即時遷移成本評估…………………………………………………………..12
10.實驗設計………………………………………………………………………13
11.實驗結果……………………………………………………………………….15
12.結論……………………………………………………………………………..18
———————– Page 3———————–
1.概述
• 虛擬化已廣泛應用在雲計算中,今天我們討論的是其中的重要一環,即虛擬機器即時遷移。即時遷移最主要的特征是不停機,且機器內部的程式均正常運轉,程式之間的 交互也不會受到影響。程式甚至不能“感覺”到外部環境已經發生變化。
• 傳統的雲業務允許短時間的停機并在期間移動工作負載。而在不允許停機的情況下如何使得運行的程式不受到影響是重要的議題。
• 我們首先需要更好地瞭解遷移對系統性能的影響,然後需要評估即時遷移對虛擬機。系統性能:對於全局的影響程度,比如硬體設備的資源消耗,響應時間的變化。程式性能:對局部程式的性能造成影響,包括卡頓,短時間失去響應等。
• 在大多數情況下,遷移的代價是可以接受的,但不能忽略不計,特別是在一些需要長期可用或高度響應的系統中。長期可用和高度響應是良好程式的特征, 從時間的長度上表明用戶在任何時候都 可以發起請求,從一段時間的性能要求上說明對於任意的用戶請求都能快速, 準確的反應。
• 在現代網路應用程式服務的資料中心中,即時遷移適用性的潛力很大。
———————– Page 4———————–
2.虛擬機簡介
• 虛擬機已成為資料中心和群集系統的基本模組 ,這主要是由於其業務隔離 ,可混合和可遷移的能力。
• 這些功能使資料中心能夠以安全 ,靈活和高效的方式為多個使用者提供服務 。這些虛擬化基礎架構被視為驅動雲計算的關鍵元件 。

圖1 :著名虛擬機品牌vmware workstation
• 虛擬機的遷移需要確保系統的可管理性 ,性能和容錯能力 。
• 在生產環境中遷移虛擬機的原因主要是需要平衡系統負載 ,通過將虛擬機從超載或過熱的環境中遷移出來 ,以使其更好的工作。

圖2 :著名虛擬機品牌Oracle VirtualBox
———————– Page 5———————–
3. 遷移成本
• 伺服器在將其工作負載遷移到其他設備後 ,需要有選擇地關閉伺服器進行維護。遷移整個作業系統需要克服傳統上遷移的諸多困難 。甚至應用程式本身並不知道正在發生遷移 。
• 傳統的虛擬機遷移只是單純的停止虛擬機並複製文檔 ,將其所有記憶體頁面複製到目標主機 ,最後重新開啟虛擬機 。這一過程是非常直覺的 ,但停止虛擬機在某些任務中是令人不可接受的 。
• 流行的虛擬機管理程式Xen或VMWare允許在作業系統繼續運行時進行遷移 ,這種過程也稱為“即時”或“熱”遷移 ,而即時遷移的主要優勢是可以在停機時間幾乎為零的情況下遷移作業系統 ,這是提供即時服務時的一項重要功能。

圖3 :虛擬化技術架構
———————– Page 6———————–
4.遷移成本與服務級別協定
實際的停機時間在不同的應用程式之間可能會有很大的不同,例如:
• 遷移Quake遊戲伺服器時的60毫秒
• HPC基準測試時的3秒
關於遷移活動造成的開銷,較早的研究表明,
• 對於一組特定的HPC基準,經歷的速度下降在1%到8%之間。
• 在其他使用Xen的方案中,運行Web的虛擬機的Apache Web伺服器的傳輸速率降低了12%到20%。
• 在複雜的Web工作負載(SPECWeb99)的情況下,被測系統可以保持與基準度量標準的一致性。
考慮到一系列應用,遷移的不利影響是可以接受的或可以忽略不計。
我們進行了案例研究并量化了虛擬機即時遷移對現代應用程式的性能影響。對於服務級別協定(SLA)驅動諸如服務可用性和響應性等指標的環境進行實際測試。SLA服務提供者和消費者就最低服務水準達成協議,直接反映了最終使用者如何看待所提供服務的品質。
服務級別協定(SLA)最根本的形式是協議雙方(服務提供者和使用者)簽訂的一個合約或協定,這個合約規範了雙方的商務關係或部分商務關係。一般來說,SLA是服務提供者與使用者之間協商並簽訂的一個具有法律約束力的合同,合同規定了在服務提供過程中雙方所承擔的商務條款。
———————– Page 7———————–
5.即時遷移
• 即時遷移虛擬機的過程包括將記憶體映射,即從原始伺服器傳輸到目標伺服器 。虛擬機監控程式會將虛擬機的記憶體頁面預先複製到目標位置 ,而不會中斷OS或其任何應用程式 。頁面複製過程在多個迴圈中重複進行 ,在該迴圈中連續傳輸資料不一致的頁面 ,以期待完整修復它 ,但通常會有一組頁面被修改得過於頻繁 ,以至於必須將虛擬機停止一段時間 ,直到將其完全轉移為止。隨後 ,可以在新伺服器中恢復虛擬機 。
• 在上述的過程中虛擬機的即時遷移允許在不停機的狀況下使工作負載進行移動 ,但是由於記憶體預複製的反覆運算所引起的開銷 ,仍然會對程式的性能造成負面影響 。這些開銷主要包括原始伺服器和目標伺服器上消耗的額外的CPU週期以及消耗額外的網路頻寬 ,除此之外 ,隨著虛擬機在遷移後的恢復 ,一些緩存需要重新載入 ,也會使得速度降低 。由於不同的記憶體使用情況和訪問模式 ,對於不同的應用程式 ,停機時間和應用程式性能可能會受到不同的影響 。

圖4 :即時遷移
———————– Page 8———————–
6.1相關工作
多核 ,半虛擬化 ,硬體輔助虛擬化和即時遷移是最新出現的創新技術 ,現在的企業需要衡量使用虛擬機的成本和收益 。虛擬化在各種情況下的影響已成為企業關注的焦點 ,許多研究提出了虛擬機對各種工作負載時的開銷進行單獨或並行的測量 。
Apparao在運行Xen的單個伺服器上運行多個應用程式 ,作者使用了Intel定義的網路套件 ,由Web伺服器虛擬機 ,資料庫伺服器虛擬機 ,Java伺服器虛擬機 ,郵件伺服器虛擬機以及一個空閒虛擬機組成 ,在這種情況下幾乎無法充分利用伺服器 ,應用之間會互相影響 。

圖5 :Xen 的半虛擬化架構

圖6 :支持VT-x技術的虛擬化架構

圖7 :Apparao 的實驗系統由Web伺服器虛擬機 ,資料庫伺服器虛擬機 ,Java伺服器虛擬機等組成
———————– Page 9———————–
6.2相關工作
Zhao等人的研究則專門處理虛擬機遷移 。在遷移CPU和記憶體密集型工作負載以及同時遷移多個虛擬機時會使得性能下降。但是 ,這種研究採用的是純粹的複製遷移方法 ,而不是即時遷移 。他們隨後研究的是Xen即時遷移 ,並量化其對四個常見的一組應用程式的影響 。主要側重於量化停機時間和總遷移時間 ,並展示即時遷移的可行性。但是 ,這些工作尚未評估遷移對現代Internet工作負載的性能的影響 。

圖8 :zhao等人的研究是純粹的複製遷移
Travostino展示了通過專用1Gbps鏈路連接的WAN上的虛擬機即時遷移的有效性 ;儘管RTT高出1000倍 ,但據估計 ,應用程式的停機時間比LAN內設置的停機時間長5-10倍 。除了其可行性外 ,WAN即時遷移的概念仍將在商業虛擬機管理程式中實施 ,這要求所有涉及的電腦連接的WAN上的虛擬機即時遷移的有效性都在同一子網中並共用存儲 。

圖9 :Travostino展示了通過專用1Gbps鏈路
———————– Page 10———————–
7. 互聯網應用的特點
利用基礎架構的應用程式非常廣泛 。亞馬遜報告了幾個利用其EC2平臺的案例研究 ,包括視頻處理 ,基因類比和Web應用程式。這樣的平臺對於多層Web應用程式特別有用 ,該Web應用程式通常包括Web伺服器 ,應用程式伺服器/動態內容生成和後端資料庫 。
虛擬機技術允許動態置備和複製虛擬機為一個應用程式 層託管其他實例 ,從而為Web應用程式的擴展提供了額外的靈活性 。
社交網站可能是高度動態和互動式Web 2.0應用程式的最著名示例 ,該應用程式在過去幾年中越來越受歡迎 。它們越來越受歡迎 ,刺激了對用於託管應用程式的高度可擴展和靈活的解決方案的需求 。

圖10 :基礎架構的應用程式包括視頻處理 ,基因類比和Web應用程式
———————– Page 11———————–
8.測試平台參數
• 測試平臺是一個由6個伺服器 (1個頭節點和5個虛擬機主機)組成的集群 。
• 每個節點都配備了Intel Xeon E5410 (具有2x6MB L2快取記憶體和Intel VT技術的2.33GHz四核處理器),4 GB記憶體和7200 rpm硬碟 。伺服器通過千兆乙太網交換機連接 。
• 群集頭節點運行沒有管理程式的Ubuntu Server 7.10 。所有其他節點 (虛擬機主機)運行Citrix XenServer Enterprise Edition 5.0.0 。
• 所有虛擬機均運行64位Ubuntu Linux 8.04 Server Edition ,半虛擬化內核版本2.6.24-23 。
• 安裝的Web伺服器是以prefork模式運行的Apache 2.2.8 。PHP版本是5.2.4-2 。帶有Innodb引擎的MySQL是5.1.32版 。

圖11 :測試平台參數
———————– Page 12———————–
9.即時遷移成本評估
• 我們將Olio用作Web 2.0應用程式 ,這是Sun通過瞭解Web 2.0客戶面臨的挑戰而設計的 。與Faban負載生成器結合使用以表示應用程式和工作負載集 。它可幫助開發人員評估各種Web技術的適用性 ,功能和性能 。
• Faban是開源的瑪律可夫鏈負載生成器 ,用於驅動針對Olio的負載 ;它由一個主程序組成 ,該主程序產生一個或多個負載驅動程式 ,即類比實際使用者的多執行緒進程 。
• 主機提供了一個Web介面 ,通過它可以提交自訂的基準測試並監視其結果 。這種Olio / Faban組合最初是作為基準測試的一部分提出的。可以通過更改應用程式要服務的併發使用者數來更改針對應用程式驅動的負載級別 。

圖12 :Faban主頁
———————– Page 13———————–
10.1實驗設計
• 我們的實驗的總體目標 :量化在運行中執行虛擬機遷移指令後遇到的速度下降和停機時間 。
• 根據SLA計算生成的值來量化應用程式的運行速度 。遷移實驗包括在兩個專用物理機之間遷移單個虛擬機 。在每次運行中 ,所選的目的電腦都不同於上一次運行中的源電腦 ,也就是說 ,一系列測試中不包括在同一組的兩台電腦之間來回遷移虛擬機 。
• 我們使用Olio來增加負載 ,並逐漸增加兩次運行之間的併發用戶數 ,以100個用戶為增量 ,同時使用2個大小相同 ,帶有2個vCPU和2GB記憶體的虛擬機 。通過分析SLA發現正常運行服務是我最大併發使用者數為600 。我們觀察了記憶體和CPU的使用情況 ,以找到能夠為600個使用者提供服務的最小虛擬機大小 。

圖13 :SLA評分標準
———————– Page 14———————–
10.2實驗設計
•我們的目標是將虛擬機的大小(vCPU和記憶體資源)減小到可為600個使用者提供服務所需的最小值。
•在最終配置中,僅託管Apache / PHP的虛擬機具有1個vCPU和2GB記憶體;MySQL的虛擬機具有2個vCPU和1GB記憶體。
•在預演實驗中,我們注意到將MySQL伺服器託管在NFS上時的性能問題。該應用程式不能擴展到超過400個併發用戶,導致我們將MySQL託管在本地硬碟中,但也因此可以擴展到600個併發用戶。
•我們對600個併發用戶執行了10分鐘和20分鐘的基準測試。在這些實驗中,對Web伺服器虛擬機進行了即時遷移。試驗此負載級別的目的是評估在系統幾乎被超過運行能力但未超載情況下的反應。
我們旨在量化遷移影響的持續時間和應用程式經歷的停機時間。隨後,在第二輪實驗中,我們使用較少的併發用戶(即100、 200、 300、 400和500)運行基準測試,旨在找到可以在較低風險下進行遷移的“安全”負載水準。

圖14 :作者設計的評分系統
———————– Page 15———————–
11.1實驗結果
總體而言 ,我們的實驗結果表明 ,即時遷移而產生的開銷是可以接受的 ,但不能忽略 ,尤其是在要求更高服務級別的面向SLA的環境中。
在即將結束時經歷了3秒的停機時間和44秒的遷移 。虛擬機在目標節點中恢復後 ,回應時間中觀察到的最高資源負載峰值立即發生 。經過5秒鐘後系統可以完全滿足停機期間發起的所有請求。在停機過程中 ,沒有任何請求被丟棄或超時。當為600個併發使用者提供服務時,Olio經歷的停機時間大大超過了預期 。
該結果表明,工作負載複雜性強加了異常的記憶體訪問模式,從而增加了即時遷移虛擬機的難度。

圖15 :顯示了在一次運行的穩定狀態下運行五分鐘後常的記憶體訪問模式 ,從而增加了即時執行一次遷移的效果。
———————– Page 16———————–
11.2實驗結果
圖16展示了多次遷移對首頁載入回應時間的影響。這些結果對應於5次運行的平均值。我們可以觀察到,當發生一次遷移時,如果以90%SLA作為基準則不會發生任何問題,只有在短時間內執行兩次遷移時,才會產生問題。但是第一次遷移後,如果我們以99%SLA作為基準則其出現了一定的問題,這表明當為600個併發使用者提供服務時,單個虛擬機遷移的開銷是不可接受的。此圖還表明,一個以上的遷移可能不會使得90%SLA產生問題。防止這種衝突的方法是在遷移之間留出足夠的間隔,以使系統回到正常的回應水準。

圖16 :為600個併發用戶的首頁載入回應時間計算的第90和第99個百分位SLA 。允許的最大回應時間為1秒正常的回應水準 。
———————– Page 17———————–
11.3實驗結果
根據上述結果 ,我們可以得出結論 ,儘管虛擬機的即時遷移會導致顯著的速度下降和停機時間過長 ,但是當系統響應標準為90%SLA時 ,我們就可以使得單個遷移發生的更加順利 。換句話說 ,只要在正確的時間執行遷移 ,就不會有與之相關的成本。圖17記錄了對500 、400 、300 、200和100個併發用戶執行一次遷移時 ,所有用戶操作最大記錄的99%SLA的數值。由第99%SLA算出的所有用戶操作的最大回應時間 ,負載從100到500個用戶不等 。在所有情況下 ,即使在即時遷移Web伺服器的情況下 ,我們的仍能夠接受的性能的影響 。

圖17 :給出了更詳細的結果 ,列出了在10分鐘的運行過程中執行一次遷移時
———————– Page 18———————–
12.結論
• 虛擬機的即時遷移是虛擬化群集和資料中心的重要功能 。
• 在不損害應用程式可用性和回應能力的情況下可以實現負載平衡和進行基礎結構維護 ,以及更靈活地管理可用的物理資源 。
• 在將應用程式託管在一組虛擬機上的情況下 ,我們進行了一系列實驗來評估虛擬機的即時遷移成本 。
• 在針對應用程式驅動了多個負載級別的場景中進行了即時遷移實驗 。我們的結果表明 ,在系統資源幾乎被用盡的情況下 ,即時遷移會導致嚴重的停機時間 。此外 ,這種服務中斷還會導致在某些情況下違反預定義的SLA,尤其是在短時間內執行兩次遷移時 。
• 我們發現在將系統負載稍微減少到較少的併發用戶時執行遷移時 ,仍然可以滿足最嚴格的SLA(99%) 。
• 總之 ,我們看到即時遷移在服務于現代網路服務的資料中心中具有很大的潛力 。這項性能評估研究是邁向研究虛擬機即時遷移對資料中心和集群進行管理的第一步 。

发表评论