| 研究生: |
吳藺剛 Wu,Ling-Kang |
|---|---|
| 論文名稱: |
基於KVM虛擬機器指令層級之狀態同步機制 Instruction-Level State Synchronization Mechanism on KVM Virtual Machine |
| 指導教授: |
王尉任
Wei-Jen Wang |
| 口試委員: | |
| 學位類別: |
碩士 Master |
| 系所名稱: |
資訊電機學院 - 軟體工程研究所 Graduate Institute of Software Engineering |
| 論文出版年: | 2015 |
| 畢業學年度: | 103 |
| 語文別: | 中文 |
| 論文頁數: | 40 |
| 中文關鍵詞: | KVM 、虛擬機 、高可用性 、容錯系統 |
| 外文關鍵詞: | KVM, virtual machine, fault tolerance, high availability |
| 相關次數: | 點閱:23 下載:0 |
| 分享至: |
| 查詢本校圖書館目錄 查詢臺灣博碩士論文知識加值系統 勘誤回報 |
許多雲端運算平台廣泛使用虛擬機器,但是虛擬機器卻會因各種原因的錯誤而造成服務中斷。雲端服務會因系統各種錯誤中斷服務,進而造成不同程度的損失,因此需要提高可用性,讓服務不會因為系統發生問題而無法使用。容錯系統為高可用性的應用,通常有兩種方法實作,一是透過完整複製Primary VM的狀態到Backup VM來達成同步,稱之為記憶體層級容錯,另一是讓相同初始狀態下Backup VM重現Primary VM所執行的指令來達成同步,稱之為指令層級容錯。然而目前KVM上的開源容錯系統專案均為記憶體層級容錯。本論文因而鎖定在研究指令層級容錯的技術,並在KVM上實作出一個系統雛形。我們透過指令群循序執行機制,讓主虛擬機與備援虛擬機依序執行同樣數目的指令,而主虛擬機在計算過程中產生的Non-deterministic Events也被準確紀錄並在正確的時機於備援虛擬機重現,以達到同步的效果。
Virtual machines (VMs) have been widely used in many cloud computing platforms, and they may fail for many reasons. Once a VM becomes failed, the cloud services running on it fail consequently and the service providers may suffer deferent levels of property and business losses. To prevent such a failure, one can use the fault tolerance technology to protect a VM. That is, a backup VM is used and its execution state is synchronized with the VM to be protected. When the VM to be protected fails, the backup VM replaces it immediately. There are two approaches to implement a fault tolerance mechanism on VM. The concept of the first one, namely the memory-level fault tolerance, is to synchronize the memory content of the pair of VMs. The concept of the second one, namely the instruction-level synchronization, is to execute the same instructions and events with the same order on the pair of VMs. The first type has been seen in open-source projects, while the second type can only be found in VMWare. In this paper, we aim to develop a prototype of the instruction-level fault tolerance mechanism on KVM. The proposed mechanism creates a backup VM by cloning the state of the VM to be protected in the beginning. Consequently, it records non-deterministic events on the VM to be protected, turns them into deterministic events on the backup VM, and replays them in the right moment. An overhead analysis is provided in the paper, to see how the replay parameters affect the performance of the proposed fault tolerance mechanism.
[1] Michael Armbrust, Arnabdo Fox, Rean Griffith, Anthony D. Josepf, Randy H. Katz, Andrew Konwinski, Gunho Lee, David A. Patterson, Ariel Rabkin, Ion Stoica, Matei Zaharia, Above the Clouds: A Berkeley View of Cloud Computing, UC Berkeley Reliable Adaptive Distributed Systems Laboratory, 2009 February
[2] 英特爾開源軟體技術中心, 復旦大學並行處理研究所, 系統虛擬化-原理與實現, 一版, 清華大學出版社, 北京, 2009 March
[3] Popek Gerald J., Goldberg Robert P, Formal Requirements for Virtualizable Third Generation Architecures, Volume 17, p412-421, Association for Computing Machinery, Inc, 1974 July
[4] Michael Warrilow, Market Trends: x86 Server Virtualiztion, Worldwide, 2013 Gartner, 2014 January
[5] Kevin Dooley, Designing Large Scale LANs, O'Reilly Media, Inc, 2001, November
[6] Business Continuity and Disaster Recovery Workbook: How to Assess the Financial Impact of Downtime, Vision Solutions, Inc, 2008
[7] Jim Gray, Daniel P. Siewiorek, “High- Availability Computer Systems”, IEEE, Vol 24, pp. 39-48, September 1991
[8] Maohua Lu, Tzi-cker Chiueh, “Fast Memory State Synchronizatiion for Virtualization-based Fault Tolerance”, IEEE/IFIP, pp.534-543, July 2009
[9] KVM – KERNEL BASED VIRTUAL MACHINE, Red Hat, Inc, 2009
[10] 廣小明,虛擬化技術原理與實現,電子工業出版社,大陸,民國一零一年 十月
[11] WANG Xiao-rui, GUO Yu-dong, SHI Gung, LI Yong, “Study of processor modetransform mechanism based on VT-x”, Computer Engineering and Design, Vol 31(9), pp. 2065-2069, 2010
[12] Intel® 64 and IA-32 Architectures Software Developer’s Manual Volume 3B: System Programming Guide, Part 2, Intel Inc, 2011 May
[13] Danniel J. Scales, Mike Nelson, Ganesh Venkitachalam, The Design and Evaluation of a Pratical System for Fault-Toleant Virtual Machines, Technical Report VMware-TR-2010-001, VMware, Inc, 2010 May 11
[14] Casey M. Jeffery and Renato J.O. Figueiredo, “A Flexible Approach to Improving
System Reliability with Virtual Lockstep”, IEEE TRANSACTIONS ON DEPENDABLE AND SECURE COMPUTING, VOL. 9, NO. 1, 2012 JANUARY/FEBRUARY
[15] 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.
[16] Ron J Patton, “Fault-Tolerant Control Systems: The 1997 Situation”, Hull HU6 7RX, UK, pp. 1034-1054
[17] Michael R. Hines , Micro-Checkpointing, IBM
[18] VMWare vSphere basic, VMWare Inco, 2009
[19] C. Clark, K. Fraser, S. Hand, J. G. Hansen, E. Jul, C. Limpach, I. Pratt, and A. Warfield, “Live migration of virtual machines,” in Proceedings of the 2nd conference on Symposium on Networked Systems Design & Implementation-Volume 2, pp. 273–286, 2005.
[20] M. X. V. M. J. Sheldon and G. V. B. Weissman, “Retrace: Collecting execution trace with virtual machine deterministic replay,” in Proceedings of the Third Annual Workshop on Modeling, Benchmarking and Simulation (MoBS 2007), 2007.
[21] VMWare vSphere 4 Fault Tolerance: Architecture and Performance, Chapter 1-Chapter 2, VMware Inco, 2009
[22]J.Abergstra, C.A.Middelburg, Instruction Sequences For Computer Science, Atlantis Publishing Corporation, 2012
[23] Julian B. Grizzard and Ryan W. Gardner, “Analysis of Virtual Machine Record and Replay for Trustworthy Computing”, JOHNS HOPKINS APL TECHNICAL DIGEST, VOLUME 32, NUMBER 2 , pp. 528-535, 2013
[24] Kurt E. Kiefer, and Louise E. Moser, “Replay debugging of non-deterministic executions in the Kernel-based Virtual Machine”, Softw. Pract. Exper. 43:1261–1281, 2011 May