当前位置: 首页 > 专利查询>英特尔公司专利>正文

存储器合并的计算机实现方法、系统以及装置制造方法及图纸

技术编号:9882576 阅读:111 留言:0更新日期:2014-04-04 22:02
本文讨论了与存储器管理关联的计算机实现方法、装置以及计算机可读介质的实施例。一种合并空闲的存储器区间的计算机实现方法可以包括查明存储器的第一区间是空闲的(302、304)。可以例如根据与存储器的第一区间关联的首部来做出紧接在存储器的第一区间之前或之后的存储器的第二区间是否空闲的确定(306)。在做出存储器的第二区间是空闲的确定之后,可以合并存储器的第一区间与存储器的第二区间(310)。可以描述和/或要求其他实施例。

【技术实现步骤摘要】
【国外来华专利技术】【专利摘要】本文讨论了与存储器管理关联的计算机实现方法、装置以及计算机可读介质的实施例。一种合并空闲的存储器区间的计算机实现方法可以包括查明存储器的第一区间是空闲的(302、304)。可以例如根据与存储器的第一区间关联的首部来做出紧接在存储器的第一区间之前或之后的存储器的第二区间是否空闲的确定(306)。在做出存储器的第二区间是空闲的确定之后,可以合并存储器的第一区间与存储器的第二区间(310)。可以描述和/或要求其他实施例。【专利说明】存储器合并的计算机实现方法、系统以及装置
本专利技术的实施例大体上涉及计算的领域,并且更特别地,涉及计算设备的存储器的重组。
技术介绍
本文所提供的背景描述是为了大体呈现本公开的上下文的目的。就在本背景章节中的描述而言,当前被指名的【专利技术者】的工作以及该描述的原本在提交申请时不构成现有技术的各方面,既不明确又不隐含地承认其为针对本公开的现有技术。除非本文另有指示,本章节中所描述的方法不是对于本公开中的权利要求的现有技术,并且不因包含在本章节中而承认其是现有技术。计算机程序、或应用通常包括用于动态管理由操作系统(“OS”)分配给计算机程序或应用的存储器的逻辑,也被称为“运行时间存储器管理”。通常,计算机程序或应用从由OS所管理的系统存储器池来获取大块的存储器,然后将那些块分成更小的部分,并且分配/解除分配它们以供内部使用。然而可以保留不再被需要的存储器以供应用的可能的重新使用。尽管在程序运行期间可以将一些存储器返回到系统存储器池和OS,但是通常仅在退出应用时将被分配给应用的存储器全部返回。各种技术可以被用来改善应用的动态存储器管理。例如,为了减少存储器消耗,可以实现存储器分割/合并、对用户-要求的大小进行凑整、以及碎片避免。为了更快的性能,低算法复杂度和引用局部性可能是重要的。为了多线程应用中的更快性能和可扩展性,应用的动态存储器管理可以包括最小化数据共享以及最大化用于同时操作的并行性。通常,可以通过使用单独的每线程或每中央处理单元(“CPU”)存储器堆来实现多线程存储器分配中的高性能。然而,这些独立的存储器堆可以从相同的地址空间中取存储器,所述相同的地址空间可能在应用中的所有线程之间被共享并且还可能变成碎片,从而导致增加的存储器消耗。用于避免存储器碎片的各种方法可能显著降低其中多个线程对动态存储器进行有效地分配以及解除分配的应用的性能。例如,这些方法中的一些可能要求不可以同时运行其他存储器管理操作。【专利附图】【附图说明】通过以下结合附图的详细描述将容易理解实施例。为了促进该描述,相似的附图标记指代相似的结构元素。在附图的图中通过示例的方式并且不通过限制的方式来图示实施例。图1示意性地图示根据本公开的实施例的合并的存储器区间的示例。图2示意性地描绘根据本公开的实施例的存储器区间的示例性状态和转移。图3和4示意性地描绘根据本公开的实施例的示例性方法。图5示意性地描绘根据本公开的实施例的被配置成实现动态存储器管理的示例性系统。【具体实施方式】在各种实施例中,可以提供其中包含计算机可读且可执行代码的非临时计算机可读介质。该代码可以包括指令,所述指令被配置成响应于所述指令的运行而启用由装置所操作的应用以查明存储器的第一区间是否空闲。另外地,所述指令可以启用应用来修改存储器的第一区间的状态以指示该存储器的第一区间处于合并中(coalescing)状态。所述指令可以确定紧接在存储器的第一区间之前或紧接在存储器的第一区间之后的存储器的第二区间是否空闲。在确定存储器的第二区间是空闲的之后,所述指令可以启用应用来修改该存储器的第二区间的状态以指示该存储器的第二区间处于合并中状态。然后所述指令可以启用应用来合并存储器的第一区间与存储器的第二区间。在一些实施例中,非临时计算机可读介质可以进一步包括指令,所述指令被配置成响应于所述指令的运行而启用所述应用以根据与存储器的第一区间关联的首部来确定存储器的第二区间是空闲、使用中、还是处于合并中状态。在一些实施例中,可以启用应用以根据与存储器的第一区间关联的首部来确定存储器的第二区间的大小。在一些实施例中,可以启用应用以锁定存储器的第一区间和存储器的第二区间来防止由除调用存储器管理器的应用线程之外的应用线程所进行的修改。在一些实施例中,可以启用应用来在原子操作中确定存储器的第二区间是否空闲,确定存储器的第二区间的大小,修改存储器的第二区间的状态以指示其处于合并中、以及锁定存储器的第二区间。在一些实施例中,原子操作可以是比较并交换操作。在一些实施例中,可以启用应用以在确定存储器的第二区间处于合并中状态之后将存储器的第一区间的标识插入到合并队列中来暂时地延迟存储器的第一和第二区间的合并。在一些实施例中,可以进一步启用应用以基于存储器的第二区间已从处于合并中状态转移到空闲的确定来从合并队列中移除存储器的第一区间,以启用合并操作来合并存储器的第一和第二区间以继续进行。在一些实施例中,在确定存储器的第二区间处于使用中之后,可以启用应用以修改存储器的第一区间的状态来指示存储器的第一区间是空闲的。在各种实施例中,可以提供其中包含计算机可读且可执行代码的非临时计算机可读介质。该代码可以包括指令,所述指令被配置成响应于所述指令的运行而启用由装置所操作的应用来查明存储器的第一区间是空闲的。在查明存储器的第一区间是空闲的之后,还可以启用所述应用以根据与存储器的第一区间关联的首部来确定紧接在存储器的第一区间之前的存储器的第二区间是空闲的还是当前正与存储器的第三区间合并。在存储器的第二区间是空闲的情况下,可以进一步启用所述应用以合并存储器的第一区间与存储器的第二区间。在存储器的第二区间当前正与存储器的第三区间合并的情况下,可以进一步启用所述应用以将存储器的第一区间的标识插入到合并队列中来暂时地延迟存储器的第一和第二区间的合并。在各种实施例中,可以提供其中包含计算机可读且可执行代码的非临时计算机可读介质。该代码可以包括指令,所述指令被配置成响应于所述指令的运行而启用由装置所操作的应用以查明存储器的第一区间是空闲的。还可以启用所述应用来确定紧接在存储器的第一区间之前或之后的存储器的第二区间是空闲的还是当前正与存储器的第三区间合并。在存储器的第二区间被确定为空闲的情况下,还可以启用所述应用来合并存储器的第一区间与存储器的第二区间,或者在存储器的第二区间被确定为当前正与存储器的第三区间合并的情况下,将存储器的第一区间的标识插入到合并队列中以暂时地延迟存储器的第一和第二区间的合并。在各种实施例中,可以实施具有多个以上所描述的操作的方法。在各种实施例中,一种装置可以被配置成实施此类方法。在以下详细描述中,引用了形成本文的一部分的附图,其中自始至终相似的附图标记指代相似的部分,并且在所述附图中通过图示的方式示出了可以被实施的实施例。要理解的是,可以利用其他实施例并且可以做出结构或逻辑上的改变而不背离本公开的范围。因而,不采用限制意义来进行以下详细描述,并且由所附权利要求以及其等价物来定义实施例的范围。可以采用最有助于理解所要求保护的主题事项的方式来将各种操作依次描述为多个离散的动作或操作。然而,不应该将描述的次序解释为暗示这些操作是必须次序依赖的。特别地,这些操作可本文档来自技高网...
存储器合并的计算机实现方法、系统以及装置

【技术保护点】
一种装置,包括:处理器;被耦合到所述处理器的存储器;以及被配置成由所述处理器操作以执行以下动作的存储器管理器:查明存储器的第一区间是空闲的;修改所述存储器的第一区间的状态以指示所述存储器的第一区间处于合并中状态;确定紧接在所述存储器的第一区间之前或紧接在所述存储器的第一区间之后的存储器的第二区间是否空闲;在确定所述存储器的第二区间是空闲的之后,修改所述存储器的第二区间的状态以指示所述存储器的第二区间处于合并中状态;以及合并所述存储器的第一区间和所述存储器的第二区间。

【技术特征摘要】
【国外来华专利技术】

【专利技术属性】
技术研发人员:A科诺瓦洛夫A库卡诺夫
申请(专利权)人:英特尔公司
类型:
国别省市:

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

1