跳到主要內容

簡易檢索 / 詳目顯示

研究生: 徐瑋傑
Wei-Jie Hsu
論文名稱: 運用管線化方法與 QEMU/KVM 記憶體層級容錯系統實作
Use pipeline methods and Fault-Tolerant QEMU/KVM System implementation
指導教授: 王尉任
Wei-Jen Wang
口試委員:
學位類別: 碩士
Master
系所名稱: 資訊電機學院 - 資訊工程學系
Department of Computer Science & Information Engineering
論文出版年: 2021
畢業學年度: 109
語文別: 中文
論文頁數: 44
中文關鍵詞: QEMU-KVM虛擬機器容錯系統持續同步
外文關鍵詞: QEMU-KVM, Virtual Machine, Fault-Tolerance, Continuous Checkpointing
相關次數: 點閱:14下載:0
分享至:
查詢本校圖書館目錄 查詢臺灣博碩士論文知識加值系統 勘誤回報
  • 得利於雲端計算相關研究與虛擬化技術兩者的快速發展,資訊產業可以使用相關技術將複數個伺服器整合到同一實體機器上,同時可以有更彈性的資源分配以及更高的利用效率。然而,實體機器因為硬體或者人為因素導致故障造成在其上運行的服務失效問題也隨之而來;基於虛擬化技術的容錯系統可以在實體機器因為某些因素發生故障時,保護其關鍵服務之虛擬機狀態,提升系統的可用(靠)性。
    本研究基於QEMU 3.0.0與持續同步架構做出可透過外部管理介面控制的容錯系統;持續同步架構透過不斷將主要虛擬機器上的虛擬機狀態,同步到備援虛擬機狀態上,並基於容錯系統基本要求,保持兩者對外輸出的一致性。同時本研究引入管線化來改善因同步造成的成本,並且提升虛擬機效能、在兩次同步之間投機式的傳送虛擬機狀態,使得在同步時的時間成本減少,減少反應時間。


    Benefiting from the rapid development of both cloud computing-related research and virtualization technology, the IT industry can use related technologies to integrate multiple servers on the same physical machine, and at the same time. It can have more flexible resource allocation and higher utilization efficiency. However, because of hardware or human factors causes the services which running on the physical machine failure or cannot provide services. A fault-tolerant system based on virtualization technology can protect its important services when the physical machine fails due to some factors, and improve the availability or reliability of the system.
    This research is based on QEMU 3.0.0 and the continuous checkpointing architecture to implement a fault-tolerant system that can be controlled through an external management interface. The continuous checkpointing architecture continuously synchronizes the state of the virtual machine on the main virtual machine to the state of the backup virtual machine, and is based on fault tolerance the basic requirements of the system are to maintain the consistency of the external output of the two. At the same time, this research introduces pipeline method to improve the cost caused by synchronization, and improve the performance of the virtual machine, and speculatively transfer the virtual machine state between two checkpointing, so that the time cost during synchronization is reduced and the response time is reduced.

    摘要------------------------------------i ABSTRACT-------------------------------ii 目錄----------------------------------iii 圖目錄----------------------------------v 表目錄---------------------------------vi 第一章 緒論-----------------------------1 1-1研究背景-----------------------------1 1-2研究動機與貢獻-----------------------2 1-3論文架構-----------------------------3 第二章 背景知識-------------------------4 2-1容錯系統類型-------------------------4 2-1-1 Lock-Stepping---------------------4 2-1-2 Continuous Checkpointing----------4 2-1-3 Hybrid----------------------------4 2-2 QEMU和Kernel-Based Virtual Machine--5 2-3 虛擬機背景知識----------------------5 2-3-1 Remus-----------------------------5 2-3-2 VMware vSphere FT-----------------6 2-3-3 Kemari----------------------------6 2-3-4 Fast Memory State Synchronization-6 2-4-1 NCU-MFTVM v2.0架構及流程----------7 2-4-1NCU-MFTVM v2.0其發展重要性---------8 第三章 系統架構------------------------10 3-1主要結構----------------------------10 3-2 運作流程---------------------------11 3-2-1 NCU-MFTVM v2.0流程---------------11 3-2-2管線化流程------------------------12 3-2-3事件驅動流程----------------------14 3-2-4投機式檢查點流程------------------15 3-3正確性------------------------------16 3-4 相關證明---------------------------18 3-4-1 反應時間與checkpoint時間關係-----18 3-4-2 管線化方法與checkpoint時間-------19 第四章 實驗結果------------------------22 4-1實驗環境與配置----------------------22 4-2 應用程式的實驗結果-----------------25 4-2-1 TPC-C Database Benchmark---------25 4-2-2 Linux Kernel Compilation---------27 4-2-3 ping for Network Latency---------28 4-2-4 Iperf fot Network bandwidth------30 4-3 Event driven 架構討論--------------31 第五章 結論及未來研究方向--------------34 參考文獻-------------------------------35

    [1] A. Foxet al., "Above the clouds: A berkeley view of cloud computing," Dept. Electrical Eng. and Comput. Sciences, University of California, Berkeley, Rep. UCB/EECS, vol. 28, no. 13, p. 2009, 2009.
    [2] A. D. JoSEP, R. KAtz, A. KonWinSKi, L. Gunho, D. PAttERSon, and A. RABKin, "A view of cloud computing," Communications of the ACM, vol. 53, no. 4, 2010.
    [3]S. N. T.-c. Chiueh and S. Brook, "A survey on virtualization technologies," Rpe Report,
    vol. 142, 2005.
    [4] Sefraoui, Omar & Aissaoui, Mohammed & Eleuldj, Mohsine. "OpenStack: Toward an Open-Source Solution for Cloud Computing". International Journal of Computer Applications. 55. 38-42. 10.5120/8738-2991., 2012.
    [5] VMware, Inc: "vSphere 7" https://www.vmware.com/products/vsphere.html ,2020 (accessed July 4, 2020)
    [6]F. Bellard, "QEMU, a fast and portable dynamic translator," in USENIX Annual Technical Conference, FREENIX Track, 2005, vol. 41, p. 46.
    [7] A. Kivity, Y. Kamay, D. Laor, U. Lublin, and A. Liguori, "KVM: the Linux Virtual Machine Monitor," in In Proceedings of the 2007 Ottawa Linux Symposium, 2007
    [8] "libvirt: The virtualization API", https://libvirt.org/ (accessed July 4, 2020)
    [9] R. P. Goldberg, "Survey of virtual machine research," Computer, vol. 7, no. 6, pp. 34-45,
    1974.
    [10]S. N. T.-c. Chiueh and S. Brook, "A survey on virtualization technologies," Rpe Report,
    vol. 142, 2005.
    [11]J. Gray and D. P. Siewiorek, "High-availability computer systems," Computer, vol. 24,
    no. 9, pp. 39-48, 1991.
    [12]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.
    [13] T. C. Bressoud and F. B. Schneider, "Hypervisor-based fault tolerance," ACM
    Transactions on Computer Systems (TOCS), vol. 14, no. 1, pp. 80-107, 1996.
    [14] P.-J. Tsao, Y.-F. Sun, L.-H. Chen, and C.-Y. Cho, "Efficient virtualization-based fault
    tolerance," in 2016 International Computer Symposium (ICS), 2016: IEEE, pp. 114-119.
    [15] "Micro-Checkpointing." http://wiki.qemu.org/Features/MicroCheckpointing (accessed
    June 24, 2019).

    [16] Rusty Russell. 2008. Virtio: towards a de-facto standard for virtual I/O devices. SIGOPS Oper. Syst. Rev. 42, 5 (July 2008), 95–103.
    [17] Red Hat,Inc., "Introduction to virtio-networking and vhost-net", https://www.redhat.com/en/blog/introduction-virtio-networking-and-vhost-net, September 9, 2019 (accessed July 4, 2020)
    [18] Y. Dong et al., "COLO: COarse-grained LOck-stepping virtual machines for non-stop service," in Proceedings of the 4th annual Symposium on Cloud Computing, 2013:
    ACM, p. 3.
    [19] "COLO-FT documentation on QEMU git repository", https://github.com/qemu/qemu/blob/90dfe59b33c9c20b81641d46a4dddbe89c5fba7a/docs/COLO-FT.txt (accessed July 4, 2020)
    [20] Tom Mens, Member, IEEE, and Tom Tourwe, "A Survey of Software Refactoring",IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, VOL. 30, NO. 2, FEBRUARY 2004
    [21] Percona-Lab, "tpcc-mysql", https://github.com/Percona-Lab/tpcc-mysql (accessed July 4, 2020)
    [22] 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: San
    Francisco, pp. 161-174.
    [23] VMware, Inc. "VMware vSphere 6 Fault Tolerance: Architecture and Performance Technical White Paper", https://www.vmware.com/files/pdf/techpaper/VMware-vSphere6-FT-arch-perf.pdf (accessed July 4, 2020)
    [24] 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: Citeseer.
    [25] Maohua Lu; Tzi-cker Chiueh ,"Fast Memory State Synchronization for Virtualization-based Fault Tolerance", IEEE/IFIP International Conference on Dependable Systems & Networks,2009

    QR CODE
    :::