论文部分内容阅读
随着计算机硬件技术的发展,以及用户应用需求的多样化,虚拟化技术重新成为工业界和学术界的研究热点。虚拟化技术的使用可以提高计算机资源的利用率,降低企业整体系统成本。目前,虚拟化技术已被广泛应用到服务器管理整合、集群计算、资源动态迁移、系统安全以及系统开发测试等领域。近几年,越来越多的企业和学校加入了虚拟化技术研究的队伍,虚拟化技术得到了空前的发展,XEN就是在近几年被开发的优秀的虚拟化产品之一。XEN是由英国剑桥大学开发的一个开源项目,它允许在一台计算机上运行多个客户机操作系统,XEN一开始只支持泛虚拟化,2005年初,INTEL和AMD都推出了基于处理器硬件的虚拟化技术,使得XEN除了支持泛虚拟化,也可以支持完全虚拟化。XEN的性能和资源隔离性都十分优秀,另外加上它的开源性,使得近年来被越来越多的人研究。本文也是基于以上的考虑,所以选择XEN作为研究的对象。然而,与原生的Linux系统相比,XEN的性能负载特别是网络性能负载,是影响它被广泛应用的一个主要障碍。与原生的Linux的网络性能相比,XEN中guest domain的网络性能负载比较明显,当接收数据包时,guest domain的带宽为原生的Linux的带宽的30%,当发送数据包时,guest domain的带宽仅为原生的Linux的带宽的20%。另外,随着互联网的迅速发展,在虚拟机中运行网络密集型应用的需求将不断增加,因此在虚拟环境下如何提高网络应用的性能成为急需解决的问题。基于此,本文首先通过阅读大量相关的文献,发现导致网络虚拟化性能负载的原因主要来自两个大的方面,其一,是XEN网络虚拟化架构,其二,是XEN的CPU调度算法;其次,通过分析XEN网络虚拟化架构,以及XEN的Credit调度算法的实现原理,找出造成XEN网络虚拟化性能负载的具体原因;然后,分析和比较总结了已有的通过对XEN网络虚拟化架构进行改进来提高网络密集型应用性能的方法,另外,对于CPU调度算法,本文提出了一些提高网络密集型应用性能的优化策略,特别的,本文对目前XEN的默认的CPU调度算法即Credit算法进行了改进,使其优先调度网络等I/O密集型的domain,通过这种改进将使得网络等I/O密集型应用的性能得到了提高;最后,本文在schedsim模拟器上对改进前后的Credit算法进行了模拟,实验表明,改进后的Credit算法使得网络密集型应用的性能得到了提高。