当前位置:问答库>论文摘要

题目:Linux桌面环境下内存冗余优化方法的设计与实现

关键词:Linux;KSM;GKSM;内存去冗余;内存管理

  摘要


内存是现代操作系统的重要组成部分。操作系统追求能够高效地合理利用有限的内存资源。Linux kernel 2.6.32版本中的mm (memory manage)模块中KSM (kernel samepages merging)内核相同页面合并模块是随着云计算大数据发展而兴起的一种内存去冗余技术,KSM能够解决虚拟机集群里页面冗余的问题,能够很快速的对冗余页面进行合并,提高内存利用率。但KSM运用场景比较局限,例如Linux桌面环境场景就不适用。同时KSM的交互体验比较简陋,另外KSM自身的内存消耗和CPU占用也比较高。

本论文在深入理解KSM模块实现的基础上,对其进行优化创新,KSM的缺陷有三个方面,第一是应用场景局限,只适用于大冗余场景。第二是自身内存消耗和CPU占用过大。第三是内存态到内核态没有交互方式。本论文针对KSM的缺陷优化其算法和数据结构,由二级数据结构优化为三级数据结构,降低了程序自身的内存和CPU开销。创新实现GKSM,应用场景主要适用于Linux桌面环境,并制定全新的扫描机制,引入扫描采样系数等,使其能够在Linux桌面环境下高效地消除冗余内存页面。另外,原来的KSM扫描算法不考虑程序冗余页面的数量,一味地依次线性全局扫描内存页面。从实际情况考虑,一般的Linux桌面应用程序并没有大量的冗余页面。在冗余页面非常少的情况下,一味的对桌面程序运用KSM技术非但没有提高虚拟内存利用率,而且因为运行KSM模块本身所需内存而增加了内存开销。本论文在KSM的基础上进行了优化创新核心扫描算法。使得GKSM应用场景更为广泛,同时还降低了程序本身的内存消耗和CPU占用。此外还创新了从用户态到内核态的交互机制,可让用户灵活指定内存页面扫描区域。

论文最后章节是Linux桌面环境下运行常用应用程序验证了GKSM 的实际效果,并且展现了多个比较KSM和GKSM的性能对比实验结果。实验从内存占用随时间的变化,内存节省的比例等多方面进行对比。实验结果证明了GKSM自身的内存消耗和CPU占用非常小。GKSM的应用场景广泛,不但适用于大冗余场景下,在Linux桌面环境下也能很好的消除冗余。今后还需继续优化算法,使得GKSM应用场景更广、效率更高。