進階搜尋


下載電子全文  
系統識別號 U0026-0608201315525300
論文名稱(中文) 網路卸載引擎之虛擬化技術
論文名稱(英文) Virtualization Technology for TCP/IP Offload Engine
校院名稱 成功大學
系所名稱(中) 電腦與通信工程研究所
系所名稱(英) Institute of Computer & Communication
學年度 101
學期 2
出版年 102
研究生(中文) 張恩豪
研究生(英文) En-Hao Chang
學號 q36004175
學位類別 碩士
語文別 英文
論文頁數 80頁
口試委員 指導教授-陳中和
召集委員-朱元三
口試委員-王永鐘
口試委員-蘇文鈺
口試委員-陳培殷
中文關鍵字 網路卸載引擎  I/O虛擬化  排程器  服務品質保證 
英文關鍵字 TCP/IP Offload Engine  I/O Virtualization  Scheduler  Quality of Service(QoS) 
學科別分類
中文摘要 雲端服務必須有良好的網路環境支援,所以網路I/O虛擬化對雲端服務來說是很重要的,為了在虛擬化環境中提供健全的網路品質,本論文歸納幾個要素: (1)網路I/O虛擬化架構,(2)服務品質保證和 (3)VMM排程器。我們利用兩種不同的架構來虛擬化網路卸載引擎。第一,我們利用VMM模擬出虛擬的網路卸載引擎,並將虛擬網路卸載引擎分別指定給不同的虛擬機器。但是模擬網路引擎會消耗多餘的處理器資源,為了避免這個問題,我們利用直接存取架構來增進網路效能。直接存取架構中的網路卸載引擎提供多個控制介面來讓虛擬機器存取,每個虛擬機器可以存取自己的控制介面。經由直接存取架構,即可消去模擬硬體所消耗的處理器資源。除了增進虛擬化環境中的網路效能外,VMM還必須保證網路服務質量。我們提出了一套分配機制,利用欠額輪替演算法來分配不同虛擬機器的網路流量。傳統的VMM的排程專注在公平地分配處理器資源給各個虛擬機器,然而這種排程方法可能會造成低落的I/O效能,因此我們分析處理器排程器和I/O的關係,並且找到合適的排程器演算法來得到合理的I/O效能並且處理器資源亦合理的被分配。為了要有效地驗證網路系統,我們使虛擬平台能與實際的網路連接,透過與真實網路連線的驗證方法,讓整個開發過程更有效率。
英文摘要 Network I/O virtualization plays an important role in the cloud computing. This thesis identifies three critical factors to provide a robust network service in a virtualization environment: I/O virtualization architectures, Quality of Service (QoS), and the VMM scheduler. In order to achieve high network throughput, we virtualize TOE in different ways. First, we use device emulation in which the VMM emulates virtual TOE for each virtual machine. In order to eliminate the hypervisor overheads of device emulation, we use direct I/O access to improve network performance. The direct I/O access architecture provides the abstraction that each virtual machine is connected directly to its own control interface. Through direct I/O access, the VMM interception overhead can be eliminated and the network throughput is 5% to 20% higher than the device emulation.
In addition to improve the network performance, we propose the QoS dispatcher which employs deficit weighted round robin (DWRR) algorithm to guarantee the Quality of Service (QoS) within all virtual machines. Traditionally, the VMM scheduler focuses on fairly sharing of the processor resources; however, this scheduling policy can result in poor I/O performance. We explore the relationship between the guest scheduling policy and I/O performance to find the suitable policy which can share the CPU resource fairly while obtain the acceptable I/O performance.
論文目次 Chapter 1 Introduction 1
1.1 Motivation 1
1.2 Contribution 2
1.3 Organization of the Thesis 3
Chapter 2 Background 4
2.1 TCP/IP Offload Engine 4
2.1.1 Data Flow in TCP/IP Offload Engine 5
2.1.2 TOE Control Interface 6
2.1.3 TOE Architecture 7
2.2 Overview of I/O Virtualization 8
2.2.1 Para-virtualization 8
2.2.2 Software Emulation 10
2.2.3 Full Virtualization 11
Chapter 3 Related Work 13
3.1 Overheads of Network I/O Virtualization 13
3.2 Software-based Solutions 14
3.3 Hardware-based Solutions 15
Chapter 4 TCP/IP Offload Engine 18
4.1 System Architecture of the TOE 18
4.2 TOE Driver and Socket API 19
4.3 TOE Control Channel 20
4.4 TOE Protocol Processing Module 22
4.5 Summary of Host/TOE Operation 23
Chapter 5 CASL Hypervisor 26
5.1 Full System Simulation Platform Architecture 26
5.1.1 The Accuracy Model of Simulation 26
5.1.2 ARMv7 Instruction Set Simulator 27
5.1.3 Virtual Memory System Architecture 27
5.1.4 Device Modules 29
5.2 CASL Hypervisor Architecture 31
5.2.1 CPU Virtualization 32
5.2.2 Scheduler 32
5.2.3 Memory Virtualization 34
5.2.4 I/O Virtualization 36
5.2.5 Interrupt Virtualization 36
Chapter 6 TOE Virtualization 40
6.1 TOE for Network I/O Virtualization 40
6.2 TOE Virtualization Using Device Emulation 41
6.2.1 Virtual TOE Manager 43
6.2.2 Sending and Receiving via a Emulated TOE 49
6.2.3 Bottleneck of Device Emulation 50
6.3 Direct I/O Access 51
6.3.1 Multiple Control Channel 53
6.3.2 Interrupt Delivery 54
6.3.3 SystemMMU and Memory Protection 55
6.4 The Architecture Support for Network Virtualization 57
Chapter 7 Experiment 59
7.1 Experimental Environment 59
7.2 Experimental Configuration 62
7.3 Performance Evaluation 63
7.3.1 Latency 63
7.3.2 Single Virtual Machine Evaluation 64
7.3.3 Scalability 67
7.4 Quality of Services 69
7.4.1 I/O Domain-Oriented Applications 69
7.4.2 Mixed domains 72
Chapter 8 Conclusion 74
References 76
參考文獻 [1] N. Bierbaum, Sandia National Laboratories, Livermore, CA, “MPI and Embedded TCP/IP Gigabit Ethernet Cluster Comnputing,” in the IEEE Conference on Local Computer Network (LCN), Nov. 6-8, 2002, pp. 733 - 734.
[2] B. Zhang, et al., “A Survey on I/O Virtualization and Optimization,” in the 2010 Fifth Annual, ChinaGrid Conference (ChinaGrid), July. 16-18, 2010, pp. 117 - 123.
[3] P. Barham, et al., “Xen and the Art of Virtualization,” in the Proceedings of the Nineteenth ACM Symposium on Operating Systems Principles (SOSP), New York, USA, Dec. 2003, pp. 164-177.
[4] J. Sugerman, G. Venkitachalam, and B.-H. Lim, “Virtualizing I/O Devices on VMware Workstation’s Hosted Virtual Machine Monitor,” in the Proceedings of the General Track: 2002 USENIX Annual Technical Conference (ATC), 2001, pp. 1-14.
[5] C.-T. Liu, “CASL Hypervisor and its Virtualization Platform,” 2012 master thesis of National Cheng Kung University.
[6] I. Ahmad, et al., “An Analysis of Disk Performance in VMware ESX Server Virtual Machines,” in the IEEE International Workshop on Workload Characterization (WWC), Oct. 27, 2003, pp. 65-76.
[7] K. Fraser, et al., “Safe Hardware Access with the Xen Virtual Machine Monitor,” in the 1st Workshop on Operating System and Architectural Support for the on demand IT InfraStructure (OASIS) , 2004.
[8] A. Menon, A. L. Cox, and W. Zwaenepoel, “Optimizing Network Virtualization in Xen,” in the Proceedings of the annual conference on USENIX '06 Annual Technical Conference, 2006, pp. 2.
[9] J. Wang, K.-L. Wright, and K. Gopalan, “XenLoop: A Transparent High Performance Inter-Vm Network Loopback,” in the Proceedings of the 17th international symposium on High performance distributed computing (HDPC), New York, USA, 2008, pp. 109-118.
[10] J. S. Renato, et al., “Bridging the Gap Between Software and Hardware Techniques for I/O Virtualization,” in the Proceedings of the USENIX’08 Annual Technical Conference (ATC), 2008, pp. 29-42.
[11] H. Raj, and K. Schwan, “High Performance and Scalable I/O Virtualization via Self-Virtualized Devices,” in the Proceedings of the 16th international symposium on High performance distributed computing (HDPC), New York, USA, 2007, pp. 179-188.
[12] Ram, Kaushik Kumar, et al., “Achieving 10 Gb/s Using Safe and Transparent Network Interface Virtualization,” in the Proceedings of the 2009 ACM SIGPLAN/SIGOPS international conference on Virtual execution environments (VEE), 2009, pp. 61-70.
[13] Willmann, Paul, et al., “Concurrent Direct Network Access for Virtual Machine Monitors,” in the IEEE 13th International Symposium on High Performance Computer Architecture (HPCA), Scottsdale, AZ, Feb. 10-14, 2007, pp. 306-317.
[14] Dong, Yaozu, et al., “High Performance Network Virtualization with SR-IOV,” in the IEEE 13th International Symposium on High Performance Computer Architecture (HPCA), Bangalore, Jan. 9-14, 2010, pp. 1-10.
[15] ARM Architecture Reference Manual, 2012.
[16] AMD, “IO Virtualization Technology (IOMMU) Specification.” AMD Pub 34434 (2007).
[17] D.-J. Kang, et al., “TCP/IP Offload Engine Module Supporting Binary Compatibility for Standard Socket Interfaces,” in the Grid and Cooperative Computing (GCC), Springer Berlin Heidelberg, vol. 3795, pp. 357-369, 2005.
[18] C.‐C. Wang and C.‐H. Chen, “A System‐Level Network Virtual Platform for IPsec Processor Development,” IEICE Transactions on Information and Systems, Vol.E96-D, No.5, pp. 1095-1104, May 2013.
[19] G. Martin, B. Bailey, and A. Piziali, “ESL Design and Verification: a Prescription for Electronic System Level Methodology,” Morgan Kaufmann/Elsevier, 2007.
[20] M. Shreedhar and G. Varghese, “Efficient Fair Queueing using Deficit Round Robin,” in the ACM SIGCOMM Computer Communication Review, Vol. 25, No. 4, Oct. 1995, pp. 231-242.
[21] Wireshark, open source packet analyzer, http://www.wireshark.org/
[22] H. Jang, S.-H. Chung, and D.-H. Yoo, “Implementation of an Efficient RDMA Mechanism Tightly Coupled with a TCP/IP Offload Engine,” in the International Symposium on Industrial Embedded Systems (SIES), June. 11-13, 2008, pp. 82-88.
[23] D.-J. Kang, et al., “Design and Implementation of Kernel S/W for TCP/IP Offload Engine (TOE),” in the 7th International Conference on Advanced Communication Technology (ICACT), 2005, pp. 706-709.
[24] Z.-Z Wu and H.-C. Chen, “Design and Implementation of TCP/IP Offload Engine System over Gigabit Ethernet,” in the Proceedings of 15th International Conference on Computer Communications and Networks (ICCCN), Oct. 9-11, 2006, pp. 245-250.
[25] Y. Ji and Q.-S. Hu. “40Gbps Multi-connection TCP/IP Offload Engine,” in the International Conference on Wireless Communications and Signal Processing (WCSP), Nanjing, Nov. 9-11, 2011, pp.1-5.
[26] H. Jang, S.-H. Chung, and S.-C. Oh, “Implementation of a Hybrid TCP/IP Offload Engine Prototype,” in the Advances in Computer Systems Architecture, Springer Berlin Heidelberg, vol. 3740, 2005, pp. 464-477.
[27] ARM Generic Interrupt Controller Architecture Specification, 2011.
[28] ARM Dual-Timer Module (SP840) Technical Reference Manual, 2004.
[29] PrimeCell UART (PL011) Technical Reference Manual, 2005.
[30] R. Mijat, A. Nightingale, “Virtualization is Coming to a Platform Near You,” ARM White Paper, 2011.
[31] D. Ongaro, A. L. Cox, and S. Rixner, “Scheduling I/O in Virtual Machine Monitors.” in the Proceedings of the fourth ACM SIGPLAN/SIGOPS international conference on Virtual execution environments (VEE), 2008, pp.1-10.
[32] S. Makineni and R. Iyer, “Architectural Characterization of TCP/IP Packet Processing on the Pentium® M Microprocessor,” in the Proceedings of the 10th International Symposium on High Performance Computer Architecture, 2004.
[33] www.linuxfoundation.org/collaborate/workgroups/networking/toe
[34] N. Fugier and et al., “Studying Network Protocol Offload with Emulation: Approach and Preliminary Results,” in the Proceedings of the 12th Annual IEEE Symposium on High Performance Interconnects, 2004.
[35] T. Liu, H. Zhu, C. Zhou, G. Chang, “A New Method of TOE Architecture Based on the ML403 Development Board in Linux,” in the First International Multi-Symposiums on Computer and Computational Sciences (IMSCCS), Vol. 2, June. 20-24, 2006, pp. 160-166.
[36] Ang, B. Seong, “An Evaluation of an Attempt at Offloading TCP/IP Protocol Processing onto an i960RN-based iNIC,” Computer Systems and Technology Laboratory HP Laboratories, 2001.
[37] K. Hashimoto and V. G. Moshnyaga, “A New Approach for TCP/IP Offload Engine Implementation in Embedded Systems,” in the Conference Record of the Forty Fourth Asilomar Conference on Signals, Systems and Computers (ASILOMAR), Pacific Grove, CA, Nov. 7-10, 2010, pp. 1249-1253.
[38] H. Ghadia, “Benefits of Full TCP/IP Offload in the NFS Services,” NFS Industry Conference, 2003.
[39] Z. Chang and et al., “Adjustable Credit Scheduling for High Performance Network Virtualization,” in the IEEE International Conference on Cluster Computing (CLUSTER), Beijing, Sept. 24-28, 2012, pp. 337-345.
論文全文使用權限
  • 同意授權校內瀏覽/列印電子全文服務,於2015-08-15起公開。
  • 同意授權校外瀏覽/列印電子全文服務,於2015-08-15起公開。


  • 如您有疑問,請聯絡圖書館
    聯絡電話:(06)2757575#65773
    聯絡E-mail:etds@email.ncku.edu.tw