Title page for 975202096


[Back to Results | New Search]

Student Number 975202096
Author Cing-Cyuan You(游清權)
Author's Email Address yo5201314@gmail.com
Statistics This thesis had been viewed 1605 times. Download 1345 times.
Department Computer Science and Information Engineering
Year 2009
Semester 2
Degree Master
Type of Document Master's Thesis
Language zh-TW.Big5 Chinese
Title Performance study of I/O device virtualization – reducing packets movement
Date of Defense 2010-07-21
Page Count 46
Keyword
  • i/o virtual device
  • KVM
  • virtual machines
  • virtualization technology
  • Abstract 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.
    Table of Content 目錄
    摘要i
    Abstractii
    誌謝iii
    目錄iv
    圖目錄vi
    第一章 緒論1
    1.1 研究背景1
    1.2 研究動機1
    1.3 論文架構3
    第二章 相關研究4
    2.1 虛擬機器4
    2.1.1 QEMU7
    2.1.2 KVM7
    2.1.3 XEN7
    2.1.4 VMware8
    2.2 Intel VT-x10
    2.3 I/O Virtualization13
    2.4 現有網卡虛擬化15
    2.5 Intel VT-d16
    2.6 KVM乙太網路網路架構17
    2.7 NetFPGA18
    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 Bridge24
    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 RECORD22
    圖 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
    Reference 參考文獻
    [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
    Advisor
  • Li-Ming Tseng(曾黎明)
  • Files
  • 975202096.pdf
  • approve immediately
    Date of Submission 2010-08-23

    [Back to Results | New Search]


    Browse | Search All Available ETDs

    If you have dissertation-related questions, please contact with the NCU library extension service section.
    Our service phone is (03)422-7151 Ext. 57407,E-mail is also welcomed.