![]() |
|
以作者查詢圖書館館藏 、以作者查詢臺灣博碩士 、以作者查詢全國書目 、勘誤回報 、線上人數:28 、訪客IP:18.216.172.231
姓名 姚佑姿(Yu-Tzu Yao) 查詢紙本館藏 畢業系所 資訊工程學系 論文名稱 利用 Linux Kernel Zero-Copy 機制縮短 NCU MFTVM 檢查點傳送時間之研究
(Reducing Checkpoint Transmission Time of NCU MFTVM based on Linux kernel Copy Avoidance for Socket Send Calls)相關論文 檔案 [Endnote RIS 格式]
[Bibtex 格式]
[相關文章]
[文章引用]
[完整記錄]
[館藏目錄]
至系統瀏覽論文 (2025-9-1以後開放)
摘要(中) 為了讓雲端平台中的虛擬機能夠持續不中斷的提供服務,雲端平台供應商需要具備高可用性(High Availability) 的平台,使提供服務之虛擬機在發生不預期的錯誤時能繼續提供原先的服務。而若要使雲端平台上的服務再發生故障後迅速恢復,雲端平台就需要導入容錯系統(Fault-tolerance System),使主要虛擬機(Primary VM) 上停止服務時,可以被備援虛擬機接手。傳統的容錯架構多半使用檢查點(Continuous Checkpointing) 的技術,此方法雖實作較為容易,然而基於此技術所建立的容錯系統因為需等待檢查點傳送完成,因而造成網路緩衝時間(Network buffer time) 過長,進而導致虛擬機上的服務回應時間過長。本研究主要基於國立中央大學平行與分散計算實驗室所開發的NCU MFTVM 容錯系統,進行網路傳送的加速,NCU MFTVM 是一個基於Continuous Checkpointing 技術的容錯系統,因此並利用Linux kernel 所提供之zero-copy 機制,加速封包傳遞時間,縮短建立檢查點所需之時間。 摘要(英) In order for the virtual machines in the cloud platform to continue to provide services without interruption, cloud platform providers need a platform with High Availability, so that the virtual machines that provide services can continue to operate when unexpected errors occur. In order to quickly restore services on the cloud platform after a failure occurs, the cloud platform needs to introduce a fault-tolerance system so that when the service on the primary VM stops, the backup virtual machine can take over. Most of the traditional fault-tolerant architectures use Continuous Checkpointing technology. Although this method is relatively easy to implement, the fault-tolerant system based on this technology needs to wait for the completion
of the checkpoint transmission, resulting in too long network buffer time. This in turn causes the service response time on the virtual machine to be too long. This research is mainly based on the NCU MFTVM fault-tolerant system developed by the Parallel and Distributed Computing
Laboratory of National Central University for subsequent development. NCU MFTVM is a fault-tolerant system based on the Continuous Checkpointing method. zero-copy mechanism,
evaluate whether it can speed up the packet delivery time, reduce checkpoint epoch time, thereby reducing the response time of the services provided by the virtual machine.關鍵字(中) ★ QEMU-KVM
★ 虛擬機器
★ 容錯系統
★ 持續同步
★ 傳送時間關鍵字(英) ★ QEMU-KVM
★ Virtual Machine
★ Fault Tolerance
★ Continuous Checkpointing
★ Sending Time論文目次 Abstract . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ii
圖目錄. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . iv
表目錄. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . v
一、緒論. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.1 研究背景. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 研究動機. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.3 研究貢獻. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.4 論文架構. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
二、背景知識. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2.1 Live Migration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2.2 Fault-Tolerance(FT) System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.2.1 Active-Active based FT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.2.2 Active-Passive based FT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.3 Remus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.4 Kemari . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.5 NCU MFTVM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.5.1 檢查點流程. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.6 QEMU 網路後端模擬方式. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.7 封包處理加速. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.7.1 硬體. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.7.2 軟體. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.8 Linux Kernel Zero-Copy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.8.1 sendfile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.8.2 splice、vmsplice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.8.3 virtio zerocopy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.8.4 sendmsg with MSG_ZERO_COPY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
三、利用Linux Kernel Zero-Copy 降低傳輸時間. . . . . . . . . . . . . . . . . . . . . . . . . . 12
3.1 問題定義. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
3.2 檢查點週期分析. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
3.3 MFTVM 封包資料流. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
3.4 Sendmsg 的特性. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
3.5 系統設計. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
四、效能評估. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
4.1 實驗環境與配置. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
4.2 Average Send Updated States Time . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
4.3 虛擬機閒置時間比率(VM Idle Rate) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
4.4 MariaDB Response Time . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
五、結論與未來展望. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
5.1 結論. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
5.2 未來展望. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
參考文獻. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27參考文獻 [1] Brendan Cully, Geoffrey Lefebvre, Dutch Meyer, Mike Feeley, Norm Hutchinson, and
Andrew Warfield. Remus: High availability via asynchronous virtual machine replication.
In Proceedings of the 5th USENIX symposium on networked systems design and
implementation, pages 161–174. San Francisco, 2008.
[2] Cheng Wang, Xusheng Chen, Zixu Wang, Youwei Zhu, and Heming Cui. A fast, general
storage replication protocol for active-active virtual machine fault tolerance. In 2017 IEEE
23rd International Conference on Parallel and Distributed Systems (ICPADS), pages 151–
160. IEEE, 2017.
[3] Fei Zhang, Guangming Liu, Xiaoming Fu, and Ramin Yahyapour. A survey on virtual machine
migration: Challenges, techniques, and open issues. IEEE Communications Surveys
& Tutorials, 20(2):1206–1243, 2018.
[4] Michael R Hines, Umesh Deshpande, and Kartik Gopalan. Post-copy live migration of
virtual machines. ACM SIGOPS operating systems review, 43(3):14–26, 2009.
[5] Aidan Shribman and Benoit Hudzia. Pre-copy and post-copy vm live migration for memory
intensive applications. In Euro-Par 2012: Parallel Processing Workshops: BDMC,
CGWS, HeteroPar, HiBB, OMHI, Paraphrase, PROPER, Resilience, UCHPC, VHPC,
Rhodes Islands, Greece, August 27-31, 2012. Revised Selected Papers 18, pages 539–547.
Springer, 2013.
[6] Inc VMware. Vmware vsphere 6 fault tolerance.
https://www.vmware.com/files/pdf/techpaper/VMware-vSphere6-FT-archperf.
pdf, 2016.
[7] Inc. VMware. How fault tolerance works.
https://docs.vmware.com/en/VMware-vSphere/6.5/
com.vmware.vsphere.avail.doc/GUID-623812E6-D253-4FBC-B3E1-
6FBFDF82ED21.html, May 2019.
[8] Marcelo Pereira Da Silva, Rafael Rodrigues Obelheiro, and Guilherme Piegas Koslovski.
Adaptive remus: adaptive checkpointing for xen-based virtual machine replication. International
Journal of Parallel, Emergent and Distributed Systems, 32(4):348–367, 2017.
[9] Yoshiaki Tamura, Koji Sato, Seiji Kihara, and Satoshi Moriai. Kemari: Virtual machine
synchronization for fault tolerance. In Proc. USENIX Annu. Tech. Conf.(Poster Session),
pages 1–2. Citeseer, 2008.
[10] Wei-Lun Dai. Ncu mftvm 4: Fault tolerant vm with event-driven architecture and virtual
hard disk write replication. Master’s thesis, National Central University, 2022.
[11] Jiann-Wen Wang. An adaptive continuous checkpointingfault-tolerant virtual machine system
based on qemu-kvm with libvirt. Master’s thesis, National Central University, 2020.
[12] Wikibooks. Qemu/networking.
https://en.wikibooks.org/wiki/QEMU/Networking, October 2021.
[13] Danilo Cerović, Valentin Del Piccolo, Ahmed Amamou, Kamel Haddadou, and Guy Pujolle.
Fast packet processing: A survey. IEEE Communications Surveys & Tutorials,
20(4):3645–3676, 2018.
[14] Andy Currid. Tcp offload to the rescue: Getting a toehold on tcp offload engines—and
why we need them. Queue, 2(3):58–65, 2004.
[15] INTEL CORPORATION. Intel 82576 gigabit ethernet controller datasheet. 2011.
[16] Jim Pinkerton. Sockets direct protocol v1. 0 rdma consortium. dated Oct, 24, 2003.
[17] Mayank Daga, Ashwin M Aji, and Wu-chun Feng. On the efficacy of a fused cpu+ gpu
processor (or apu) for parallel computing. In 2011 Symposium on Application Accelerators
in High-Performance Computing, pages 141–149. IEEE, 2011.
[18] Sangjin Han, Keon Jang, KyoungSoo Park, and Sue Moon. Packetshader: a gpuaccelerated
software router. ACM SIGCOMM Computer Communication Review,
40(4):195–206, 2010.
[19] Toke Høiland-Jørgensen, Jesper Dangaard Brouer, Daniel Borkmann, John Fastabend,
Tom Herbert, David Ahern, and David Miller. The express data path: Fast programmable
packet processing in the operating system kernel. In Proceedings of the 14th international
conference on emerging networking experiments and technologies, pages 54–66, 2018.
[20] Marcos AM Vieira, Matheus S Castanho, Racyus DG Pacífico, Elerson RS Santos, Eduardo
PM Câmara Júnior, and Luiz FM Vieira. Fast packet processing with ebpf and xdp:
Concepts, code, challenges, and applications. ACM Computing Surveys (CSUR), 53(1):1–
36, 2020.
[21] Willem de Bruijn and Eric Dumazet. sendmsg copy avoidance with msg_zerocopy. In The
Technical Conference on Linux Networking (Netdev 2.1), 2017.
[22] Linux. send(2) —linux manual page.
https://man7.org/linux/man-pages/man2/send.2.html, 2021.
[23] Jonathan Corbet. Zero-copy tcp receive.
https://lwn.net/Articles/752188/, Apr 2018.
[24] github. hgxl64/sysbench-mariadb.
https://github.com/hgxl64/sysbench-mariadb, Sep 2017.指導教授 王尉任(Wei-Jen Wang) 審核日期 2023-7-27 推文 plurk
funp
live
udn
HD
myshare
netvibes
friend
youpush
delicious
baidu
網路書籤 Google bookmarks
del.icio.us
hemidemi
myshare