[发明专利]一种内存冗余消除方法有效
申请号: | 201210171790.0 | 申请日: | 2012-05-29 |
公开(公告)号: | CN102722452A | 公开(公告)日: | 2012-10-10 |
发明(设计)人: | 夏耐 | 申请(专利权)人: | 南京大学 |
主分类号: | G06F12/12 | 分类号: | G06F12/12 |
代理公司: | 江苏圣典律师事务所 32237 | 代理人: | 胡建华 |
地址: | 210046 江苏省南*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 内存 冗余 消除 方法 | ||
技术领域
本发明涉及一种计算机系统优化领域,特别是采用RAM(Random Access Memory)的计算机的内存冗余消除方法。
背景技术
随着内存芯片技术的不断发展,当代计算机系统所装备的内存越来越多,内存当中存储的内容也越来越丰富。然而,云计算等技术的兴起使得计算机系统当中的内存相对于硬盘来说,仍然是一种稀缺资源。已有的操作系统采用了共享内存,进程创建时的写时拷贝(Copy-On-Write)等技术来节约内存,但是仍然有相当多的内存区域中包含了相同的内容造成了内存中数据的冗余。这些冗余的内容来源于不同的磁盘块,或者不同的应用程序,因此是传统的计算机系统内存技术无法解决的难题。作为例子之一,就是在云计算中大量使用的虚拟化技术:在一台拥有很多个虚拟机的物理机器当中,不同虚拟机之间的内存往往是来自类似的应用程序,因此可能拥有很高的冗余度。如何高效合理地解决内存冗余的问题就被提上了日程。
发明内容
发明目的:本发明所要解决的技术问题是针对现有技术的不足,提供一种内存冗余消除方法。
为了解决上述技术问题,本发明公开了一种内存冗余消除方法,包括以下步骤:
步骤1,将计算机内存划分成不同的区域块,选择其中一个区域块,初始化查找数据结构;
步骤2,采用加密的哈希函数或者非加密的哈希函数,计算当前选择区域块的全部内容或者部分内容的哈希值作为当前选择区域块的哈希值;
步骤3,从查找数据结构中,查找是否有其他区域块的哈希值与步骤2中区域块的哈希值相同;
步骤4,如果是,则判定两个区域块为高概率相同,转至步骤6,否则转至步骤5;
步骤5,将此区域块以及哈希值加入查找数据结构,转至步骤10;
步骤6,如果步骤2中采用加密哈希函数,并且哈希函数计算的是区域块的全部内容,则转至步骤8,否则转至步骤7;
步骤7,比较这两个区域块的内容是否完全相同,如果完全相同,进行步骤8,否则转至步骤10;
步骤8,用一个区域块替换另一个区域块,并更改被替换的区域块的索引的访问权限,进行步骤9;
步骤9,释放被替换索引的区域块;
步骤10,从剩余区域块中选择一区域块,并返回步骤2,直到所有区域块遍历完毕。
本发明中,进一步地,步骤1中所述将计算机内存划分成不同的区域块采用物理内存页框划分法、操作系统映射内存块划分法(包括堆、栈、mmap操作返回区域)以及虚拟化技术管理内存块划分法中的任意一种(其划分的粒度从小到大),划分的依据视实施者对其具体实施的场景中可能出现冗余的粒度的预估计而定,如实施者对可能的冗余粒度估计不足,则缺省可采用最小粒度的物理内存页框划分法。
本发明中,步骤3中数据结构为哈希表或者查找树。。
本发明中,步骤8中的索引为指针,数组下标或者虚拟内存页表项中的任意一种。
本发明中,步骤8中原来的索引访问权限更改为写时拷贝。
本发明使用汇编语言、C语言或者C++语言均可实现。
本发明与背景技术相比,具有的有益效果是:
1)内存使用效率的提高。本发明的方法能发现现有技术不能处理的内存冗余,通过冗余的消除,进一步提高了内存的使用效率。随着云计算的推广,内存的冗余程度会越来越高,本方法的优势也将越来越明显。
2)实施的灵活性。本发明的方法能适用于不同的内存冗余粒度,能应用不同的类型的Hash函数(对加密或者非加密Hash函数做了区别考虑),具有现有技术没有的实施灵活性,在实施者比较清楚自己平台特性的基础上,实施更有灵活性,能够挖掘更多的平台相关的潜在效率。
附图说明
下面结合附图和具体实施方式对本发明做更进一步的具体说明,本发明的上述和/或其他方面的优点将会变得更加清楚。
图1是本发明内存冗余消除方法的流程图。
图2是查找数据结构为Hash表结构方式。
图3是查找数据结构为查找树结构方式。
图4是操作系统映射内存块的结构图。
具体实施方式
如图1所示,本发明公开了一种内存冗余消除方法,包括以下步骤:
步骤1,内存区域块的划分与选择,初始化查找数据结构。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京大学,未经南京大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210171790.0/2.html,转载请声明来源钻瓜专利网。
- 上一篇:充电装置和车辆设备
- 下一篇:水刺无纺布壁纸及其生产方法