基于VT-x的处理器虚拟化技术研究
详细信息    本馆镜像全文|  推荐本文 |  |   获取CNKI官网全文
摘要
随着系统资源在规模上的不断扩展,计算机领域面临着如何充分利用硬件资源的重大问题。虚拟化技术作为一种新型计算模式成为解决此类问题的关键,虚拟机监控器(VMM)是实施虚拟化的基础。
     目前VMM采用了多种手段实现处理器虚拟化和虚拟机管理,其中Intel VT-x技术在硬件级别上提供了相当程度的支持。由于VT-x技术与其他多种处理器虚拟化方法共存,同时硬件平台和应用环境也存在较大差异,因此需要在采用VT-x技术的基础上兼顾到其它多种影响因素,以最大程度的发挥硬件潜能。本文在一种协作型VMM框架下,完成了基于VT-x平台的处理器虚拟化和虚拟机管理两大子系统的设计与实现,主要解决了以下四个方面问题:
     1、通过在在多处理器平台上采用基于主体的处理器划分方式,隔离了VMM和IO处理机(IOPM)对处理器的控制冲突,使处理器分配方式能够满足协作模型的特殊需求。
     2、设计了基于VT-x的处理器虚拟化方案,在处理器操作模式转换的基础上,完成虚拟处理器(VCPU)执行环境构造。VCPU行为限制,有效实现了处理器虚拟化。进一步提出一种用户可配置虚拟机控制结构的方案,以提升某些应用环境中的虚拟化性能。
     3、针对协作模型对VCPU调度的影响,在对各种VCPU调度算法比对筛选的基础上,提出了一种静态分配与动态调度相结合的调度策略,并依此设计了改进型的s-credit调度算法,能够较好的兼顾I/O密集型和计算密集型应用。
     4、依据协作模型的特点,设计出一种轻量级的虚拟机管理结构,体积小巧层次清晰,并建立了用户交互模型,能够为用户提供便利的虚拟机管理接口。本文在VMM原型系统中完成了上述工作,对I/O密集型和计算密集型应用在虚拟化系统中的效率进行了测试。进一步在对VCPU退出测试的基础上,将退出原因进行基于概率的分类统计,为性能优化提供了参考依据。实验结果表明,本文完成的相关工作可以满足协作型VMM对处理器的各种需求,在处理器虚拟化及虚拟机管理方面具备较高的效率。
Computer field faced an important problem that how to use hardware resource adequately with incessant enlargement of system resource in dimensions. Virtualization becomes a key to solve this problem as a new-style mode of computing, Virtual Machine Monitor (VMM) is the base to implement virtualization.
     VMM adopt various approaches to implement CPU virtualization and Virtual Machine management at present, thereinto technology of Intel VT-x provides support with meetly degree in the level of hardware. Technology of VT-x coexist with other approaches of CPU virtualization, hardware platform and application environment have biggish different at the same time, thus it is need to consider diversiform influencing factors in the base of technology of VT-x, consequently exert the potential of hardware farthest.
     In the frame of a VMM based cooperation model,this thesis accomplish the design and implementation of two function that CPU virtualization and Virtual Machine management in the platform based VT-x , the four contributions of this thesis are that:
     First, this thesis adopts the approach of mainstay based CPU partition in the platform of multi-core, it can isolate the control conflict of CPU between VMM and IO process machine (IOPM), thus make the allocation quomodo of CPU meet the request of cooperation model.
     Second, this thesis designs VT-x based CPU virtualization solution. Based on CPU operation mode conversion, it completes Virtual CPU (VCPU) executing environment establish, VCPU behavior limits. It effectively implements CPU virtualization. Furthermore, it proposes a customized VM control architecture solution in order to increase the virtualization performance in certain application environments.
     Third, aiming at the influence of VCPU schedule caused by cooperation model and after comparing various VCPU schedule algorithms, this thesis proposes a schedule model in which static allocation and dynamic schedule are combined, based on which it designs an advanced s-credit schedule algorithm, with well considering the application of I/O denseness and computing denseness at the same time.
     Fourth, according to the character of cooperation model, this thesis designs a lightweight Virtual Machine management architecture, which has clear arrangement with small volume, and establishes user interaction model, that can provide users convenient virtual machine management interfaces.
     This thesis accomplishes task above in the prototype system of VMM, and efficiency of application including I/O denseness and computing denseness in system of virtualization are tested. Based on exit tests of VCPU, it further classified statistics the probabilities of exit causes. The result shows that interrelated task in this thesis can meet various need of VMM in CPU, and have upper efficiency in CPU virtualization and management of Virtual Machine.
引文
[1]刘伟.2010年虚拟化软件收入[EB/OL].http://industry.ccidnet.com/art/10/20080409/1414781_1.html, 2008-04-09.
    [2]丁震.2010虚拟化预测:传言的一年[EB/OL].http://tech.sina.com.cn/b/2010-01-05/11413738758.shtml, 2010-01-05.
    [3]王勇.虚拟化改变世界:大同即将到来[EB/OL].http://w.xue163.com/html/2009615/1380739.html, 2009-06-15.
    [4] Martin F. Maldonado.虚拟化概述:模式的观点[EB/OL]. http://www.ibm.com/developerworks/cn/grid/gr-virt/, 2006-7-3.
    [5] Popek G, Goldberg R. Formal Requirements for Virtualizable Third generation Architectures. Communications of the ACM 17(7): July 1974, 413-421.
    [6] J.E.Smith. Virtual Machines: Architectures,Implementations and Applications[R]. University of Wisconsin-Madison, 2005.8.
    [7] Tal Garfinkel, Mendel Rosenblum. A Virtual Machine Introspection Based Architecture for Intrusion Detection[C]. In Proc.Network and Distributed Systems Security Symposium,2003.
    [8] Andrew Whitaker, Marianne Shaw ,Steven D. Gribble.Scale and Performance in theDenali Isolation Kernel[C]. ACM SIGOPS Operating Systems Reveiw,2007,Volume 36:195-209.
    [9]孙昱.虚拟机Xen及其实时迁移技术研究[D].上海交通大学,2008.01.
    [10] Lance Spitzner. Honeypots: Tracking Hackers[R]. Addison-Wesley Longman Publishing, 2002.
    [11]金海.计算系统虚拟化原理与应用[M].北京:清华大学出版社,2008:2.
    [12] Paul Barham, Boris Dragovic, Keir Fraser, et all. Xen and the art of virtualization[C],SOSP'03, October, 2003:19-22.
    [13] Qumranet Inc. KVM:Kernel-based Virtualization Driver White Paper[R], 2006.
    [14] R.Uhlig, G.Neiger, D.Rodgers,et al. Intel Virtualization Technology.IEEE Computer Society[R], 2005.
    [15] Sami Vaarala. Security Considerations of Commodity x86 Virtualization[R]. Licentiate Thesis: May 22, 2006.
    [16] Darren Abramson,Jeff Jackson,Gil Neiger,et al. Intel Virtualization Technology for Directed IO[J],Intel Technology Journal,2006,10(3):180-181.
    [17] Jun Nakajima. Intel Virtualization Technology Roadmap and VT-d Support in Xen[R], Intel Open Source Technology Center, 2007
    [18] James E Smith, Ravi Nair. Virtual Machines, Versatile Platforms for Systems andProcesses[M],北京:电子工业出版社, 2006:261-262.
    [19] Robin J S, Irvine C E.Analysis of the Intel Pentium s Ability to Support a Secure Virtual Machine Monitor[C]. USA: In Proceedings of the 9th USENIX Security Symposium,Denver, 2000:129-144.
    [20] Argentina Software Development Center.Virtualization Technology Introduction[R].Intelorporation, 2008.
    [21] J.E.Smith, Rich Uhlig.Virtual Machines: Architectures,Implementations and Applications[R]. Intel Corporation, 2005.
    [22] Gisela Giusti.Introduction to Virtualization Technology[R]. Argentina Software Development Center,Intel Corporation, 2007.
    [23] Adams K, Agesen O. A comparison of software and hardware techniques for x86 virtualiztion[C], San Jose, 2006-10:21-25.
    [24] A. Whitaker, M. Shaw, S Gribble. Denali: Lightweight Virtual Machines for Distributed and Networked Applications [C], Proceedings of the USENIX Technical Conference, Monterey, CA, 2002-06:261-263.
    [25] LeVasseur J, Uhlig V, Leslie B,et al. Pre-virtualiztion:uniting two worlds[R].Proceedings of ACM Symposium on Operating Systems Principles(SOSP 2005), 2005-10.
    [26] Leendert van Doorn. Hardware Virtualization Trends[R]. T.J.Watson Research Center,Intel Corporation, 2006.
    [27] Yu Ke. Intel Virtualization Technology Overview[R]. Open Source Technology Center,Inter Corporation, 2009.
    [28] Neiger, Gil, et al. Intel Virtualization Technology:Hardware Support for Efficient Porcessor Virtualization[J]. Intel Virtualization Technology,2006,10(3):170-171.
    [29] Intel Corporation. Intel 64 and IA-32 Architectures Software Developer’s Manual,Volume 3B[R]. Intel Corporation, 2008:131-137,333-345.
    [30] Intel Corporation. Intel 64 and IA-32 Architectures Software Developer’s Manual,Volume 3B[R]. Intel Corporation, 2008:150-161.
    [31] Intel Corporation.Intel 64 and IA-32 Architectures Software Developer’s Manual,Volume 3A[R]. Intel Corporation, 2008:61-66.
    [32]英特尔开源软件技术中心.系统虚拟化-原理与实现[M].北京:清华大学出版社, 2008:117-118.
    [33] Ludmila Cherkasova, Diwaker Gupta ,Amin Vahdat. Comparison of the Three CPU Schedulers in Xen[R]. Xen Summit Spring, 2007.
    [34] Duda KJ,Cheriton D R. Borrowed-virtual-time(BVT) Scheduling:Supporting Latency-sensitive Threads in a General-purpose Scheduler[R]. Preceedings of the Seventeenth ACM Symposium on Operating Systems Principles, New York, 1999.
    [35] Liu C L, Lay land J W. Scheduling Algorithms for Multiprogramming in in a HardReal-Time Environment[J]. Journal of the Association for Computing Machinery, (20)1;1973.
    [36] David Chisnall. The Definitive Guide to the Xen Hypervisor[M]. Massachusetts: persion education, 2007:261-263.
    [37] Xen Wiki. Credit-Based CPU Scheduler[EB/OL]. http://wiki.xensource.com/xenwiki/Credit-Scheduler, 2007.
    [38] Rami Rosen. Xen Virtualization:An Introduction to the Xen Virtual Machine[R]. 2006.
    [39]石磊.Xen虚拟化技术[M].武汉:华中科技大学出版社, 2009:224.

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

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

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