论文部分内容阅读
虚拟化技术已经成为现代数据中心通常采用的抽象技术。通过把硬件资源多路复用划分为多个虚拟机(VMs,virtual machines),从而实现多个操作系统同时运行在相同的物理平台,它可以有效地降低能耗和建筑规模,并且通过隔离各虚拟机来提高安全性。在一个虚拟化系统中,对于实现高资源利用率和获得更好的性能,内存资源管理起着至关重要的作用。不够充足的内存分配会显著降低虚拟机性能。相反的是,超额分配导致内存资源的浪费。与此同时,各虚拟机的内存需求可能会显著不同。所以,有效的内存资源管理必须是一个动态内存均衡器,理想的情况下,可以根据每个虚拟机当前的内存需求及时地调整内存分配,从而达到最佳的内存使用率和整体性能。为了预估每个虚拟机的内存需求变化趋势,仲裁可能发生的内存资源争夺,一个被广泛提出的方法是构建一个基于近期最少使用算法(LRU,Least Recently Used)的缺页率曲线(MRC,miss ratio curve),这不仅提供当前的工作集大小(WSS,workingset size),也包括性能和目标内存分配大小之间的关系。然而,构建MRC的代价是不菲的。在这篇论文中,我们首先提出基于LRU的低开销内存需求监测方案,其中包括三个正交优化:基于自平衡二叉查找树(AVL)的LRU列表,动态热集大小和间歇性内存监测。我们的评估结果表明,对于SPEC CPU2006标准测试来说,运用三个优化技术后,构建MRC的平均开销从173%下降到只有2%。基于测得的当前的工作集大小(WSS),我们预测其近期的发展趋势并为不同的预测结果采取不同的内存分配调度策略,使本地主机上的物理内存量获得最大的资源利用率。