论文部分内容阅读
虚拟化技术已经在计算机研究领域和工业界得到广泛关注,凭借其对硬件资源利用率提高,附加维护成本降低等优势,虚拟化技术的相关研究和发展已经如火如荼。尤其在近年来云计算概念的提出为虚拟化技术的发展提供了更大动力支撑。学术界对于虚拟化技术的研究主要集中于新型设备虚拟化与效率,而对虚拟化平台的内存管理模型相对较少;而近年来出现的MMU Notifier机制则为内存虚拟化方面的研究打开一个新研究点,本文则对KVM虚拟化平台基于MMUNotifier机制所新产生的宿主换页机制进行了深入研究。历时近十八个月的研究工作中,本文围绕课题所开展的工作包括了从大量的环境配置,性能测试分析入手;并利用自主设计的内核采样工具进行系统采样,帮助分析和发现宿主换页机制的缺陷和性能瓶颈;最后分别针对相应的问题实现了相应的解决方案。就本文作者的知识范围所限,本文为第一个对宿主换页机制进行深入分析研究并提出和实现了相应问题的解决方案的文章。本文的主要的贡献和创新点表现在如下三个方面:首先,本文针对Hypervisor与客户操作系统之间页面信息不对称问题,提出并实现了多种页面信息同步机制,具体包括了直接锁定内存的Pirr-Memory机制,利用Guest页表的G-bit机制,PV-LRU以及动态跟踪机制,对于不同的测试和应用,各种方案表现出了不同的优势。其次,针对磁盘交换分区中空间局部性降低的问题,本文设计实现了自适应预读取机制,帮助宿主换页机制自适应地改变每次调页时的页面预读取数,在保证磁盘交换缓存命中的前提下充分减少磁盘IO访问次数,提高系统效率。最后,本文关注了宿主换页机制所引起的双重调页问题并实现了一个PV-Notifier机制。通过在Guest与Hypervisot之间建立共享内存,并由Hypervisor在宿主换页过程中通过共享内存发出通知,Guest根据通知对相应页面进行内存锁定和解锁处理,避免了Guest的页面回收进程对以换出的页面再次换页,从而避免了双重调页问题,使得系统性能和稳定性大幅提升。本文首先总体综述了虚拟化技术及其重要性,重点探讨了虚拟化技术在分类,硬件技术发展,内存管理模型等方面的研究现状和优缺点并引申出宿主换页机制。然后从体系架构和测试性能与分析上说明了该机制存在的三个方面的问题,同时就三个方面的问题提出了解决方案、相应测试结果展示了本文方法的性能优势与良好的可用性。