博碩士論文 975202096 詳細資訊


姓名 游清權(Cing-Cyuan You)  查詢紙本館藏   畢業系所 資訊工程學系
論文名稱 I/O裝置虛擬化之效率研究-減少封包搬移
(Performance study of I/O device virtualization – reducing packets movement)
檔案 [Endnote RIS 格式]    [Bibtex 格式]    [檢視]  [下載]
  1. 本電子論文使用權限為同意立即開放。
  2. 已達開放權限電子全文僅授權使用者為學術研究之目的,進行個人非營利性質之檢索、閱讀、列印。
  3. 請遵守中華民國著作權法之相關規定,切勿任意重製、散佈、改作、轉貼、播送,以免觸法。

摘要(中) 摘要
近年來隨著雲端計算的起步,虛擬機獨立、隔離、可搬移的種種特性有利於雲端計算的發展,但是由於虛擬機器的I/O overhead高,尤其網路效能上備受批評,是否能把一台虛擬機運算出來的結果即時的送達到其他虛擬機使其繼續運算,此為一大議題,若能克服此問題將可提升雲端計算中各節點之間結果交換效率。
實體機(physical machine )之上可以佈署許多部虛擬機器(virtual machine),彼此獨立運作,互相不影響干擾。虛擬環境(以QEMU-KVM為例)封包從實體網卡接收後,將封包遞送到虛擬橋接器(virtual bridge),再根據封包實體位址(Mac address)將封包遞送到對應的虛擬乙太網卡(TAP),再由QEMU定時輪詢TAP並將封包寫進QEMU虛擬網卡I/O port,封包於虛擬乙太網路密集收送的環境下,不必要的封包搬移對整體效能而言是很大的負擔。
本論文分析封包從實體網卡送至虛擬機器之虛擬網卡主要過程,找出可能的瓶頸,測量多台虛擬器同時運作時頻寬與延遲,並提出減少封包搬移次數可能的方案。
摘要(英) Abstract
Recent years, cloud computing technology is very popular. Some features of virtual machine, that like independence 、isolation、scalable and migration are helpful for computing environment deployment.
Every node in the system may need other VMs’’ computing result. It is an important issue about data exchange efficiently between VMs. Improving network performances will make whole system become more efficiency. Virtual machine I/O overhead is a significant bottleneck, especially networking overhead.
We can deploy many virtual machines on a physical machine, each VM execute independently and not interfere each other. In virtual environment (Ex. QEMU-KVM) packets from physical network interface (NIC) will go through virtual bridge. According to destination Mac address, pass the packet to correspondence virtual Ethernet device (TAP).QEMU I/O handler will read packets form its own TAP, then TAP will copy packet data form kernel space to user space.
QEMU maintain a page table, base on this, I/O handler write packet data to VMs’’ VNIC I/O port. It will become lots of work load in network intensive situation.
We analyze packet walkthrough form physical NIC to virtual NIC in virtual machine and found possible bottleneck. We measure network performance and latency in virtual machine. Propose a possible solution to eliminate overhead.
關鍵字(中) ★ KVM
★ 虛擬技術
★ 虛擬機器
★ I/O虛擬裝置
關鍵字(英) ★ virtual machines
★ virtualization technology
★ i/o virtual device
★ KVM
論文目次 目錄
摘要 i
Abstract ii
誌謝 iii
目錄 iv
圖目錄 vi
第一章 緒論 1
1.1 研究背景 1
1.2 研究動機 1
1.3 論文架構 3
第二章 相關研究 4
2.1 虛擬機器 4
2.1.1 QEMU 7
2.1.2 KVM 7
2.1.3 XEN 7
2.1.4 VMware 8
2.2 Intel VT-x 10
2.3 I/O Virtualization 13
2.4 現有網卡虛擬化 15
2.5 Intel VT-d 16
2.6 KVM乙太網路網路架構 17
2.7 NetFPGA 18
2.8網路虛擬化之比較 19
第三章 系統設計和架構 20
3.1 目標 20
3.2 系統設計卅分析 20
3.2.1 QEMU-KVM程式碼分析 20
3.2.2 NetFPGA網卡驅動程式分析 22
3.2.3 Virtual Bridge 24
3.2.4 TUN/TAP運作機制 25
3.2.5 QEMU I/O handler分析 26
3.2.6 效能分析 28
3.3 系統架構 29
3.4 系統實驗 31
第四章 效能評估 32
4.1 實驗環境 32
4.2 實驗數據 34
4.3 討論 40
第五章 結論及未來方向 41
參考文獻 43
附錄:研究論文計畫口試建議改進事項 46
圖目錄
圖 1 VMM之示意圖 (摘自[7]) 4
圖 2不同種類之VMM提供不同介面之示意圖 (摘自[8]) 5
圖 3三種VMM架構之示意圖 (摘自[9]) 5
圖 4 XEN架構 (摘自[13]) 8
圖 5 VMWARE ESX 架構 (摘自[14]) 9
圖 6 VMWARE WORKSTATION架構 (摘自[15]) 9
圖 7處理器權限層級示意圖 (摘自[18]) 11
圖 8特殊暫存器之存取([29]) 12
圖 9 VMWARE ESX (摘自[26]) 12
圖 10 IOVM架構 (摘自[9]) 14
圖 11 XEN I/O架構圖 (摘自[21]) 14
圖 12 INTEL VT-D 位址轉換(摘自[9]) 16
圖 13 KVM乙太網路架構圖 (摘自[22]) 17
圖 14 NETFPGA架構(摘自[23]) 18
圖 15 NETFPGA實際照片 18
圖 16 QEMU與KVM整合運作簡圖 20
圖 17 KVM之執行緒示意圖 (摘自[24]) 21
圖 18 I/O HANDLER RECORD 22
圖 19 NETFPGA驅動程式運作簡圖 23
圖 20驅動程式重要程序 24
圖21 VIRTUAL BRIDGE主要函式 24
圖22 TUN/TAP運作機制 (參考 [28]) 25
圖23 I/O HANDLER運作機制示意圖 26
圖 24 封包遞送路徑圖 (摘自[25]) 28
圖 25 效能負擔 28
圖 26 設計概念示意圖 30
圖 27 虛擬機器(A)接收(B)發送效能量測環境 33
圖 28各種網卡HOST-TO-HOST封包收送效能 34
圖 29 PACKET DELAY TIMER運作狀態轉移圖 (摘自[27]) 35
圖 30 PACKET DELAY TIMER與ABSOLUTE TIMER共同運作 (摘自[27]) 36
圖 31各種網卡HOST-TO-VM封包接收總效能 37
圖 32各種網卡HOST-TO-VM封包接收平均效能 37
圖 33各種網卡HOST-TO-VM封包發送總效能 38
圖 34各種網卡HOST-TO-VM封包平均發送效能 38
圖 35 HOST TO HOST延遲時間 39
圖 36虛擬機之平均延遲時間 39
圖 37封包路徑圖 41
參考文獻 參考文獻
[1] R.P. Goldberg, "Survey of Virtual Machine Research," Computer, June 1974, pp. 34-45.
[2] J. Lakshmi,S. K. Nandy , "I/O Device Virtualization in the multi-core era a QoS perspective",2009 Workshops at the Grid and Pervasive Computing Conference GPC 2009,Pages: 128-135,May 2009
[3] Fumio Nakanjima,Hitoshi Oi , "Optimizations of Large Receive Offload in Xen",2009 Eighth IEEE International Symposium on Network Computing and Applications,page:314 - 318 ,July 2009
[4] Fabienne Anhalt, Pascale Vicat-Blanc Primet ,"Analysis and experimental evaluation of data plane virtualization with Xen",2009 Fifth International Conference on Networking and Services, Pages: 198-203,April 2009
[5] Zhuo Li, Limin Xiao, Li Ruan, "A Novel Hardware-assisted Virtualization Approach for Network Interface Card", Computer Science, 2009. ICRCCS '09. International Conference,Pages:225 - 228 , Dec. 2009
[6] Jiang Zhao-long,Zhu Ming-fa, Xiao Li-min ,"An Approach to Implementing the NIC Virtualization by the Hybrids of Single System Image and Hardware-assisted Virtualization Technologies", Computing, Communication, Control, and Management, 2009. CCCM 2009. ISECS International Colloquium Volume: 4 ,Pages: 577 - 582 ,Aug. 2009
[7] Gerald J. Popek, Robert P. Goldberg ,“Formal Requirements for Virtualizable Third Generation Architectures“, Communications of the ACM Volume 17, Pages: 412 - 421 ,July 1974
[8] Uhlig, R.; Neiger, G.; Rodgers, D.; Santoni, A.L.; Martins, F.C.M.; Anderson, A.V.; Bennett, S.M.; Kagi, A.; Leung, F.H.; Smith, L “Intel virtualization technology,” IEEE Computer, Volume 38, Issue 5, May 2005 Page(s):48 – 56
[9] D. Abramson, J. Jackson, S. Muthrasanallur, G. Neiger, G. Regnier, R. Sankaran, I. Schoinas, R. Uhlig, B. Vembu, and J. Wiegert. Intel Virtualization Technology for Directed I/O. Intel Technology Journal, 10(3), Aug. 2006.
[10] Qemu ,Open source processors emulator, http://wiki.qemu.org/Index.html
[11] KVM, http://www.linux-kvm.org
[12] Xen, http://www.xen.org
[13] Xen Virtualization Architecture, http://www.novell.com/documentation/vmserver/virtualization_basics/?page=/documentation/vmserver/virtualization_basics/data/ba0khrq.html
[14] Vmware ESX Server, http://www.oriensoft.com/Services/Dedicated_Hosting/Virtualization_Software/Vmware_ESX_Server.aspx
[15] http://www.pds-site.com/vmware/ws/default.htm
[16] VMware,https://www.vmware.com.
[17] Windows Virtual PC,http://www.microsoft.com/windows/virtual-pc.
[18] Rich Uhlig,Gil Neiger,Dion Rodgers,Amy L.,Santoni,Fernando,C.M. Martins,Andrew V.,Anderson,Steven M.,Bennett,Alain Kägi,Felix H.,Leung,Larry Smith “Intel VirtualizationTechnology”
[19] Himanshu Raj, Karsten Schwan “High Performance and Scalable IO Virtualization via Self-Virtualized Devices”, High Performance Distributed Computing, Proceedings of the 16th international symposium on High performance distributed computing, SESSION: Scalability, Pages: 179 - 188, June 2007
[20] Darren Abramson, Jeff Jackson, Sridhar Muthrasanallur, Gil Neiger, Rjesh Sankaran, Ioannis Schoinas, Rich Uhlig, Balaji Vembu, John Wiegert,Intel “Virtualization Technology for Directed I/O”
[21] Danhua Guo, Guangdeng Liao and Laxmi N. Bhuyan, “Performance Characterization and Cache-Aware Core Scheduling in a Virtualized Multi-Core Server under 10GbE”, Workload Characterization, 2009. IISWC 2009, Page: 168 – 177, Oct. 2009.
[22] Qiang Li, Qinfen Hao, Limin Xiao, Zhoujun Li,”VM-based Architecture for Network Monitoring and Analysis”, Young Computer Scientists, 2008. ICYCS 2008. The 9th International Conference, Page: 1395 - 1400, Nov. 2008.
[23] NetFPGA, http://netfpga.org/
[24] Wei Jiang, Yisu Zhou, Yan Cui, Wei Feng, Yu Chen, Yuanchun Shi, Qingbo Wu,”CFS Optimizations to KVM Threads on Multi-Core Environment”, Proceedings of the 2009 15th International Conference on Parallel and Distributed Systems, Pages: 348-354, December 2009.
[25] Shan Zeng, Qinfen Hao, “Network I/O Path Analysis in the Kernel-based Virtual Machine Environment through Tracing”, Information Science and Engineering (ICISE), 2009 1st International Conference, Page: 2658 - 2661, Dec. 2009.
[26] VMware ESX server, http://www.abraxax.com/html/vmware_esx_server.html.
[27] Intel® I/O Controller Hub 8/9/10 and 82566/82567/82562V Software Developer’s Manual, http://www.intel.com/products/ethernet/resource.htm
[28] TUN/TAP, http://www.ibm.com/developerworks/cn/linux/l-tuntap/index.html
[29] 系統虛擬化-原理與實現 作者:Intel Coporation 2008、英特爾開源軟件技術中心、復旦大學並行處理研究所,民97,清華大學出版社 北京,ISBN 978-7-302-19372-2 page 45
指導教授 曾黎明(Li-Ming Tseng) 審核日期 2010-8-23
推文 facebook   plurk   twitter   funp   google   live   udn   HD   myshare   reddit   netvibes   friend   youpush   delicious   baidu   

若有論文相關問題,請聯絡國立中央大學圖書館推廣服務組 TEL:(03)422-7151轉57407,或E-mail聯絡