| 研究生: |
曾珮綺 Pei-Chi Tseng |
|---|---|
| 論文名稱: |
高效能KVM虛擬機器即時遷移之研究 Efficient Virtual Machine Live Migration over Kernel-Virtual-Machine |
| 指導教授: |
王尉任
Wei-Jen Wang |
| 口試委員: | |
| 學位類別: |
碩士 Master |
| 系所名稱: |
資訊電機學院 - 資訊工程學系 Department of Computer Science & Information Engineering |
| 論文出版年: | 2016 |
| 畢業學年度: | 104 |
| 語文別: | 中文 |
| 論文頁數: | 57 |
| 中文關鍵詞: | KVM 、Live Migration 、虛擬機器 、Pre-Copy演算法 |
| 外文關鍵詞: | KVM, Live Migration, Virtual Machine, Pre-Copy Algorithm |
| 相關次數: | 點閱:10 下載:0 |
| 分享至: |
| 查詢本校圖書館目錄 查詢臺灣博碩士論文知識加值系統 勘誤回報 |
隨著雲端計算的蓬勃發展,虛擬化技術也開始被廣泛地運用在雲端資源的管理與取得。由於虛擬化雲端服務往往需要在具高可靠度的環境執行,但是雲端服務所在的實體機器有可能因為排定維修或其它原因而無法提供穩定的執行環境,這時就可利用虛擬機器動態遷移技術來解決這個問題,讓基於虛擬機器的雲端服務在不同實體機器上轉移並持續運行。本研究主要針對Kernel-based Virtual Machine (KVM) 虛擬機器的動態遷移技術進行效能改進的研究。我們發現在KVM上的動態遷移技術,其動態遷移是否成功與其效能是否優異,會和運行在VM上的應用程式種類有關。舉例而言,我們發現當KVM在執行Memory-Intensive工作量之VM時,會發生遷移失敗的狀況。針對這個問題,我們提出並實作兩種不同的演算法來改善KVM原生Pre-Copy演算法。在我們所提出的第一個演算法FRS中,我們透過找出最常被參照集來減少重復傳送的資料量;在第二個演算法MP,我們透過監測記憶體的存取方式判斷應用程式類型提早進入Stop-and-Copy階段以避免過度延長動態遷移的過程。經由實驗測試,此兩種演算法相較於原本KVM的Pre-Copy演算法都有較佳的效能。以記憶體密集類型的虛擬機進行動態遷移而言,我們的實驗發現原生演算法僅有0%動態遷移成功率。相較之下,我們的FRS可達83%,而我們的MP甚至可達到100%成功率;若我們設計讓原本的Pre-Copy演算法提高其預估停機時間之參數,使它在記憶體密集類型的成功率可以達到100%的條件下去比較,則在總體遷移時間(Total Migration Time)方面,我們所提出的兩種方法平均都可減少13%以上,而MP演算法可降低服務中斷時間(Downtime)達14%,在遷移過程中所兩者所傳送的資料也都能減少將近15%。因此我們所提出的兩種方法都比原來的Pre-Copy演算法較為優異。
This research focuses on the performance issue of VM live migration (i.e. total migration time and downtime) over Kernel-based Virtual Machine. We found that, the original KVM live migration mechanism always fails when migrating a memory-intensive VM. To this end, we propose two novel heuristic algorithms, and implement them on qemu-kvm 1.5.3. The first algorithm is called the Frequent-Referenced-Set (FRS) algorithm. It counts the total number of dirty pages in each iteration of the dirty-page-transmission phase, and uses the information to decide whether the live migration can enter the stop-and-copy phase. The second algorithm is called the Memory-Pattern (MP) algorithm. It monitors how memory is accessed and calculates which memory region is frequently accessed, and uses the information to enter the stop-and-copy phase. The results indicate that, the KVM Pre-Copy algorithm using default setting cannot perform live migration on memory-intensive VMs successfully (0% successful rate). On the contrary, the two proposed algorithms achieve better performance. The FRS algorithm achieves 83% successful rate while the MP algorithm achieves 100%. Even when we relax the downtime constraint of the KVM Pre-Copy algorithm such that it can pass all the live migration tests, both of the proposed algorithms still have shorter migration time (about 13% off) than the KVM Pre-Copy algorithm. Moreover, the proposed MP algorithm has a shorter downtime (about 13% off) than the KVM Pre-Copy algorithm.
[1] K. Hwang, J. Dongarra, and G. C. Fox, Distributed and Cloud Computing: From Parallel Processing to the Internet of Things. Amsterdam ; Boston: Morgan Kaufmann, 2013.
[2] R. Buyya, J. Broberg, and A. M. Goscinski, Cloud Computing: Principles and Paradigms. Hoboken, N.J: Wiley, 2011.
[3] R. Buyya, C. Vecchiola, and S. T. Selvi, Mastering Cloud Computing: Foundations and Applications Programming. Amsterdam ; Boston: Morgan Kaufmann, 2013.
[4] S. N. T. Chiueh and S. Brook, “A survey on virtualization technologies,” RPE Rep., pp. 1–42,2005.
[5] G. J. Popek and R. P. Goldberg, “Formal requirements for virtualizable third generation architectures,” Commun ACM, vol. 17, no. 7, pp. 412–421, 1974.
[6] R. P. Goldberg, “Survey of virtual machine research,” Computer, vol. 7, no. 9, pp. 34–45, 1974.
[7]“VMware Virtualization.” [Online]. Available: http://www.vmware.com/. [Accessed: 25-Jun-2016].
[8]“KVM.” [Online]. Available: http://www.linux-kvm.org/page/Main_Page. [Accessed: 25-Jun-2016].
[9]“The Xen Project.” [Online]. Available: http://www.xenproject.org/. [Accessed: 25-Jun-2016].
[10]“Citrix Xen.” [Online]. Available: http://www.citrix.com/. [Accessed: 25-Jun-2016].
[11] P. Barham, B. Dragovic, K. Fraser, S. Hand, T. Harris, A. Ho, R. Neugebauer, I. Pratt, and A. Warfield, “Xen and the Art of Virtualization,” in Proceedings of the Nineteenth ACM Symposium on Operating Systems Principles, New York, NY, USA, pp. 164–177, 2003.
[12] “Hyper-V.” [Online]. Available:https://msdn.microsoft.com/en-us/library/cc768521(v=bts.10).aspx [Accessed: 25-Jun-2016].
[13] B. Cully, G. Lefebvre, D. Meyer, M. Feeley, N. Hutchinson, and A. Warfield, “Remus: High availability via asynchronous virtual machine replication,” in Proceedings of the 5th USENIX Symposium on Networked Systems Design and Implementation, 2008, pp. 161– 174.
[14] D. J. Scales, M. Nelson, and G. Venkitachalam, “The design and evaluation of a practical system for fault-tolerant virtual machines,” Technical Report VMWare-RT-2010-001, VMWare, 2010.
[15] C. Clark, K. Fraser, S. Hand, J.G. Hansen, E. Jul, C. Limpach, I. Pratt, and A. Warfield. Live migration of virtual machines. In Network System Design and Implementation, May 2005.
[16]Antonio Celesti , Francesco Tusa , Massimo Villari , Antonio Puliafito, Improving Virtual Machine Migration in Federated Cloud Environments, Proceedings of the 2010 2nd International Conference on Evolving Internet, p.61-67, September 20-25, 2010 [doi>10.1109/INTERNET.2010.20]
[17] W.-C. Feng, “Making a case for efficient supercomputing,” Queue, vol. 1, no. 7, p. 54,
2003.
[18] T. Hirt, “Kvm-the kernel-based virtual machine,” Red Hat Inc, 2010.
[19] M. Zabaljauregui, Hardware Assisted Virtualization. Intel Virtualization Technology.
Buesnos Aires, June, 2008.
[20] “AMD Virtualization.” [Online]. Available: http://www.amd.com/en-us/solutions/professional/virtualization. [Accessed: 26-Jun-2016].
[21]“QEMU.” [Online]. Available: http://wiki.qemu.org/Main_Page. [Accessed: 26-Jun-2016].
[22] “Wine.” [Online]. Available: https://www.winehq.org/ [Accessed: 26-Jun-2016].
[23] D. Milojicic, F. Douglis, Y. Paindaveine, R. Wheeler, and S. Zhou. Process migration. ACM Computing Surveys, 32(3):241299, 2000.
[24] Michael R. Hines , Umesh Deshpande , Kartik Gopalan, Post-copy live migration of virtual machines, ACM SIGOPS Operating Systems Review, v.43 n.3, July 2009
[25] Wenjin Hu, Andrew Hicks, Long Zhang, Eli M. Dow, Vinay Soni, Hao Jiang, Ronny Bull, Jeanna N. Matthews, A Quantitative Study of Virtual Machine Live Migration, CAC’13, August 5-9, 2013, Miami, Florida, USA.
[26] B. Hu, Z. Lei, Y. Lei, D. Xu and J. Li, A Time-Series Based Precopy Approach for Live Migration of Virtual Machines, 2011 IEEE 17th International Conference on Parrallel and Distributed Systems, 947-952 (2011).
[27] Z. B. Liu, W. Y. Qu, T. Yan, and H. T. Li, "Hierarchical Copy Algorithm for Xen Live Migration, " Proc. The 2010 International Conference on Cyber-Enabled Distributed Computing and Knowledge Discovery, 2010, pp. 361-364.
[28] Song, J., Liu, W., Yin, F., and Gao, C. 2014. Tsmc: A novel approach for live virtual machine migration. Journal of Applied Mathematics.
[29] Khaled Z. Ibrahim , Steven Hofmeyr , Costin Iancu , Eric Roman, Optimized pre-copy live migration for memory intensive applications, Proceedings of 2011 International Conference for High Performance Computing, Networking, Storage and Analysis, November 12-18, 2011, Seattle, Washington
[30] Haikun Liu , Hai Jin , Xiaofei Liao , Liting Hu , Chen Yu, Live migration of virtual machine based on full system trace and replay, Proceedings of the 18th ACM international symposium on High performance distributed computing, June 11-13, 2009, Garching, Germany
[31] P. Svard, J. Tordsson, B. Hudzia and E. Elmroth, High performance live migration through dynamic page transfer reordering and compression, In Proc. of 2011 3rd IEEE International Conference on Cloud Computing Technology and Science, 542-548 (2011).
[32] “Jmeter.” [Online]. Available: http://jmeter.apache.org/. [Accessed: 26-Jun-2016].
[33] “Stream Server.” [Online]. Available: https://hub.docker.com/r/r0gger/mistserver/. [Accessed: 26-Jun-2016].
[34] “Ubuntu stress.” [Online]. Available: http://manpages.ubuntu.com/manpages/trusty/man1/stress.1.html [Accessed: 26-Jun-2016].
[35] “Web Server.” [Online]. Available: https://hub.docker.com/r/tutum/lamp/. [Accessed: 26-Jun-2016].
[36] Daniel J. Scales, Mike Nelson, Ganesh Venkitachalam, “The design of a practical system for fault-tolerant virtual machines,” ACM SIGOPS Operating Systems Review (Volume: 44 Issue 4), 30-39, December 2010.
[37] Y. Tamura, K. Sato, S. Kihara, and S. Moriai, “Kemari: Virtual machine synchronization for fault tolerance,” in Proc. USENIX Annu. Tech. Conf.(Poster Session), 2008.
[38] “Features/MicroCheckpointing - QEMU.” [Online]. Available:
http://wiki.qemu.org/Features/MicroCheckpointing. [Accessed: 26-Jun-2016].