论文部分内容阅读
随着大规模集成电路技术的迅猛发展,计算能力将不再成为业务应用的瓶颈,业务独占物理资源成为了一种浪费。如何利用过剩的计算资源,同时提供安全、稳定、快速部署、按需分配的计算资源服务,是当前计算机技术领域研究的主流课题,虚拟化技术使这些特性成为现实,而虚拟机性能表现则是用户选择服务的关键指标。本文以KVM虚拟机的性能研究与改进为课题,首先介绍了KVM的起源,发展背景,构建最新版本的KVM虚拟化平台,并完成虚拟化环境优化。然后,从KVM虚拟化原理、虚拟机调度、内存使用和I/O访问优化等方面深入研究虚拟机的性能优化方案和实现方法。围绕KVM虚拟机性能改进,研究的具体工作如下:(1)采用开源Linux作为VMM,在具体的Centos7系统上编译最新内核,并修改和调整内核中影响KVM性能的功能模块,安装最新版本I/O模拟软件QEMU和虚拟机管理软件libvirt,构建了经过环境优化的KVM虚拟化平台。(2)研究了KVM硬件辅助完全虚拟化(Intel VT-x技术)的实现原理和深入分析KVM内核模块的软件驱动原理和运行机制,在深入理解虚拟机运行模式的基础上,提出基于处理器角度的KVM虚拟机性能优化思路,设计和实现了一套VCPU陷入事件的捕获方案,针对第三种思路,验证了改进的可行性。(3)深入研究Linux进程管理、调度策略、运行优先级对进程占用处理器资源的影响,提出了KVM虚拟机调度优化方案,并设计和实现了一个进程监控程序,结合实时监控,可针对业务特点灵活改变虚拟机的调度策略和运行优先级,使虚拟机能够按实际需求获得更多占用物理处理器资源的机会,改进KVM虚拟机的整体性能。实验验证,该优化方案具有可行性。(4)从优化内存的使用率和访问效率两方面,研究优化内存使用的三种主要技术,根据物理资源环境和业务系统需求提出内存优化方案和适应的场景,并给出了具体的实现方法和步骤。(5)研究以virtio为主的半虚拟化设备访问原理和实现过程,确定半虚拟化是KVM虚拟机I/O访问性能改进的主要方案。提出了硬件直通模型中I/O虚拟化技术的应用场景和以具体业务相结合实施I/O优化的思想。通过实验,给出了virtio、Intel VT-d和SR-IOV标准下虚拟机I/O性能优化的实现方法和步骤。