论文部分内容阅读
云计算是一种面向服务的、构建在以资源动态分配和绑定为核心的计算基础设施之上的一种新型计算形态和商业模式。在云计算基础设施中,计算资源、存储资源以及网络带宽等都可以作为一种能力(capacity)为用户提供服务,通过一种更具有弹性的管理方式把各种资源聚合绑定后为云用户提供基础计算平台服务。
虚拟化技术在云计算平台上的应用可以在物理计算基础设施复用、资源动态伸缩、性能隔离、病毒隔离等诸多方面为云平台带来了诸多的特性。其中,资源虚拟化技术使得云平台具备更加弹性的资源配给方式和动态调节特性。以虚拟机为资源聚合基本单元的特点为用户配置更加灵活的计算平台带来了快速、灵活、高效以及安全等诸多好处。其中,虚拟化云计算平台上,内存虚拟化面临比传统虚拟化场景下更多的挑战。如何构建面向云计算平台的虚内存资源的优化分配和动态调节机制,以及如何实现内存资源的动态按需分配,是虚拟化技术在分布式云平台上面临的一个重要的挑战。这个挑战主要表现在如下三个方面:如何量化分析虚拟机的访存模式以协助估计虚拟机内存有效工作集的大小、如何实现内存资源的动态按需绑定以及如何满足用户对于性能、安全可靠等的要求。
本文探索了面向云计算平台的、以内存透明调节技术为核心、以虚拟机内存访问模式带外分析为驱动的分布式内存虚拟化机制,通过资源按需分配的方式来构建跨越计算机资源物理边界的、安全可靠的内存优化框架。
(1)提出并实现了基于透明优化技术的虚拟机间内存资源动态调整框架。该框架以虚拟机内存资源的透明回收和再分配技术为核心、以分布式空闲内存检测技术和内存远程访问技术为支撑,实现了跨越物理计算机资源边界的透明内存优化技术。在该框架中,虚拟机的存储架构被重构,内存部分透明的划分成三个部分:本地独占内存、本地共享内存和远程独占内存。通过调节虚拟机内存在这三者之间的分配来达到动态优化资源配给、提升系统整体效率的目的。该框架能够充分优化系统中的内存分配,大幅提高内存敏感性应用的性能。我们分别从内存回收的负载,内存回收在虚拟机上运行的服务不同状态下的对系统的影响,以及多虚拟机共存的情况下对于服务的整体加速等诸多方面进行了评测。
(2)针对用户对于性能、安全和稳定性的要求,本文引入了基于Mark-Copy-Validate-Update异步页面回收机制、基于页面回收速度和共享缓冲区联动的Thrashing-Avoidance性能优化机制以及基于双层地址空间1:N映射模型的内存数据冗余存储方案等,实现了高效、安全、可靠的伞局内存资源访问。同时,为了优化系统性能,引入了One-Copy机制来避免多次数据复制带来的性能开销。通过实验,我们验证了页面回收机制的高效性、稳定性。
(3)针对虚拟机不同访存模式判定问题,本文提出了一种基于虚拟机内存访问时间局部性信息带外分析方法为核心的虚拟机内存访问模式判定机制,研究了不同访存模式下虚拟机的内存访问时间局部性访问间隔分布规律与虚拟机访存模式之间的关系。在本文中,一种构建在虚拟机监控器中的虚拟机内存访问监控系统被引入到系统中,通过分别监控虚拟机对于内存的访问和DMA操作来动态地统计虚拟机的访问间隔分布信息。为了分析虚拟机访存规律,本文引入了一种新型的矢量化分析方法对虚拟机访存模式的相似性进行计算分析,进而判定其访存模式。
(4)为了解决虚拟机访存模式的动态判定问题,本文引入了一种离散化分析方法来动态分析虚拟机的访存规律。在矢量化分析的基础上,通过离散分析方法来动态地给出虚拟机访问模式的规律。最后,综合矢量化分析和离散化分析机制,实验分析了具有不同访存规律的基准测试程序的访存规律判定,验证了其结果和理论分析的一致性。