使用相似性保留签名的集群范围的内存管理制造技术

技术编号:13992170 阅读:100 留言:0更新日期:2016-11-13 23:36
一种方法,包括在包括运行客户端(32)的一个或多个计算节点(24)的计算系统(20)中,定义内存块,每个内存块包括由相应的客户端访问的多个内存页。计算内存块中的一个或多个内存块的相应的相似性保留签名。基于相似性保留签名,作出第一内存块和第二内存块以至少预定义的可能性在内容上相差不超过预定义的数量的内存页的识别。提高对所识别的第一内存块和第二内存块的访问的效率。

【技术实现步骤摘要】
【国外来华专利技术】相关申请的交叉引用本申请要求提交于2014年4月3日的美国临时专利申请61/974,475的权益,其公开内容通过引用并入本文。专利
本专利技术大体上涉及计算系统,并且具体地涉及用于计算系统中的内存管理的方法和系统。专利技术概述本文描述的本专利技术的实施例提供了一种方法,该方法包括在包括运行客户端的一个或多个计算节点的计算系统中,定义内存块,每个内存块包括由相应的客户端访问的多个内存页。计算内存块中的一个或多个内存块的相应的相似性保留签名。基于相似性保留签名,识别第一内存块和第二内存块以至少预定义的可能性在内容上相差不超过预定义的数量的内存页。提高对所识别的第一内存块和第二内存块的访问的效率。在一些实施例中,计算内存块的相似性保留签名包括计算在内存块的相应的内存页上的一组页签名。识别第一内存块和第二内存块以至少预定义的可能性在内容上相差不超过预定义的数量的内存页可以包括识别第一内存块和第二内存块的相似性保留签名相差不超过给定数量的页签名。在一些实施例中,提高访问的效率包括在第一内存块和第二内存块中查找相应具有相同内容的第一内存页和第二内存页,并且对第一内存页和第二内存页删除重复。查找具有相同内容的第一内存页和第二内存页可以包括将在第一内存页和第二内存页上计算的相应的第一哈希值和第二哈希值进行比较。在实施例中,提高访问的效率包括将分别访问第一内存块和第二内存块的第一客户端和第二客户端放置在相同的计算节点上。在替换的实施例中,提高访问的效率包括将分别访问第一内存块和第二内存块的第一客户端和第二客户端放置在计算系统中彼此拓扑地相邻的第一计算节点和第二计算节点上。在另一个实施例中,提高访问的效率包括在相同的计算节点上或在计算系统中彼此拓扑地相邻的第一计算节点和第二计算节点上放置第一内存块和第二内存块。在又一个实施例中,定义内存块包括将内存页分类为活动内存页和非活动内存页,并且在内存块中只包括非活动内存页。根据本专利技术的实施例,本专利技术另外提供了一种计算系统,所述计算系统包括一个或多个计算节点,该计算节点包括相应的内存和相应的处理器。处理器被配置为运行访问存储在内存中的内存页的客户端,定义内存块,每个内存块包括由相应的客户端访问的多个内存页,计算内存块中的一个或多个内存块的相应的相似性保留签名,基于相似性保留签名,识别第一内存块和第二内存块以至少预定义的可能性在内容上相差不超过预定义的数量的内存页,并且提高对所识别的第一内存块和第二内存块的访问的效率。根据本专利技术的实施例,本专利技术还提供了一种计算机软件产品,该产品包括其中存储程序指令的有形非暂时性计算机可读介质,所述指令当由相应的计算节点的一个或多个处理器读取时促使处理器运行访问存储在计算节点的内存中的内存页的客户端,定义内存块,每个内存块包括由相应的客户端访问的多个内存页,计算内存块中的一个或多个内存块的相应的相似性保留签名,基于相似性保留签名,识别第一内存块和第二内存块以至少预定义的可能性在内容上相差不超过预定义的数量的内存页,并且提高对所识别的第一内存块和第二内存块的访问的效率。根据结合附图进行的本专利技术的实施例的以下详细描述,本专利技术将被更完全地理解,其中:附图简述图1是根据本专利技术的实施例示意性示出计算系统的框图;图2是根据本专利技术的实施例示意性示出内存管理的数据结构的图;图3是根据本专利技术的实施例示意性示出用于内存删除重复的方法的流程图;以及图4是根据本专利技术的实施例示意性示出用于虚拟机放置的方法的流程图。具体实施方式概述本文所描述的本专利技术的实施例提供用于管理计算系统中的内存资源的改进的方法和系统。在所公开的实施例中,计算系统包括运行客户端(例如,应用程序、虚拟机(VM)或操作系统进程)的一个或多个计算节点。内存空间通常被划分为被称为内存页的大小相等的单元。客户端通过定位合适的内存页或页并且访问其中存储的内容来访问存储在内存中的内容。客户端可以访问在相同节点上或在其他节点上存储的内存页。系统识别其中不同的客户端访问内存页的组或范围(在本文中被称为块)的情况,该内存页在内容中彼此相似。例如,该系统可以使各种事件相关联并且识别其中客户端访问内存页的组或范围的模式。通过适当的聚类,系统能够提高存储效率和整体性能。例如,系统可以对属于不同的块但具有相同内容的内存页删除重复,或者将使用相似内存块的客户端重定位到相同的计算节点或附近的节点。每个存储块包括由某个客户端使用的不一定连续的多个内存页。如果内存块以至少一定的可能性可能在内容中相差不超过预定义的数量的内存页,内存块通常被认为是相似的。为了识别相似的内存块,系统计算并且存储关于每个内存块的各自的块签名,该块签名保留相似特性。在一个实施例中,块签名包括在块的各自内存页上计算的短页签名的列表。如果它们的块签名(页签名列表)可能相差不超过给定数量的页签名,块被认为是相似的。在典型的实施例中,除了用于识别具有相同内容的内存页之间的精确匹配的机制,实施块相似性机制。例如,该系统可以计算并且存储每个内存页上的各自的哈希值(不要与是块签名的部分的页签名混淆)。在示例的删除重复过程中,该系统可以首先识别相似的内存块(使用块签名),并且然后在相似的块之内(使用哈希值)搜索要被删除重复的相同的内存页。在该删除重复过程中,块相似性机制被用作识别可能包含大量的重复内存页的内存范围的快速的且在计算上有效的方式。所公开的删除重复过程是高度可伸缩的并且可以在系统的各个层次处执行,例如,给定的VM的应用程序或进程之间,在给定的计算节点上的VM之内或者在整个计算节点集群中。因此,本文描述的方法和系统尤其是在大型计算节点集群中有利的,该大型计算节点集群的总内存大小为数百万亿字节或更多的数量级。然而,所公开的技术也适用于小型计算系统。系统描述图1是根据本专利技术的实施例示意性示出计算系统20的框图,该计算系统20包括多个计算节点24的集群。系统20可以包括,例如,数据中心、云计算系统、高性能计算(HPC)系统或任何其他合适的系统。计算节点24(为简洁起见简称为“节点”)通常包括服务器,但可替换地包括任何其他合适类型的计算节点。系统20可以包括相同类型的或不同类型的任何合适数量的节点。在一些公开的技术中,系统甚至可以包括单个计算节点。节点24是通过通信网络28(通常是局域网(LAN))连接的。网络28可以根据任何合适的网络协议(诸如,以太网或Infiniband)操作。每个节点24包括中央处理单元(CPU)44,也被称为处理器。根据计算节点的类型,CPU44可以包括多个处理核心和/或多个集成电路(IC)。不管具体的节点配置,节点的处理电路在本文中总体上被认为是节点CPU。每个节点24还包括内存40(通常是易失性随机存取存储器(RAM))以及用于与网络28进行通信的网络接口卡(NIC)48。一些节点24可以包括非易失性存储设备,诸如磁硬盘驱动器-HDD或固态-SSD(未在图中示出)。通常,每个节点24运行一个或多个客户端。在本示例中,客户端包括虚拟机(VM)32,通过虚拟机管理器36向虚拟机(VM)32分配节点的物理资源(例如,CPU、内存和网络资源)。可替换地,然而,客户端可以包括例如,用户应用程序、操作系统进程或容器、或者任何其它合适类型的客户端。为了清楚起本文档来自技高网...

【技术保护点】
一种方法,包括:在包括运行客户端的一个或多个计算节点的计算系统中,定义内存块,每个内存块包括由相应的客户端访问的多个内存页;计算关于所述内存块中的一个或多个内存块的相应的相似性保留签名;基于所述相似性保留签名,识别第一内存块和第二内存块以至少预定义的可能性在内容上相差不超过预定义的数量的内存页;以及提高对所识别的第一内存块和第二内存块的访问的效率。

【技术特征摘要】
【国外来华专利技术】2014.04.03 US 61/974,4751.一种方法,包括:在包括运行客户端的一个或多个计算节点的计算系统中,定义内存块,每个内存块包括由相应的客户端访问的多个内存页;计算关于所述内存块中的一个或多个内存块的相应的相似性保留签名;基于所述相似性保留签名,识别第一内存块和第二内存块以至少预定义的可能性在内容上相差不超过预定义的数量的内存页;以及提高对所识别的第一内存块和第二内存块的访问的效率。2.根据权利要求1所述的方法,其中,计算内存块的相似性保留签名包括计算在所述内存块的相应的内存页上的一组页签名。3.根据权利要求2所述的方法,其中,识别所述第一内存块和所述第二内存块以至少所述预定义的可能性在内容上相差不超过预定义的数量的内存页包括:识别所述第一内存块的相似性保留签名和所述第二内存块的相似性保留签名相差不超过给定数量的页签名。4.根据权利要求1所述的方法,其中,提高访问的效率包括:在所述第一内存块和所述第二内存块中查找相应的具有相同内容的第一内存页和第二内存页,并且对所述第一内存页和所述第二内存页删除重复。5.根据权利要求4所述的方法,其中,查找具有相同内容的所述第一内存页和所述第二内存页包括将在所述第一内存页和所述第二内存页上计算的相应的第一哈希值和第二哈希值进行比较。6.根据权利要求1-5中任一项所述的方法,其中,提高访问的效率包括:将分别访问所述第一内存块和所述第二内存块的第一客户端和第二客户端放置在相同的计算节点上。7.根据权利要求1-5中任一项所述的方法,其中,提高访问的效率包括将分别访问所述第一内存块和所述第二内存块的第一客户端和第二客户端放置在第一计算节点和第二计算节点上,所述第一计算节点和第二计算节点在所述计算系统中彼此拓扑地相邻。8.根据权利要求1-5中任一项所述的方法,其中,提高访问的效率包括在相同的计算节点上或在所述计算系统中彼此拓扑地相邻的第一计算节点和第二计算节点上放置所述第一内存块和所述第二内存块。9.根据权利要求1-5中任一项所述的方法,其中,定义所述内存块包括将所述内存页分类为活动内存页和非活动内存页,并且在所述内存块中只包括所述非活动内存页。10.一种计算系统,其包括一个或多个计算节点,所述一个或多个计算节点包括相应的内存和相应的处理器,其中,所述处理器被配置为:运行访问存储在所述内存中的内存页的客户端;定义内存块,每个内存块包括由相应的客户端访问的多个内存页;计算所述内存块中的一个或多个内存块的相应的相似性保留签名;基于所述相似性保留签名,识...

【专利技术属性】
技术研发人员:本诺特·纪尧姆·查尔斯·胡德奇亚罗姆·弗雷曼
申请(专利权)人:斯特拉托斯卡莱有限公司
类型:发明
国别省市:以色列;IL

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1