1. 研究目的与意义(文献综述)
信息网络时代的今天,每天数以亿计的计算任务在网络上发起,随着云计算的逐渐兴起,以本地计算为主的应用模型也跟着改变。在云计算的环境下,面对大量的云端资源,如何给用户提供有效地方式来管理云端资源,以及如何为用户提供可靠快速的计算方式,显得尤为重要。
虚拟化技术则是通过hypervisor(虚拟机监视器)隐藏计算平台的实际物理特性,通过新的虚拟化层的引入,为用户提供抽象的、统一的、模拟的计算环境(虚拟机),对上一层提供虚拟的系统资源,对下一层实现真实物理资源的管理。因此,虚拟化技术一方面能够减少硬件资源的成本,另一方面又能显著提高系统的工作效率。在云计算日益发展的今天,对于虚拟技术的探索,仍意义非凡。
根据了解,虚拟化目前仍需解决几个重要问题:第一,虚拟机之间必须独立运行,且彼此之间性能互不影响;第二,必须支持不同类型的操作系统,以适应不同类型的应用;第三,虚拟化的性能开销必须比较小。虚拟化主要分为三大部分,分别为cpu 虚拟化、内存虚拟化和i/o 虚拟化。cpu 时间资源首先由vmm 的调度器分配给vm,然后通过vm 操作系统中的调度器再分配给具体的任务。对于i/o密集型的工作负载,大量i/o请求操作以及产生的i/o中断等,若得不到及时的处理,将导致系统的性能急剧下降。 根据nadav har el[14]等人的研究表明,他们提出一种高效可扩展的i/o半虚拟化模型——elvis(efficient and scalable paravirtual i/o system)系统,结合细粒度i/o调度器以及exitless notifications机制,它能提供半虚拟化i/o的所有优点。通过运行在与客户机内核分离且有专用i/o内核的主机上,避免i/ o路径上的退出,来减轻半虚拟化i/o的开销。
2. 研究的基本内容与方案
kvm(kernel-based virtual machine)即内核虚拟机,它并不是开发者直接从底层重新编写的hypervisor,而是基于linux kernel,通过加载新的模块进去从而使其本身成为一个新的hypervisor。kvm是完全原生的全虚拟化解决方案,但通过客户机操作系统中加载半虚拟网络驱动程序,具有部分半虚拟化支持,从而提供高性能的i/o。
kvm必须使用硬件虚拟化辅助技术,才能使得cpu的运行效率比较高。不过,kvm在i/o虚拟化方面,传统的方式是使用qemu模拟i/o设备,也可以使用半虚拟化驱动提高客户机的i/o性能。目前,kvm实现半虚拟化驱动的方式是采用virtio。但虚拟化带来的i/o开销仍然显著。本文的主要研究内容是基于kvm半虚拟化的模式下,i/o机制的代码实现,并优化i/o过程,提升半虚拟化模式下kvm虚拟化系统的i/o性能。拟采用的技术如下:
1.搭建kvm虚拟化环境
3. 研究计划与安排
第1-4周:查阅相关文献资料,明确研究内容,了解研究所需的的环境和配置。确定设计方案,完成开题报告。
第5-8周:翻译英文资料,了解虚拟化技术,搭建kvm运行环境,测试半虚拟化i/o性能。
第9-13周:阅读半虚拟化实现代码,进行优化,并测试效果,与原有性能比较分析。
4. 参考文献(12篇以上)
[1]任永杰,单海涛.KVM虚拟化技术:实战与原理解析[J].机械工业出版社,2013,10:345-373.[2]王强,董小社,王恩东等.基于I/O受限进程识别的虚拟处理器调度机制[J].西安交通大学学报,2015,49(4).[3]崔泽永,赵会群.基于KVM的虚拟化研究及应用[J].计算机技术与发展,2011,21(6).[4]姚华超,王振宇.基于KVM-QEMU与Libvirt的虚拟化资源池构建[J].计算机与现代化,2013.[5]张灿群. Xen虚拟CPU调度算法的研究与改进[D].华中科技大学, 2012[6]丁圣阁,马汝辉,梁阿磊等.半虚拟化I/O模型的KVM虚拟机域间通信优化方法[J].计算机科学与探索,2011,05(12).[7]宋振华,杨亚军.Xen虚拟机间的磁盘I/O性能隔离[J].计算机体系结构与其他,2011,31(1).[8]王森,朱常鹏,韩博.一种基于qemu的动态迁移模型[J].无线网络与通信,2015.[9]孙琳程.虚拟机KVM与XEN的性能分析[J].软件设计开发,2013.[10]车翔.QEMU-KVM设备虚拟化研究与改进[D].成都理工大学,2012.[11]张萧,祝明发,肖利民.分布式I/O资源虚拟化技术的研究[J].北京航空航天大学计算机学院,2008.[12]秦学东.开源虚拟化——KVM的构建[J].应用实践,2011,11.[13]张彬彬,汪小林,杨亮等.修改客户操作系统优化KVM虚拟机的I/O性能[J].计算机学报,2010:2312-2321.[14]Nadav Har El,Abel Gordon, et al. Efficient and Scalable Paravirtual I/O System[C].USENIX ATC 13, 2013:231-242.[15]GORDON, A.,BEN-YEHUDA,et al. VAMOS: Virtualization aware middleware[C].USENIX Workshop on I/O Virtualization (WIOV),2012[16]Cherkasova L, Gardner R.,Measuring CPU Overhead for I/O Processing in the Xen Virtual Machine Monitor[J].USENIX Annual Technical Conference,General Track. 2005[17]Cheng L, Wang C L. vBalance: using interrupt load balance to improve I/O performance for SMP virtual machines[C] In: Proceedings of the Third ACM Symposium on Cloud Computing. ACM, 2012: 2
课题毕业论文、开题报告、任务书、外文翻译、程序设计、图纸设计等资料可联系客服协助查找。