虚拟存储器元数据管理制造技术

技术编号:33264400 阅读:15 留言:0更新日期:2022-04-30 23:17
可缩放虚拟存储器元数据管理包括表示计算系统可用的真实物理存储器的全部量的多个预实例化VM元数据容器,并且根据需要创建另外的实例化VM元数据容器。将VM元数据容器的个体和/或组分配给元数据容器组,其中每个容器组由分配给VM元数据容器组的所获取的锁控制。使用“最少使用”技术来管理虚拟存储器元数据。响应于分配请求,分配器扫描容器组/VM容器并向最少使用的容器组中的最少使用的VM元数据容器实现存储器对象元数据分配,以几乎相等的速率填充单独的VM元数据容器和/或容器组。率填充单独的VM元数据容器和/或容器组。率填充单独的VM元数据容器和/或容器组。

【技术实现步骤摘要】
【国外来华专利技术】虚拟存储器元数据管理


[0001]本专利技术总体上涉及虚拟存储器的领域,并且更具体地涉及虚拟存储器元数据的管理。

技术介绍

[0002]虚拟存储器(VM)是由操作系统提供的功能。操作系统创建虚拟存储器空间,应用和程序可以访问该虚拟存储器空间,就好像该空间是单个连续的物理存储器设备。虚拟存储器空间可以是一起协同操作的物理存储器以及基于盘的存储资源的组合。虚拟存储器充当地址的替代集合并扩展可用存储器的范围。操作系统可以通过为要使用的虚拟存储器分配一定量的磁盘空间来配置虚拟存储器。应用和程序使用虚拟存储器空间内的这些虚拟地址来存储数据和指令,这些数据和指令可能不需要像可能被更频繁地寻址的其他数据集或指令那样被频繁地寻址。当操作系统调用虚拟存储器地址位置时,由虚拟存储器存储的数据和指令被复制到物理存储器的物理地址。为了将虚拟存储器复制到物理存储器,操作系统将虚拟存储器划分成页。每个页包含由基于盘的存储装置存储直到操作系统调用该地址的固定数量的地址。当被调用时,操作系统在被称为映射的处理中将虚拟地址转换成真实地址。虚拟页从基于盘的存储装置到主存储器的复制被称为分页(paging)或交换(swapping)。
[0003]存储器分配是按请求分配存储器块的过程。分配器以少量的大块从操作系统接收存储器,分配器划分这些大块以满足对较小块的请求。分配器使任何返回的块可用于操作系统以满足将来的分配请求。

技术实现思路

[0004]本公开的实施例涉及用于管理可缩放虚拟存储器的计算机实现的方法、相关联的计算机系统和计算机程序产品。所述计算机实现的方法包括:由处理器实例化多个虚拟存储器(VM)元数据容器,其中VM元数据容器的总数包括足够的VM元数据块以将供应给计算机系统的总真实物理存储器表示为虚拟存储器;由所述处理器将所述多个VM元数据容器分成两个或更多个容器组,其中所述两个或更多个容器组中的每个由不同的锁控制;响应于向VM元数据块分配存储器对象元数据的请求,由所述处理器扫描所述两个或更多个容器组以得到最少使用容器组;由所述处理器在所述最少使用容器组中查询所述最少使用容器组内的最少使用VM元数据容器;由所述处理器将所述存储器对象元数据分配给所述最少使用VM元数据容器的VM元数据块,满足分配所述存储器对象元数据的请求。
[0005]本公开的实施例涉及一种用于管理可缩放虚拟存储器的计算机实现的方法、相关联的计算机系统和计算机程序产品,所述计算机实现的方法包括:由处理器接收对包括多个容器组的元数据块分配执行存储器管理操作的请求,所述多个容器组包括一个或多个VM元数据容器,其中对所述多个容器组中的各个容器组的访问由不同的锁控制;由所述处理器获取控制第一容器组的第一锁;由所述处理器对由作为所述元数据块分配的一部分的第
一容器组的VM元数据块存储的存储器对象元数据进行所有存储器管理操作;由所述处理器释放所述第一锁;以及由所述处理器获取控制第二容器组的第二锁。
[0006]本公开的另选实施例涉及一种用于管理可缩放虚拟存储器的计算机实现的方法、相关联的计算机系统和计算机程序产品,所述计算机实现的方法包括:由处理器实例化多个虚拟存储器(VM)元数据容器,其中VM元数据容器的总数包括足够的VM元数据块以将供应给计算机系统的总物理RAM表示为虚拟存储器;由所述处理器将所述多个VM元数据容器分组成两个或更多个容器组,其中所述两个或更多个容器组中的每个由不同的锁控制;由处理器接收增长存储器对象并增加被分配用于存储所述存储器对象的存储器对象元数据的VM元数据块的数量的请求;由所述处理器确定负责先前分配至少一个VM元数据块以用于存储所述存储器对象的存储器对象元数据的第一容器组的第一VM元数据容器;由所述处理器计算满足所述增长请求的元数据块要求;由所述处理器确定满足所述增长请求的元数据块要求是否大于所述第一VM元数据容器的空闲VM元数据块的大小。
[0007]本公开的实施例涉及一种用于管理可缩放虚拟存储器的计算机系统和相关联的计算机实现的方法和计算机程序产品,所述计算机系统包括:处理器;以及计算机可读存储介质,所述计算机可读存储介质耦合到所述至少一个处理器,其中所述计算机可读存储介质包含执行计算机实现方法的程序指令,所述计算机实现方法包括:由所述处理器实例化多个虚拟存储器(VM)元数据容器,其中VM元数据容器的总数包括足够的VM元数据块以将供应给计算机系统的所有真实物理存储器表示为虚拟存储器;由所述处理器将所述多个VM元数据容器分组成两个或更多个容器组;响应于向VM元数据块分配存储器对象元数据的请求,由所述处理器扫描所述两个或更多个容器组以获得最少使用容器组;以及由所述处理器在所述最少使用容器组中查询所述最少使用容器组内的最少使用VM元数据容器。
附图说明
[0008]图1描述了根据本公开可实现本文所描述的实施例的数据处理系统的内部和外部部件的框图的实施例。
[0009]图2a描绘了根据本公开的用于分配存储器对象元数据的计算环境的实施例的框图。
[0010]图2b描绘了根据本公开的用于分配存储器对象数据的计算环境的另选实施例的框图。
[0011]图3a描绘了用于存储和检索存储在虚拟存储器中的数据或指令的计算环境的实施例的框图。
[0012]图3b示出用于存储和检索存储在虚拟存储器中的数据或指令的计算环境的另选实施例的框图,该计算环境包括逻辑高速缓存。
[0013]图3c描绘了用于存储和检索存储在虚拟存储器中的数据或指令的计算环境的另一另选实施例的框图,该计算环境包括物理高速缓存。
[0014]图4a示出了根据本公开描绘实现彼此并行地操作的预先实例化VM元数据容器的实施例的框图。
[0015]图4b示出了根据本公开描绘存储器对象元数据到彼此并行地操作的VM元数据容器的VM元数据块的分配的分布的框图。
[0016]图5示出了描绘元数据块分配的实施例的框图,该元数据块分配包括分布在由不同锁单独控制的多个容器组上的存储器对象元数据以及通过容器组对虚拟存储器对象元数据的管理区分优先级。
[0017]图6描绘了根据本公开的用于分配存储器对象元数据的计算环境的另一另选实施例的框图。
[0018]图7描绘了根据本公开的用于分配器实例化VM元数据容器的算法的实施例。
[0019]图8a描绘了实现将存储器对象元数据分配给VM元数据容器的VM元数据块的算法的实施例。
[0020]图8b描绘了实现用于创建用于分配存储器对象元数据的附加VM元数据容器的后内核过程的算法的实施例。
具体实施方式
[0021]本文中使用的术语仅用于描述具体实施方式的目的,而并非旨在限制本公开。如本文中使用的,除非上下文另有明确指示,否则单数形式“一”、“一个”和“该”旨在也包括复数形式。还应当理解,当在本说明书中使用术语“包括”和/或“包含”时,其指定所述特征、步骤、操作、元件和/或部件的存在,但不排除一个或多个其他特征、步骤、操作、元件、部件和/或其组合的存在或添加。
...

【技术保护点】

【技术特征摘要】
【国外来华专利技术】1.一种计算机实现方法,包括:由处理器实例化多个虚拟存储器(VM)元数据容器,其中VM元数据容器的总数包括足够的VM元数据块以将供应给计算机系统的总真实物理存储器表示为虚拟存储器;由所述处理器将所述多个VM元数据容器分组成两个或更多个容器组,其中所述两个或更多个容器组中的每个由一不同的锁控制;响应于向VM元数据块分配存储器对象元数据的请求,由所述处理器扫描所述两个或更多个容器组以寻找作为最少使用的容器组的第一容器组;由所述处理器在所述第一容器组内查询作为所述第一容器组内最少使用的VM元数据容器的第一VM元数据容器;由所述处理器将所述存储器对象元数据分配给所述第一VM元数据容器的VM元数据块,满足分配所述存储器对象元数据的所述请求。2.根据权利要求1所述的计算机实现的方法,其中,实例化所述多个VM元数据容器的步骤在所述计算机系统的启动期间执行并且由所述计算机系统的操作系统自动管理。3.根据权利要求1所述的计算机实现的方法,进一步包括:由所述处理器接收增长存储器对象的请求并且增加被分配给与所述存储器对象相关联的存储器对象元数据的VM元数据块的数量;由所述处理器计算满足增长存储所述存储器对象元数据的所述VM元数据块的所述分配的所述请求的VM元数据块要求;由所述处理器将所述第一VM元数据容器的剩余空间量与所述VM元数据块要求进行比较;响应于所述比较步骤确定所述第一VM元数据容器的剩余空间量大于所述VM元数据块要求,由所述处理器将用于存储所述存储器对象元数据的附加VM元数据块分配到所述第一VM元数据容器,满足增长所述存储器对象的所述请求。4.根据权利要求1所述的计算机实现的方法,进一步包括:由所述处理器接收增长与所述存储器对象元数据相关联的存储器对象的请求,并且增加被分配给所述存储器对象的VM元数据块的数量;由所述处理器计算满足增长所述存储器对象的所述请求的VM元数据块要求;扫描所述第一VM元数据容器以确定所述第一VM元数据容器的剩余空间的量是否大于满足增长所述存储器对象的所述请求的空间要求;响应于确定所述第一VM元数据容器的剩余空间的量不大于满足增长所述存储器对象的所述请求的空间要求,由所述处理器在所述第一容器组内扫描具有足够剩余空间以满足增长所述存储器对象的请求的第二VM元数据容器。5.根据权利要求4所述的计算机实现的方法,进一步包括:响应于确定不能在所述第一容器组内找到具有足够空间以满足增长所述存储器对象的所述请求的第二VM元数据容器,由所述处理器在第二容器组内扫描具有足够剩余空间以满足增长所述存储器对象的所述请求的第二VM元数据容器;以及由所述处理器分配所述第二VM元数据容器的VM元数据块以存储所述存储器对象元数据。6.一种计算机实现方法,包括:
由处理器接收对包括多个容器组的元数据块分配执行存储器管理操作的请求,所述多个容器组包括一个或多个VM元数据容器,其中对所述多个容器组中的各个容器组的访问由不同的锁控制;由所述处理器获取控制第一容器组的第一锁;由所述处理器对作为所述元数据块分配的一部分的第一容器组的VM元数据块存储的存储器对象元数据进行全部存储器管理操作;由所述处理器释放所述第一锁;以及由所述处理器获取控制第二容器组的第二锁。7.根据权利要求6所述的计算机实施的方法,其中,对作为所述元数据块分配的一部分的第一容器组内的所述存储器对象元数据执行全部存储器管理操作的步骤包括:由所述处理器同时释放作为所述元数据块分配的一部分的第一容器组存储的所有VM元数据块。8.一种计算机实现方法,包括:由处理器实例化多个虚拟存储器(VM)元数据容器,其中VM元数据容器的总数包括足够的VM元数据块以将供应给计算机系统的总真实物理存储器表示为虚拟存储器;由所述处理器将所述多个VM元数据容器分组成两个或更多个容器组,其中所述两个或更多个容器组中的每个由一不同的锁控制;由所述处理器接收增长存储器对象并且增加被分配用于存储所述存储器对象的存储器对象元数据的VM元数据块的数量的请求;由所述处理器确定负责先前分配至少一个VM元数据块以用于存储所述存储器对象的存储器对象元数据的第一容器组中的第一VM元数据容器;由所述处理器计算用于满足所述增长请求的元数据块要求;由所述处理器确定满足所述增长请求的所述元数据块要求是否大于所述第一VM元数据容器的空闲VM元数据块的大小。9.根据权利要求8所述的计算机实现的方法,其中,实例化所述多个VM元数据容器的步骤在所述计算机系统的启动期间执行并且由所述计算机系统的操作系统自动管理。10.根据权利要求8所述的计算机实现的方法,进一步包括:响应于确定满足所述增长请求的所述元数据块要求不大于所述第一VM元数据容器的空闲元数据块的大小,由所述处理器将所述存储器对象元数据分配给所述第一元数据容器的空闲元数据块。11.根据权利要求8所述的计算机实现的方法,进一步包括:响应于确定满足所述增长请求的所述元数据块要求大于第一VM元数据容器的空闲元数据块的大小;由所述处理器扫描所述第一容器组以查找所述第一容器组内最少使用的VM元数据容器;以及由所述处理器将所述存储器对象元数据分配给所述第一容器组内最少使用的VM元数据容器的空闲元数据块。12.根据权利要求8所述的计算机实现的方法,进一步包括:响应于确定满足所述增长请求的所述元数据块要求大于第一元数据容器的空闲元数
据块的大小;由所述处理器扫描第二容器组以查找所述第二容器组内最少使用的VM元数据容器;以及由所述处理器将所述存储器对象元数据分配给所述...

【专利技术属性】
技术研发人员:J
申请(专利权)人:国际商业机器公司
类型:发明
国别省市:

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

1