X86平台的设备虚拟化技术的研究 ——设计、改进及应用

X86平台的设备虚拟化技术的研究 ——设计、改进及应用

论文摘要

近年来,平台虚拟化技术成为了国内外计算机领域的研究热点。服务器合并、网络安全、数据保护、高性能计算和可信计算等方面的应用对平台虚拟化技术的性能、安全可靠性和可伸缩性有了更高的要求。其中,设备虚拟化技术中所关注的一些关键问题包括性能、安全性和实现的难易程度等。首先,在研究当前设备虚拟化技术的基础上,本文提出并实现了一种基于设备模拟模型的显示设备加速方案。该方案使虚拟机可以直接访问其显示设备MMIO空间,同时结合内存虚拟化模块,进行显示设备MMIO空间访问状态追踪,生成显示设备MMIO空间修改位图(Dirty Bitmap),显示设备模拟模块根据这一修改位图进行虚拟机屏幕部分区域重绘。为了测试该优化方案,因此设计了一套专用测试系统,并进行了对比性的测试。测试结果表明,该方案有利于提高系统性能,缓解了系统I/O瓶颈,并增强了系统可伸缩性。第二,现有的设备虚拟化模型中,模拟模型和泛虚拟化模型均存在着许多不足,前者性能损失严重,后者需要修改客户操作系统。为了更进一步地满足应用领域对设备性能的需要,在研究X86平台上的硬件IOMMU特性的基础上,提出了一种基于Xen的通用I/O设备直接分配模型的设计实现方案。该方案将一个物理I/O设备分配给一个虚拟机,使其可以与设备进行直接的数据交换,包括虚拟机中的客户操作系统进行MMIO访问和被分配的设备进行DMA操作。设备直接分配模型无需修改客户操作系统,并且大大提高了系统性能及设备数据交换安全性。这是本文最重要的贡献之一。第三,将设备虚拟化模型应用于显示设备、网络设备和USB存储设备等实例中。在设计实现显示设备直接分配模型中,提出了处理设备自带BIOS的解决方案。然后,采用不同的测试方案,对上述三种设备虚拟化实现分别进行了对比性的测试。其性能评测结果表明,直接分配模型的性能十分接近于非虚拟化环境,远远超过设备模拟模型。设备直接分配模型,无需修改虚拟机内的客户操作系统或驱动,降低了软件复杂度,性能大大优于传统的虚拟化模型,利用硬件IOMMU保障系统安全性,成为目前的发展趋势。最后,本文对设备虚拟化技术发展方向进行了展望,提出了一个基于设备自我虚拟化技术的设备虚拟化模型架构。拥有自我虚拟化功能的设备,提供多套独立的控制接口,每一套接口可被分配给一个虚拟机并由其直接控制。

论文目录

  • 摘要
  • ABSTRACT
  • 第一章 绪论
  • 1.1 研究背景
  • 1.1.1 虚拟化
  • 1.1.2 虚拟机和虚拟机监控器
  • 1.1.3 虚拟化技术的分类
  • 1.1.4 虚拟化技术的应用
  • 1.2 研究意义及目的
  • 1.3 国内外研究现状
  • 1.3.1 采用指令流补丁技术的VMware
  • 1.3.2 高性能的虚拟机系统Xen
  • 1.3.3 分布式虚拟机系统Virtual Iron
  • 1.3.4 最新外硬件虚拟化进展
  • 1.4 论文的主要工作及创新点
  • 1.5 论文的组织结构
  • 第二章 背景知识介绍
  • 2.1 虚拟机系统架构
  • 2.1.1 宿主机模型架构
  • 2.1.2 独立监控器模型架构
  • 2.1.3 混合模型架构
  • 2.2 X86 平台上处理器硬件虚拟化
  • 2.3 设备虚拟化的要求
  • 2.4 主流设备虚拟化模型
  • 2.4.1 模拟模型
  • 2.4.2 泛虚拟化模型
  • 2.4.3 基于IOVM 架构的泛虚拟化设备模型
  • 2.5 Xen 相关介绍
  • 2.5.1 服务管理接口
  • 2.5.2 事件通道机制
  • 2.5.3 虚拟设备模型
  • 2.5.3.1 泛虚拟化模型
  • 2.5.3.2 模拟模型
  • 2.5.4 内存虚拟化
  • 2.5.4.1 地址转换关系
  • 2.5.4.2 影子页表
  • 2.5.4.3 Hypervisor 地址空间分布
  • 2.5.4.4 HVM 域地址空间分页
  • 2.6 本章知识小结
  • 第三章 加速显示设备模拟模型
  • 3.1 基于 Xen 的设备模拟模型
  • 3.2 改进方案设计思想
  • 3.2.1 直接MMIO 空间访问
  • 3.2.2 全更新策略
  • 3.2.3 基于内容比较的更新策略
  • 3.2.4 Hypervisor 辅助的优化方案
  • 3.3 显示设备加速方案设计与实现
  • 3.3.1 Hypervisor 端
  • 3.3.1.1 相关服务调用接口
  • 3.3.1.2 VRAM 相关控制结构
  • 3.3.1.3 重要服务例程
  • 3.3.2 设备模型(Qemu)端
  • 3.3.2.1 相关数据结构和例程
  • 3.3.2.2 服务调用(Hypercall) 的接口
  • 3.4 进一步优化
  • 3.5 性能评测及分析
  • 3.5.1 测试方案设计
  • 3.5.2 测试结果及分析
  • 3.6 本章小结
  • 第四章 设备直接分配模型设计及实现
  • 4.1 设计思想
  • 4.1.1 设备直接分配模型
  • 4.1.2 高效及安全性考虑
  • 4.1.3 IOMMU 和Vt-d
  • 4.2 总体架构
  • 4.3 IOMMU 设备初始化
  • 4.4 设备分配
  • 4.4.1 Hypervisor 中设备直接分配管理模块
  • 4.4.2 Stub 设备模块
  • 4.5 PCI 配置空间访问
  • 4.6 I/O 虚拟化
  • 4.6.1 端口映射I/O
  • 4.6.1.1 指令截获及指令解析
  • 4.6.1.2 虚拟端口资源管理
  • 4.6.1.3 I/O 虚拟化处理流程及相关例程
  • 4.6.2 内存映射I/O
  • 4.6.2.1 P2M 表的设置
  • 4.6.2.2 相关例程
  • 4.7 中断虚拟化
  • 4.8 本章小结
  • 第五章 典型应用及性能评测
  • 5.1 显卡直接分配模型的实现
  • 5.1.1 VGA BIOS 虚拟化处理
  • 5.1.2 I/O 虚拟化实现
  • 5.1.3 虚拟机空间配置
  • 5.1.4 性能评测
  • 5.2 网络设备和USB 存储设备直接分配模型性能评测
  • 5.3 安全性的保障
  • 5.4 本章小结
  • 第六章 结论与展望
  • 6.1 结论
  • 6.2 虚拟化技术发展趋势
  • 致谢
  • 参考文献
  • 攻硕期间取得的研究成果
  • 相关论文文献

    • [1].基于X86架构的分布式技术设计及实现方法[J]. 自动化与仪器仪表 2017(04)
    • [2].x86指令集兼容处理器中微指令的设计与验证[J]. 西北工业大学学报 2010(02)
    • [3].x86汇编语言多任务虚拟机的设计与实现[J]. 现代计算机(专业版) 2011(07)
    • [4].创新产品研发中用户体验的传递路径与方法——以基于X86架构的超微型无线智能鼠标主机研发为例[J]. 中国新通信 2016(06)
    • [5].基于X86的分布式存储的数据库平台架构[J]. 控制工程 2020(02)
    • [6].基于X86平台的简单多任务内核的分析与实现[J]. 物联网技术 2013(12)
    • [7].X86酷睿2双核平台将人工智能引入安防[J]. 电子设计技术 2009(11)
    • [8].基于国产X86处理器的异构计算平台构建及敏感数据保护[J]. 计算机科学 2015(S2)
    • [9].X86平台操作系统引导技术研究与实现[J]. 南京晓庄学院学报 2011(06)
    • [10].移动端上的X86与AMR[J]. 企业导报 2015(03)
    • [11].X86平台防火墙SNMP代理设计与研究[J]. 计算机与现代化 2010(06)
    • [12].兼容X86指令的32位乘法器的分析与设计[J]. 计算机应用研究 2008(04)
    • [13].“松耦合”的判决 遵义市商业银行拥抱x86弃小机[J]. 科技浪潮 2011(05)
    • [14].基于X86平台的嵌入式Linux操作系统[J]. 电脑编程技巧与维护 2011(14)
    • [15].基于x86体系下VxWorks环境中两种屏蔽中断挂接的区别[J]. 科技信息 2009(11)
    • [16].电力ERP系统基于X86架构的分布式数据库技术研究[J]. 电子技术与软件工程 2020(13)
    • [17].基于X86平台的编译器性能优化[J]. 西南民族大学学报(自然科学版) 2020(01)
    • [18].基于Proteus的X86中断仿真异常问题探究和对策[J]. 实验室研究与探索 2015(08)
    • [19].x86结构下的多视点裸眼立体显示实时合成并行算法研究[J]. 液晶与显示 2016(11)
    • [20].面向X86多核处理器的数据流程序任务调度与缓存优化[J]. 中国科学技术大学学报 2016(03)
    • [21].一种基于X86的任务并行弱口令核查系统[J]. 信息通信 2016(04)
    • [22].基于x86体系结构处理器的VME主控模块设计[J]. 声学技术 2013(02)
    • [23].面向X86架构的eCos操作系统[J]. 微计算机信息 2012(07)
    • [24].一种基于x86架构的大容量车载数据存储设备[J]. 控制与信息技术 2018(02)
    • [25].业界十大热门x86服务器虚拟化方案四维度分析评估[J]. 通信世界 2017(25)
    • [26].x86服务器虚拟化平台性能测试[J]. 计算机与现代化 2014(02)
    • [27].低功耗X86指令译码部件的设计与实现[J]. 航空计算技术 2020(05)
    • [28].X86机架服务器探究[J]. 计算机产品与流通 2019(11)
    • [29].浅谈民用级X86处理器性能发展趋势[J]. 科技创新与应用 2017(05)
    • [30].x86铸就北汽集团转型升级之路[J]. 个人电脑 2016(11)

    标签:;  ;  ;  

    X86平台的设备虚拟化技术的研究 ——设计、改进及应用
    下载Doc文档

    猜你喜欢