论文部分内容阅读
互联网技术的发展逐渐给人们带来了新的计算方式,云计算即是互联网发展的产物之一。云计算通过将众多计算资源整合抽象成虚拟计算环境的方式,向用户提供虚拟的计算资源,具有分配迅速、管理灵活和可回收再利用的优点。同时云计算服务还因为计算资源的高密度整合,最大化了硬件的使用率,避免了利用率低下带来的能源消耗。虚拟化技术作为云计算的核心技术之一,为计算资源的整合与调度提供了可能,该技术使单台物理服务器上能够同时运行多台虚拟机实例。虚拟机管理工具是系统虚拟化的重要组成部分,虚拟化管理工具使得虚拟机能够被保存、恢复和在多台物理服务器间迁移。多核处理器的发展,显著提高了硬件的并行计算能力。但是,现有的虚拟机管理工具往往采用单线程的实现方式,此方式没有有效利用硬件的并行计算能力。同时由于存储空间和内存容量的不断增加,云服务提供的虚拟机实例也在逐渐变大。此趋势导致虚拟机管理过程耗时更长——需花费更多的时间处理虚拟机实例的大内存和硬盘存储。所以,虚拟机管理工具能否充分利用硬件资源的并行处理能力,决定了在多核处理器条件下虚拟化技术能否为云计算提供高效的虚拟机管理方案。多核处理器引入带来的内存带宽问题使得NUMA访存模型被广泛运用于大型服务器中。虚拟化技术为云计算提供计算资源抽象的同时,也为虚拟机与真实硬件带来了隔离,使虚拟机无法了解真实的硬件配置,如NUMA拓扑结构等。这将显著提高虚拟机内资源分配和任务调度的难度,降低虚拟机的运行效率。针对上述问题,本文开展了以下两方面的工作:1.提出了虚拟机管理工具并行化方法,该方法将虚拟机管理工具中的保存和恢复工具按步骤进行分解,通过流水线的方式进行并行处理,并且将其中耗时的步骤分配个多个线程并行执行。2.提出了动态NUMA方法,该方法将NUMA拓扑结构通过虚拟固件告知虚拟机。通过动态修改虚拟机内操作系统NUMA拓扑结构,配合虚拟机监控器的任务调度算法,动态NUMA方法使得虚拟机监控器在调度虚拟CPU的同时,仍然保持虚拟机内NUMA拓扑结构准确性,提高了虚拟机在NUMA访存模型中的执行效率和调度灵活性。为了验证虚拟化管理工具并行方法和动态NUMA方法的确提高了虚拟机的管理和执行性能,我们在Xen虚拟化平台上实现了并行化的虚拟机管理工具以及动态NUMA方法,并对这些方法进行了对比实验。实验结果表明:1.虚拟化管理工具的并行方法充分利用了多核处理器的计算能力,显著提高了虚拟机管理工具的执行效率,运行时间缩短到原有的33%。2.动态NUMA方法提高了虚拟机在具有NUMA访存模型的服务器上执行性能,在mmap试验中运行效率提高近100%。