论文部分内容阅读
系统虚拟机技术是一种重要的虚拟化技术,具有跨平台、强隔离性、支持遗留应用、可移动等特点,正越来越多地被应用在网格计算、云计算、集群计算、移动计算等分布式计算领域以解决传统方法难以解决的一些问题,如系统迁移、安全隔离、系统管理等。将虚拟机成功应用于分布计算环境的前提和基础是能够将虚拟机快速部署到各个节点上,并使得虚拟机在各个节点上能够高效运行。虚拟机部署是将包含虚拟机状态的虚拟机映像分发到目标节点上并启动或恢复虚拟机运行的过程。由于虚拟机映像通常尺寸较大,传统的虚拟机技术和虚拟机部署机制会导致分布环境下较高的部署开销,难以实现快速部署和保证虚拟机在用户端的高效运行,特别是对于大规模计算环境或低带宽、高延迟的网络环境。本文针对分布环境下的虚拟机部署,提出了一种基于虚拟机映像细粒度分割的虚拟机按需部署机制,通过按需分发部分虚拟机映像而不是整个虚拟机映像的方法来实现虚拟机在分布环境下快速高效的部署。本文主要从虚拟机管理器VMM对虚拟机按需部署的支持、基于虚拟机映像的软件管理机制、虚拟机映像的按需分发机制以及用户端虚拟机的高效运行机制四个方面展开研究。本文的主要创新工作包括:1.针对虚拟机管理器VMM中传统的COW虚拟块设备在COW磁盘层次深度和磁盘访问性能之间的矛盾以及对分布环境下虚拟机按需部署支持的不足,为VMM的块设备虚拟层设计了一种新的COW虚拟块设备。新的COW虚拟块设备对传统COW虚拟块设备的块定位方式和块存储粒度进行了优化,支持针对单个大尺寸虚拟机映像的细粒度分割,能够在不降低虚拟机磁盘访问性能的前提下将传统的单个大尺寸虚拟机映像分割成多个小尺寸的COW磁盘映像;并针对分布环境下虚拟机按需部署的需求,扩展了按需取块和共享内存区管理功能。理论分析和实验表明,新的COW虚拟块设备比传统的COW虚拟块设备具有更好的性能,特别是在COW磁盘层次较深的情况下,性能的优势更加明显。2.针对虚拟机环境下长期或频繁的软件管理导致生成大量COW磁盘映像进而导致磁盘空间浪费以及难于管理的问题,基于COW虚拟块设备的一般模型,提出了两种COW磁盘映像回收机制来回收老版本COW磁盘中的可回收空间,并将COW磁盘数目控制在一定范围内。实验表明,COW磁盘回收机制能够有效回收老版本COW磁盘和控制COW磁盘数目,从而能够大幅减少服务器端磁盘空间的浪费且方便了虚拟机映像的管理,支持虚拟机环境下基于COW虚拟块设备的持久的软件管理。3.针对传统的虚拟机部署机制会导致分布环境下较高部署开销的问题,提出了一种基于虚拟机映像细粒度分割的虚拟机按需部署机制,以实现虚拟机在分布环境下快速高效的部署。虚拟机按需部署机制利用新的COW虚拟块设备,在单个软件的基本粒度上将传统的单个大尺寸虚拟机映像分割成多个小尺寸的COW磁盘映像,然后按需地分发到用户端,以实现虚拟机映像的快速分发;通过COW磁盘本地访问为主和按需取块为辅的方式实现虚拟机在用户端的高效运行;并设计了基于COW磁盘有效工作集的优化部署方法来降低大型软件的部署开销。实验表明,本文提出的虚拟机按需部署机制能够大幅降低分布环境下虚拟机部署的开销,较好地满足虚拟机快速分发、高效运行的部署要求,支持分布环境下按需的、快速的虚拟机部署。4.针对虚拟机按需部署中用户端等待时间和虚拟机运行性能之间的矛盾,提出了一种需求驱动的虚拟机映像预取机制,对虚拟机按需部署中用户端虚拟机的性能进行优化。预取机制通过按需取块方法直接启动和运行虚拟机以减少用户端的等待时间,通过在用户端虚拟机运行过程中对用户所使用软件对应的COW磁盘进行预取来提高虚拟机中的软件运行性能。提出了一种基于访问频率和动态优先级的预取目标识别算法来提高预取过程中预取目标识别的准确性,以及一种预取量动态调节机制对预取量进行动态自适应地调节以降低网络条件等变化因素对预取的影响。针对现有部署模式在分发效率、可用性等方面的不足,提出了一种基于扩展BitTorrent协议的P2P预取模式以加速预取过程。实验表明,预取机制,特别是基于P2P模式的预取机制,能够大幅减少用户端的等待时间,显著提高虚拟机中软件任务的本地命中率进而为用户提供较好的虚拟机运行性能。