当前位置: 首页 > 专利查询>微软公司专利>正文

用于存储器分层优化的统计计数制造技术

技术编号:5444877 阅读:177 留言:0更新日期:2012-04-11 18:40
在分层和/或分布式数据存储中优化存储器分配的系统和方法。存储器管理组件方便了一种近似地标识存储器组块多久被使用一次的简洁方式,以促进系统整体的高效操作。每一存储器位置可基于通过跟踪存储器位置的统计使用计数和其与阈值的比较来确定的对应的存储器存取来改变。

【技术实现步骤摘要】
【国外来华专利技术】用于存储器分层优化的统计计数背景常见的计算机相关问题涉及管理大量数据或信息。一般而言,应当高效地维护信 息以最小化所需存储量,使得可以快速定位并取回数据集内的相关数据。在数据处理机中采用了各种系统和算法来高效地管理可用存储器资 源。一种这样 的已知算法是LRU(最近最少使用),其中认为缓冲区中的最近最少引用(例如最长时间未 使用)的块是最不重要的,并且因此可被盖写或替换而只产生最小的系统性能影响。一般 而言,LRU要求一种跟踪缓冲区中相应块中的内容的相对使用的方法。例如,一种常规方法是在下推(push-down)栈中跟踪块地址或它们的表示,其中 该栈中的位置表示相应块内容的相对使用。下推栈是使用锁存设备设计的,并且取决于缓 冲区的大小和块的大小,该栈可变得相当大且实现起来很昂贵。此外,在这样的数据处理系统中,处理器(CPU)的速度通常比其存储器快得多。因 此,为允许CPU尽可能即时且平滑地存取数据,CPU的存储通常组织成异构设备的分层结 构多级高速缓存、主存储器、磁鼓、随机存取缓存的DASD (直接存取存储设备)、以及常规 DASD。逻辑上,来自CPU的任何存储器存取必须沿该分层结构向下搜索,直至在某一层找到 所需数据为止,随后该数据通常必须加载到上方的所有层。这样的数据安排和对CPU的按 需馈送是实现存储器分层结构的最简单且最基本的方式。此外,标准存储器分层结构设计通常假定所有存取要针对存储器的最快一层(例 如,Ll高速缓存)并且高速缓存未中涉及将数据移至Ll高速缓存。然而,在复杂系统中, 存储器操作在不污染快速存储器的情况下直接对较低层存储器(例如,L2或L3)操作是可 能的。自然地,这样的绕过操作可伴有一些性能惩罚。因此,在面对对于不在最快存储器中 的存储器的存取时,存在以下选择该存储器可移至快速存储器(顶替已在此处的某物), 或者另选地执行对该缓慢存储器的缓慢直接存取。在不能由存储器的快速/缓慢/最慢集合的单个分层结构来描述的分布式系统环 境中也发生了这样的复杂性。例如,在多处理器系统中,每一处理器可具有Ll高速缓存,一 对处理器可共享一 L2高速缓存,且四个处理器的集合可共享一 L3高速缓存。在(写操作 的)任何时刻,存储器的每一可写块通常只可处于这些高速缓存位置之一中。优化这样的 写操作指示确定是要移动该块还是执行对该块的直接缓慢存取。概述以下提出了简化概述以便提供对在此描述的某些方面的基本理解。本概述并不是 对所要求保护的主题的全面综述。它既不旨在标识出所要求保护的主题的关键或重要的要 素,也不描绘其范围。其唯一的目的是以简化的形式来介绍一些概念,作为稍后提出的更为 详细的描述的序言。本专利技术提供一种用于通过采用跟踪存储器位置的统计使用计数以及该计数与阈 值的比较的存储器管理组件来优化存储器在分层(和/或分布式)环境中的布置的系统。 这样的优化系统采用计数的近似值来跟踪一块或一段存储器实际上被操作系统(OS)多久 使用一次一(而非昂贵的对这样的存储器段的完全使用计数的跟踪一例如在对每一存储器存取执行32位或64位计数器递增时,每块4-8字节的存储器存储/带宽可变得过于 昂贵)o分层存储器环境在分层的多个位置提供数据存储,其中一些位置比其他位置提供 更快的数据存取。基于存储器存取和/或对数据位置的存取期间的数据使用,存储器管理 组件方便了一种近似地标识存储器组块多久被使用一次的简洁方式,以促进系统整体的高 效操作。此外,每一存储器位置都可基于对应的存储器存取来改变(例如,反复使用的数据 可被置于相对快速的位置,并且未被充分使用的数据可被置于被认为相对慢的位置)。在一 相关方面,本专利技术的优化系统利用预定数量的位(例如,1位或2位来作为存取位)来跟踪 存储器页(例如,一 4K的页),其中只要处理单元对存储器进行存取,则可生成可对照阈值 进行比较的随机数。如果这样的随机数超过阈值,则针对该存储器的存取位可被设为“打开 (on)”。这样的存取位可保持“打开”以获取附加数据,直至被再次设为0(例如由存储器管 理组件)。取决于存储器位置被存取的次数,可以自适应地调整阈值。这样的阈值可由存储 器管理组件提供,该组件也读存取位。因此,只要处理单元对存储器块/组块进行存取,则 可以执行统计测试,这可改变存取位的状态(例如,从关闭(off)到打开)。存取位(例如, 存取阈值寄存器)位于处理单元内,并且基于它们的“打开”状态可以提供关于存储器分配 和布置的反馈。可以使用多种算法来跟踪对存储器组块的存取。可以理解,在没有阈值所 设定的足够存取的情况下,这样的存取位具有很低的概率被意外地置位为“打开”状态。如此,被充分使用的页(如由阈值所表示的)可以与其他页(例如,如由阈值所表 示的未被充分使用的那些)相区别。这样的阈值可由存储器管理组件(例如,随机)设定, 其中基于从CPU对存储器的存取所生成的数与阈值数的比较所返回的结果,可将存取位置 位成“打开”状态。随后,可以作出关于应当将存储器重新定位在何处的决定。因此,阈值 可基于存储器活动的类型来进行适应(例如,如果页被密集地使用则提升)。可以明白,本 专利技术还可适用于具有异构性能特性的分区存储器。在一相关方面,该优化系统还采用试探式计数器经由对该计数器的递增和/或复 位来跟踪存储器存取,其中读这样的计数器并随后从本专利技术的优化系统中清零。因此,可以 监视并比较不同处理单元对存储器位置进行存取的活动以优化存储器布置。为实现上述及相关目的,在此结合以下描述和附图描述了所要求保护的主题的某 些说明性方面。这些方面指示可实践本主题的各种方式,它们均落在所要求保护的主题的 范围之内。当结合附图阅读以下详细描述时,本专利技术的其他优点和新颖特征将变得显而易 见。附图简述附图说明图1示出采用计数的近似值来跟踪存储器块多久被存取一次的优化系统的框图。图2示出包括存储器管理组件的优化系统的另一框图。图3示出利用预定数量的位来跟踪存储器页的特定优化系统。图4示出根据本专利技术的一方面的优化存储器布置的相关方法。图5示出根据本专利技术的一方面的用于存储器布置的统计跟踪的相关方法。图6示出根据本专利技术的一方面的采用计数器的示例性优化系统。图7示出根据本专利技术的一方面的移动存储器位置的相关方法。图8示出根据本专利技术的一方面的便于调整阈值的人工智能组件。图9示出了用于实现本专利技术的各方面的示例性环境。图10是根据本专利技术一方面的可用于存储器优化的示例计算环境的示意性框图。详细描述现在将参考附图描述本专利技术的各方面,全部附图中相同的标号指的是相同或相应 的元 素。然而应该了解,附图及其相关详细描述不旨在将所要求保护的主题限于所公开的 具体形式。相反,其意图是覆盖落在所要求保护的主题的精神和范围内的所有修改、等效和 替换方案。图1示出采用计数的近似值来跟踪存储器组块或段102、104、106 (其中N是整数) 实际上被操作系统(OS)多久使用一次的优化系统100的框图。存储器块102、104、106可 形成分层安排,其中这种分层存储安排可利用例如计算机程序中的存储器位置。每一存储 器块102、104、106和/或该分层结构的每一层可包括比其他或较低层具有更高速度、更小 大小、或更低等待时间的属性。优化系统100本文档来自技高网...

【技术保护点】
一种计算机实现的系统,包括以下计算机可执行组件:包括具有不同速度的多个存储器块的分层或分布式存储器环境;以及采用存储器块存取的计数的近似值来重新安排存储器位置的优化系统。

【技术特征摘要】
【国外来华专利技术】US 2007-11-19 11/942,259一种计算机实现的系统,包括以下计算机可执行组件包括具有不同速度的多个存储器块的分层或分布式存储器环境;以及采用存储器块存取的计数的近似值来重新安排存储器位置的优化系统。2.如权利要求1所述的计算机实现的系统,其特征在于,还包括跟踪所述计数的近似 值的存储器管理组件。3.如权利要求1所述的计算机实现的系统,其特征在于,还包括便于确定所述计数的 近似值的存取位。4.如权利要求3所述的计算机实现的系统,其特征在于,所述优化系统与同阈值进行 比较的统计使用计数相关联。5.如权利要求4所述的计算机实现的系统,其特征在于,所述阈值可基于存储器存取 自适应地调整。6.如权利要求1所述的计算机实现的系统,其特征在于,还包括经由递增或复位来跟 踪存储器存取的试探式计数器。7.如权利要求6所述的计算机实现的系统,其特征在于,所述试探式计数器是灵活随 机化计数器(FRC)。8.如权利要求4所述的计算机实现的系统,其特征在于,还包括便于设定所述阈值的 人工智能组件。9.如权利要求7所述的计算机实现的系统,其特征在于,所述FRC是动态的。10.一种计算机实现的方法,包括以下计算机可执行动作经由统计使用计数来跟踪分层存储器安排中的...

【专利技术属性】
技术研发人员:S普罗诺夫索特KK达拉尔AA齐特
申请(专利权)人:微软公司
类型:发明
国别省市:US[美国]

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

1
相关领域技术
  • 暂无相关专利