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

上传人:E**** 文档编号:117027986 上传时间:2019-11-18 格式:PDF 页数:90 大小:3.62MB
返回 下载 相关 举报
虚拟机环境下动态cache划分技术研究与实现_第1页
第1页 / 共90页
虚拟机环境下动态cache划分技术研究与实现_第2页
第2页 / 共90页
虚拟机环境下动态cache划分技术研究与实现_第3页
第3页 / 共90页
虚拟机环境下动态cache划分技术研究与实现_第4页
第4页 / 共90页
虚拟机环境下动态cache划分技术研究与实现_第5页
第5页 / 共90页
点击查看更多>>
资源描述

《虚拟机环境下动态cache划分技术研究与实现》由会员分享,可在线阅读,更多相关《虚拟机环境下动态cache划分技术研究与实现(90页珍藏版)》请在金锄头文库上搜索。

1、 分类号 TP315 学号 09061117 密级 公 开 工学硕士学位论文 虚拟虚拟机机环境环境下动态下动态 Cache 划分技术划分技术 研究与实现研究与实现 硕士生姓名 李家文 学 科 专 业 计算机科学与技术 研 究 方 向 计算机系统结构 指 导 教 师 沈 立 副教授 国防科学技术大学研究国防科学技术大学研究生院生院 二二一一一一年年十一十一月月 论文书脊论文书脊 (此页只是书脊样式,学位论文不需要印刷本页。 ) 虚 拟 机 环 境 下 动 态 Cache 划 分 技 术 研 究 与 实 现 国 防 科 学 技 术 大 学 研 究 生 院 Investigate and Imple

2、ment Dynaimc Cache Partitioning in Virtual Machine Environment Candidate:Li Jiawen Supervisor:Associate Prof. Shen Li A thesis Submitted in partial fulfillment of the requirements for the degree of Master of Engineering in Computer Science and Technology Graduate School of National University of Def

3、ense Technology Changsha,Hunan,P.R.China November,2011 国防科学技术大学研究生院工学硕士学位论文 第 I 页 目目 录录 摘 要 . i Abstract iii 第一章 绪论 . 1 1.1 研究背景与意义 1 1.1.1 多核结构的发展 . 1 1.1.2 虚拟化技术的发展现状 . 2 1.1.3 虚拟化技术的机遇和挑战 . 4 1.2 主要工作与成果 5 1.2.1 主要研究内容 . 5 1.2.2 主要成果 . 6 1.3 论文的结构与组织 7 第二章 Xen 内存虚拟化技术 8 2.1 内存寻址 9 2.1.1 Xen 的分段机制

4、 10 2.1.2 Xen 的分页机制 10 2.2 内存分配 12 2.3 虚拟机内存管理 13 2.3.1 伪物理内存模型 . 13 2.3.2 M2P 表和 P2M 表 . 14 2.3.3 页框表 . 15 2.4 虚拟地址转换 16 2.4.1 直接模式 . 16 2.4.2 影子页表 . 17 2.5 小结 18 第三章 虚拟机环境下应用程序分类策略 19 3.1 SPEC CPU2006 基准程序集 20 3.2 传统应用程序分类方法 21 3.3 基于二级缓存的程序特征分类方法 22 3.3.1 静态特征分类方法 . 23 3.3.2 动态特征分类方法 . 28 国防科学技术大

5、学研究生院工学硕士学位论文 第 II 页 3.4 程序间缓存竞争与优化 30 3.4.1 程序类型组合缓存竞争分析 . 30 3.4.2 实验验证 . 31 3.4.3 程序间缓存竞争优化 . 32 3.5 小结 33 第四章 虚拟机环境下动态 Cache 划分策略 . 34 4.1 静态 Cache 划分方法 34 4.1.1 修改 LRU 替换策略 . 34 4.1.2 列缓冲策略 . 35 4.1.3 页面着色策略 . 36 4.1.4 Cache 划分相关研究 . 38 4.2 虚拟机环境下动态 Cache 划分算法 39 4.2.1 虚拟机环境下动态 Cache 划分特点 . 39

6、4.2.2 虚拟机环境下动态 Cache 划分算法 . 40 4.2.2 算法复杂度和开销分析 . 42 4.3 虚拟机环境下动态 Cache 划分模型框架 43 4.3.1 程序运行时特征采集模块 . 44 4.3.2 页面着色与分配模块 . 45 4.3.3 着色页面动态替换模块 . 45 4.4 小结 46 第五章 虚拟机环境下动态 Cache 划分实现 . 47 5.1 程序运行时特征采集模块 47 5.1.1 L2 Cache 失效率采集 . 48 5.1.2 虚拟机失效率的捕获 . 49 5.2 页面着色与分配模块 50 5.2.1 页面着色器 . 50 5.2.2 着色页面分配器

7、 . 51 5.3 着色页面动态替换模块 53 5.3.1 颜色动态调整 . 53 5.3.2 页面动态替换 . 57 5.3.3 替换算法优化 . 59 5.4 小结 60 第六章 实验与评测 61 国防科学技术大学研究生院工学硕士学位论文 第 III 页 6.1 实验环境 61 6.1.1 软硬件环境 . 61 6.1.2 工作负载 . 61 6.2 实验结果与分析 62 6.2.1 实验结果 . 62 6.2.2 性能分析 . 64 6.3 小结 66 第七章 结论与展望 67 7.1 工作总结 67 7.2 工作展望 68 致 谢 69 参考文献 70 作者在学期间取得的学术成果 74

8、 国防科学技术大学研究生院工学硕士学位论文 第 IV 页 表表 目目 录录 表 2.1 M2P 表结构 14 表 3.1 CINT2006 测试程序 . 20 表 3.2 CFP2006 测试程序 . 21 表 3.3 实验环境 . 23 表 3.4 CINT2006 L2 Cache 失效率 24 表 3.5 CFP2006 L2 Cache 失效率 24 表 3.6 CINT2006 执行性能提升 . 25 表 3.7 CFP2006 执行性能提升 . 25 表 3.8 SPEC CPU2006 基准程序静态特征分类 28 表 3.9 SPEC CPU2006 基准程序动态特征分类 30

9、表 3.10 工作负载 . 31 表 4.1 三种划分方法比较 . 37 表 6.1 实验软硬件环境 . 61 表 6.2 部分测试程序 . 62 表 6.3 工作负载 . 62 国防科学技术大学研究生院工学硕士学位论文 第 V 页 图图 目目 录录 图 2.1 Xen 逻辑结构 . 8 图 2.2 内存地址转换 . 9 图 2.3 64 位 x86 四级页表模型结构定义 11 图 2.4 各级页表数据结构定义 . 11 图 2.5 伪物理内存模型 . 13 图 2.6 地址转换 . 14 图 2.7 p2m_domain 结构体定义 . 15 图 2.8 page_info 结构体定义 16

10、 图 2.9 直接模式下对页表项的读/写操作 17 图 2.10 传统操作系统与影子页表比较 . 18 图 3.1 传统应用程序分类 . 22 图 3.2 CINT2006 测试程序 L2 Cache 失效率 . 26 图 3.3 CFP2006 测试程序 L2 Cache 失效率 . 26 图 3.4 CINT2006 测试程序性能提升 . 27 图 3.5 CFP2006 测试程序性能提升 . 27 图 3.6 测试程序 bzip2 在 1MB 二级缓存下运行时 L2 Cache 失效率 28 图 3.7 测试程序 dealII 在 1MB 二级缓存下运行时 L2 Cache 失效率 29

11、 图 3.8 测试程序 lbm 在 1MB 二级缓存下运行时 L2 Cache 失效率 . 29 图 3.9 不同类型程序缓存竞争 . 32 图 4.1 修改 LUR 替换策略实现 Cache 划分 . 35 图 4.2 列缓冲策略实现 Cache 划分 . 35 图 4.3 页面着色实现 Cache 划分 . 36 图 4.5 静态 Cache 划分系统框架 . 38 图 4.6 动态颜色调整算法 . 41 图 4.7 颜色页面动态替换 . 42 图 4.8 虚拟机环境下动态 Cache 划分系统总体结构 . 43 图 4.9 动态 Cache 划分系统程序特征采集模块 . 44 图 4.1

12、0 动态 Cache 划分系统页面着色与分配模块 . 45 图 4.11 动态 Cache 划分系统页面动态替换模块 . 46 图 5.1 程序特征采集器结构图 . 48 图 5.2 L2 Cache 失效率采集过程 49 图 5.3 页面着色与分配模块结构图 . 50 国防科学技术大学研究生院工学硕士学位论文 第 VI 页 图 5.4 内存页面着色 . 51 图 5.5 着色页面分配流程 . 52 图 5.6 动态 Cache 划分算法实现流程 . 54 图 5.7 虚拟机 Cache 失效率优先级队列 . 55 图 5.8 虚拟机的创建和关闭 . 56 图 5.9 虚拟机颜色分配流程 .

13、56 图 5.10 虚拟机颜色调整流程 . 57 图 5.11 动态页面替换流程 . 58 图 5.12 页面替换优化流程 . 59 图 6.1 三种情况下工作负载平均加速比 . 63 图 6.2 三种情况下工作负载总的 L2 Cache 失效率 . 63 图 6.3 未划分情况下 L2 Cache 失效率 . 64 图 6.4 静态划分情况下 L2 Cache 失效率 . 65 图 6.5 动态划分情况下 L2 Cache 失效率 . 65 国防科学技术大学研究生院工学硕士学位论文 第 i 页 摘摘 要要 近 年 来 , 以 共 享 片 内 Cache 为 特 征 的 片 上 多 处 理 器

14、 ( Chip of Multiprocessors,CMPs)架构已被广泛应用于桌面计算机、服务器平台上,对 提高计算机系统的性能起到了巨大的推动作用。借助虚拟化技术,多个用户能 够充分共享 CMP 中集成的丰富计算资源,而且随着 x86 架构虚拟化的突破, 虚拟化技术已被广泛应用于服务器整合、安全计算平台、内核调试与开发等多 个领域。然而,现有的虚拟化系统多针对对称多处理器(Symmetric Multiprocessrors,SMPs)架构设计,移植到 CMP 架构后,多个虚拟机竞争共 享缓存的问题变得非常严重,严重影响了整个系统的性能。因此,在虚拟化系 统中,如何避免多个虚拟机之间的共

15、享缓存竞争问题,充分发挥出 CMP 处理 器架构的优势,已成为摆在研究者面前的一项新课题。 现有的工作多采用静态 Cache 划分的方法来隔离多个虚拟机之间的共享缓 存竞争。该方法存在很严重的缺点,即需要在虚拟机启动前手动分配 Cache 大 小,并且该方法只能被动地实现性能隔离,无法主动利用程序的运行时特征来 提高性能。 本文在广泛深入研究虚拟机环境下二级缓存对应用程序影响的基础上,探 索并提出了在 CMP 处理器平台下实现虚拟机动态 Cache 划分系统的方法,并 取得了以下研究成果: (1)提出了虚拟机环境下面向二级缓存的应用程序运行时特征分类方法。 以 SPEC CPU2006 程序集

16、为例,研究了应用程序工作集与处理器缓存之间的关 系,结合程序测试结果,依据程序的静态特征将其分为 Cache 敏感型、Cache 污染型和 Cache 无关型三类;通过进一步研究程序运行时二级缓存失效率的变 化,按程序的运行时特征将其分为颠簸型程序和平缓型程序两类。该分类方法 为虚拟机环境下动态 Cache 划分算法的设计提供了理论依据。 (2)设计并实现了虚拟机环境下动态 Cache 划分算法。该算法采用页面 着色思想,通过约束虚拟机所能够访问的内存页面来实现 Cache 的隔离,并且 能够依据程序对 Cache 的需求动态地调整虚拟机之间的 Cache 比例,在实现 Cache 隔离的同时提高虚拟化系统的性能。 我们在 Xen 虚拟化系统上实现了该动态 Cache 划分算法,并以 SPEC CPU2006 为基础构建工作负载进行性能测试。实验结果表明,采用动态 Cache 划分方法后,系统性能比未划分情况下最高提高了 5%,在颠簸型程序负载下, 系统性能比静态

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 其它办公文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号