虚拟机环境下动态Cache划分技术研究与实现

虚拟机环境下动态Cache划分技术研究与实现

论文摘要

近年来,以共享片内Cache为特征的片上多处理器( Chip of Multiprocessors,CMPs)架构已被广泛应用于桌面计算机。服务器平台上,对提高计算机系统的性能起到了巨大的推动作用。借助虚拟化技术,多个用户能够充分共享CMP中集成的丰富计算资源,而且随着x86架构虚拟化的突破,虚拟化技术已被广泛应用于服务器整合。安全计算平台。内核调试与开发等多个领域。然而,现有的虚拟化系统多针对对称多处理器(SymmetricMultiprocessrors,SMPs)架构设计,移植到CMP架构后,多个虚拟机竞争共享缓存的问题变得非常严重,严重影响了整个系统的性能。因此,在虚拟化系统中,如何避免多个虚拟机之间的共享缓存竞争问题,充分发挥出CMP处理器架构的优势,已成为摆在研究者面前的一项新课题。现有的工作多采用静态Cache划分的方法来隔离多个虚拟机之间的共享缓存竞争。该方法存在很严重的缺点,即需要在虚拟机启动前手动分配Cache大小,并且该方法只能被动地实现性能隔离,无法主动利用程序的运行时特征来提高性能。本文在广泛深入研究虚拟机环境下二级缓存对应用程序影响的基础上,探索并提出了在CMP处理器平台下实现虚拟机动态Cache划分系统的方法,并取得了以下研究成果:(1)提出了虚拟机环境下面向二级缓存的应用程序运行时特征分类方法。以SPEC CPU2006程序集为例,研究了应用程序工作集与处理器缓存之间的关系,结合程序测试结果,依据程序的静态特征将其分为Cache敏感型。Cache污染型和Cache无关型三类;通过进一步研究程序运行时二级缓存失效率的变化,按程序的运行时特征将其分为颠簸型程序和平缓型程序两类。该分类方法为虚拟机环境下动态Cache划分算法的设计提供了理论依据。(2)设计并实现了虚拟机环境下动态Cache划分算法。该算法采用页面着色思想,通过约束虚拟机所能够访问的内存页面来实现Cache的隔离,并且能够依据程序对Cache的需求动态地调整虚拟机之间的Cache比例,在实现Cache隔离的同时提高虚拟化系统的性能。我们在Xen虚拟化系统上实现了该动态Cache划分算法,并以SPEC CPU2006为基础构建工作负载进行性能测试。实验结果表明,采用动态Cache划分方法后,系统性能比未划分情况下最高提高了5%,在颠簸型程序负载下,系统性能比静态Cache划分系统提高了7%。

论文目录

  • 摘要
  • Abstract
  • 第一章 绪论
  • 1.1 研究背景与意义
  • 1.1.1 多核结构的发展
  • 1.1.2 虚拟化技术的发展现状
  • 1.1.3 虚拟化技术的机遇和挑战
  • 1.2 主要工作与成果
  • 1.2.1 主要研究内容
  • 1.2.2 主要成果
  • 1.3 论文的结构与组织
  • 第二章 Xen 内存虚拟化技术
  • 2.1 内存寻址
  • 2.1.1 Xen 的分段机制
  • 2.1.2 Xen 的分页机制
  • 2.2 内存分配
  • 2.3 虚拟机内存管理
  • 2.3.1 伪物理内存模型
  • 2.3.2 M2P 表和P2M 表
  • 2.3.3 页框表
  • 2.4 虚拟地址转换
  • 2.4.1 直接模式
  • 2.4.2 影子页表
  • 2.5 小结
  • 第三章 虚拟机环境下应用程序分类策略
  • 3.1 SPEC CPU2006 基准程序集
  • 3.2 传统应用程序分类方法
  • 3.3 基于二级缓存的程序特征分类方法
  • 3.3.1 静态特征分类方法
  • 3.3.2 动态特征分类方法
  • 3.4 程序间缓存竞争与优化
  • 3.4.1 程序类型组合缓存竞争分析
  • 3.4.2 实验验证
  • 3.4.3 程序间缓存竞争优化
  • 3.5 小结
  • 第四章 虚拟机环境下动态Cache 划分策略
  • 4.1 静态Cache 划分方法
  • 4.1.1 修改LRU 替换策略
  • 4.1.2 列缓冲策略
  • 4.1.3 页面着色策略
  • 4.1.4 Cache 划分相关研究
  • 4.2 虚拟机环境下动态Cache 划分算法
  • 4.2.1 虚拟机环境下动态Cache 划分特点
  • 4.2.2 虚拟机环境下动态Cache 划分算法
  • 4.2.3 算法复杂度和开销分析
  • 4.3 虚拟机环境下动态Cache 划分模型框架
  • 4.3.1 程序运行时特征采集模块
  • 4.3.2 页面着色与分配模块
  • 4.3.3 着色页面动态替换模块
  • 4.4 小结
  • 第五章 虚拟机环境下动态Cache 划分实现
  • 5.1 程序运行时特征采集模块
  • 5.1.1 L2 Cache 失效率采集
  • 5.1.2 虚拟机失效率的捕获
  • 5.2 页面着色与分配模块
  • 5.2.1 页面着色器
  • 5.2.2 着色页面分配器
  • 5.3 着色页面动态替换模块
  • 5.3.1 颜色动态调整
  • 5.3.2 页面动态替换
  • 5.3.3 替换算法优化
  • 5.4 小结
  • 第六章 实验与评测
  • 6.1 实验环境
  • 6.1.1 软硬件环境
  • 6.1.2 工作负载
  • 6.2 实验结果与分析
  • 6.2.1 实验结果
  • 6.2.2 性能分析
  • 6.3 小结
  • 第七章 结论与展望
  • 7.1 工作总结
  • 7.2 工作展望
  • 致谢
  • 参考文献
  • 作者在学期间取得的学术成果
  • 相关论文文献

    标签:;  ;  ;  

    虚拟机环境下动态Cache划分技术研究与实现
    下载Doc文档

    猜你喜欢