Xen虚拟I/O优化策略
详细信息    本馆镜像全文|  推荐本文 |  |   获取CNKI官网全文
摘要
计算机硬件水平的进步,带来了计算性能的激增,促使虚拟化技术再次成为计算机科学领域的研究热门。虚拟化技术使得多个互相隔离的操作系统可以同时运行于一台物理主机之上,由虚拟机监视器VMM为各个虚拟系统之上的客户机提供虚拟硬件。虚拟化技术有利于提高计算机资源的利用率、整合企业计算环境、降低维护成本、实现服务的无缝迁移、部署云计算平台等。虚拟机技术涉及的CPU、内存、I/O设备的虚拟化是如今行业内的重点研究方向。Xen做为一款开源虚拟机软件受到广泛关注。
     虚拟化技术为客户机提供虚拟硬件,即虚拟CPU、虚拟内存、虚拟I/O设备等。虚拟机软件位于客户机与底层硬件之间,由虚拟机软件管理计算资源的分配,并提供客户域之间的隔离性。随着各大硬件厂商推出的对虚拟化技术的硬件支持,虚拟机的性能有了很大程度的提升,已经接近本地主机。如Intel VT与AMD-V对CPU虚拟化的支持,硬件MMU对内存虚拟化的支持等。由于I/O设备的特性使得I/O虚拟化目前大都是采用软件实现,其开销很大,I/O虚拟化的性能始终是虚拟化系统的瓶颈。
     虚拟I/O性能的提升必定带来整体系统性能的提升。本文分析了当前国内外虚拟化技术的研究现状,以Xen为平台具体研究了Xen虚拟化技术中所涉及的原理与机制,侧重研究了Xen的I/O虚拟化模型(分离驱动模型)与VCPU调度算法(Credit算法)在此基础上分析了现存I/O虚拟化技术的不足,提出了设备I/O请求调度优化方法,此方法将域的I/O请求按优先级排序,再按序处理请求,使得虚拟I/O的吞吐率得到提升。同时本文还提出了一种优化BOOST (Optimized BOOST)算法,在原有BOOST基础上添加了BOOST队列使VCPU按照优先级调度,I/O敏感类的域优先获得处理器资源,这种策略提高了I/O的响应速度,减少了I/O响应的波动现象,虚拟I/O的性能得到提高。综述,本文在设备模型与VCPU调度两个层面对虚拟I/O进行了优化。
     最后本文搭建虚拟化平台,对上述优化策略做了对比实验,并详细分析了实验结果,验证了上述优化策略的正确性。设备I/O调度与优化BOOST算法减少了I/O响应延时,提高了I/O的吞吐率,提高了虚拟I/O的性能。
The development of level for manufacturing Computer Hardware bring the improvement of the computer performance and made the Virtualization Technology(VT) to be the popular topic in the computer research area. Virtualization is a technology which runs different isolated OS on a physical machine. It is Virtual Machine Manager (VMM)to providing virtual hardware. VT can providing high resources utilization ratio, integrating computing environment in enterprise,etc.The Virtualization of CPU, Memery I/O divice is the one of the most important research aspects currently.Much attention has been focused on Xen-a freesoftware.
     The VT provides Virtual Hardware for Guest. The VMM lies between Guest and physical device, which manages the allocation of the Computer Resources and provides the isolation among Guests.With the Hardwaresupport of the Virtualization of CPU and Memery,the performance of Guest has been close to the native machine. The Virtualization of I/O device has great cost of performance because of the character of I/O device. The Virtualization of I/O is always the bottleneck of the entire Virtualization System.
     The improvement of Virtual I/O can effects the performance of Virtual-System which is absolutely right. In this paper,we have discussed the research situation of VT. Also we have learned the theory and mechanism of VT on Xen, especially the I/O's virtualization and VCPU schedule algorithm. We analysis the shortage of I/O virtualization model and Credit scheduler. Then we come up to the optimization of I/O request scheduling and Optimized BOOST mechanism. Both of these optimization are based on the priority of domain or I/O request itself. The optimized mechanisms have reduced the response latency of I/O request and increased the throughput of Virtual I/O. what's more, the I/O intensive domain can preempt the other domain and be scheduled first. Above all, we have optimized the Virtual I/O in two aspects, device model and the scheduling algorithm of VCPU.
     At last, we build the platform for virtualization to do our experiment. The result has validated the effects of Optimized Mechansim. The optimized mechanisms have reduced the response latency of I/O requests and increased the throughput of Virtual I/O and also it provide different priorities for different domains which require different I/O latency.
引文
[1]R.P.Goldberg. Survey of Virtual Machine Research[J]. IEEE Comuter Magazine, 1974:34-45.
    [2]Christopher Strachy. Time Sharing in Large Fast Computers[R]. International Conference on Information Processing,1959.
    [3]Mendel Rosenblum, Tal Garfinkel. Virtual Machine Monitors:Current technology and future trends[J]. IEEE Computer Magazine,May 2005:39-47.
    [4]P. Barham, B. Dragovic, K. Fraser, et al. Xen and the art of Virtualization[C]. Proceedings of the nineteenth ACM symposium on Operating systems principles, Bolton Landing, NY, USA,2003:164-177.
    [5]Leendert van Doorn. Hardware Virtualization Trends[C]. ACM VEE, Ottawa, Ontario, Canada,2006:45-56.
    [6]Enterprise Management Associates. Virtualization:Exposing the Intangible Enterprise. Enterprise Management,2006. www.infoworld.com/event/virtualization.
    [7]U Gurav, R Shaikh. Virtualization-A key feature of cloud computing[C]. ACM ICWET, Mumbai, Maharashtra, india,2010:227-229.
    [8]Gil Neiger, Amy Santoni, Felix Leung, et al. Intel Virtualization Technology: Hardware Support for Efficient Processor Virtualization[J]. Intel Technology Journal,2006,10(1):162-178.
    [9]AMD Inc. AMD64 Virtualization Overview Codenamed "Pacifica" Technology:Secure Virtual Machine Architecture Reference Manul[P]. www.amd.com/us-en/assets.
    [10]陈斐.虚拟机内存虚拟化技术浅析[J].Science& Technology Information,2006, 35:163-164.
    [11]Muhanmad Atif, Peter Strazdins. An Evaluation of Multiple Communication Interfaces for Virtualized SMP Clusters[C]. HPCVirt ACM, Nuremberg, Germany,2009:9-16.
    [12]Jiuxing Liu, Bulent Abali. Virtualization Polling Engine (VPE):Using Dedicated CPU Cores to Accelerate I/O Virtualization[C].ACM Proceedings of the 23rd international conference on Supercomputing,2009.
    [13]付赛平,任国林.Xen网络I/O完全虚拟化机制的可扩展性研究[J].计算机工程,2008,34(23):102-104.
    [14]AMD Inc. AMD I/O Virtualization Technology(IOMMU) Specification Revision 1.20. www.amd.com/us-en/assets.
    [15]Jiuxing Liu, Bulent Abali. Virtualization Polling Engine (VPE):Using Dedicated CPU Cores to Accelerate I/O Virtualization[C]. ACM Proceedings of the 23rd international conference on Supercomputing,2009.
    [16]Young Jin Yu, Dong in Shin, Hyeonsang Eom, Heon Young Yeom. NCQ vs. I/O Scheduler: Preventing Unexpected Misbehaviors[J]. ACM Transactions on Storage (TOS),2010, 6(1):15-27.
    [17]Intel Corp. Intel 8259810 GbE ethernet controller open source datasheet,2008. Revision 2.5.
    [18]Kaushik Kumar Ram, Jose Renato Santos, Yoshio Turner, Alan L. Cox, Scott Rixner. Achieving 10 Gb/s using safe and transparent network interface virtualization [C]. Proceedings of the 2009 ACM SIGPLAN/SIGOPS international conference on Virtual execution environments,2009.
    [19]胡冷非,李小勇.基于Xen的I/O准虚拟化驱动研究[J].计算机工程,2009,35(23):258-262.
    [20]Diego Ongaro,Alan L. Cox, Scott Rixner. Scheduling I/O in Virtual Machine Monitors [C]. ACM VEE, Seattle, Washington, USA,2008:1-10.
    [21]Bochs the open source IA-32 emulator.2007. http://bochs.sourceforge.net/
    [22]Open source processor emulator—QEMU.2007. http://fabrice.bellard.free.fr/qemu/
    [23]Michael Steil.Inside VMware.2006,
    http://events. ccc.de/congress/2006/Fahrplan/attachments/1132-InsideVMware.pdf
    [24]Ligneris, B. D. Virtualization of linux based computers:The linux-VServer project. Proceedings-International Symposium on High Performance Computing Systems and Applications,2005,340-346.
    [25]Server virtualization open source project—OpenVZ.2007. http://openvz.org/
    [26]霍顿著.叶乃文等译.Java入门经典[M].北京:中国电力出版社,2000-11.
    [27]Wine. http://www. winehq. org
    [28]Noer GJ. Cygwin:A free Win32 Porting Layer for UNIX applications. Proceedings of the 2nd USENIX Windows NT Symposium August 1998, Seattle, Washington, USA.
    [29]石磊,邹德清,金海.Xen虚拟化技术[M].武汉:华中科技大学出版社,2009.
    [30]顾晓峰,王健.基于Intel VT-x的Xen全虚拟化实现[J].计算机技术与发展,2009,19(9):242-245.
    [31]Guangdeng Liao, Danhua Guo, Laxmi Bhuyan. Software Techniques to Improve Virtualized I/O Performance on Multi-Core Systems[C]. ANCS ACM, San Jose,CA, USA,2008:161-170.
    [32]Prabhakar Chaganti. Xen Virtualization:A Practical Handbook[M]. USA:Turing,2007.
    [33]William von Hagen. Professional Xen Virtualization. USA, Turing,2008.
    [34]虚拟化与云计算小组.虚拟化与云计算.北京:电子工业出版社,2009.
    [35]Hwanju Kim, Hyeontaek Lim, Jinyu Jeong. Task-aware Virtual Machine Scheduling for I/O Performance[C].VEE ACM, Washingtion, DC, USA,2009:101-110.
    [36]Himanshu Raj, Karsten Schwan. High Performance and Scalable I/O Virtualization via Self-Virtualized Devices[J]. HPDC, ACM, Monterey, California, USA,2007:179-188.
    [37]冯宇,左志宏.Linux进程调度算法分析[J].计算机与现代化,2009,6(1):13-17.
    [38]曾珊,郝沁汾,刘忠麟.内核虚拟机网络I/0路径研究与分析[J].计算机工程与科学,2008,30(A1):137-140.
    [39]Kenneth J Duda, David R Cheriton. Borrowed-virtual-time scheduling:supporting latency-sensitive threads in a general-purpose scheduler[C]. Proceedings of the seventeenth ACM symposium on Operating systems principles,1999,33 (5):106-115.
    [40]时光,郭玉东,王晓睿.XEN中VCPU调度算法分析[J].计算机工程与设计,2010,31(18):4116-4123
    [41]顾振宇,张申生,李晓勇.Xen中Credit调度算法的优化[J].微型电脑应用,2009,25(2):1-3.

© 2004-2018 中国地质图书馆版权所有 京ICP备05064691号 京公网安备11010802017129号

地址:北京市海淀区学院路29号 邮编:100083

电话:办公室:(+86 10)66554848;文献借阅、咨询服务、科技查新:66554700