用于基于目录的缓存一致性的系统和方法技术方案

技术编号:17490841 阅读:48 留言:0更新日期:2018-03-17 13:48
一种管理可由多个计算单元访问的存储器的系统,包括:接口,用于接收访问缓存存储器的多个存储区域中的一个存储区域的请求;存储器,用于存储:单个访问目录,记录当前所述多个存储区域中的哪一个存储区域被分配给所述多个计算单元中的一个计算单元;多访问目录,记录多个计算单元中的至少一个计算单元访问所述多个存储区域中的哪一个存储区域。

System and method for caching consistency based on Directory

The system includes a memory management, can be accessed by multiple computing units: the interface for a storage area of a storage area to receive access to the cache memory in the memory request; for storage: a single directory, the current record which a storage area of a plurality of storage areas in the domain are assigned to the computing unit a multiple computing unit; multi access directory, records of multiple computing units in at least one computing unit which one access to the storage area of a plurality of storage areas in the.

【技术实现步骤摘要】
【国外来华专利技术】用于基于目录的缓存一致性的系统和方法
技术介绍
本专利技术的一些实施例涉及缓存一致性,更具体地但不仅限于,涉及用于基于目录的缓存一致性的系统和方法。在包括多个处理单元的多处理系统中,缓存一致性协议保持本地缓存(均与处理单元相关联)和共享存储器(所有处理单元均可访问)之间的一致性。基于目录的缓存一致性协议基于维护本地缓存之间的一致性的公共目录。该目录跟踪存储在本地缓存中的共享存储块。基于目录的缓存一致性协议可以为本地处理器提供对共享存储器的快速一致访问,而不必向所有本地缓存广播请求。当多处理系统中的处理单元和对应的本地缓存数量增加和/或本地缓存的大小增加时,缓存驱逐率可能增大,这可能导致缓存块无效和性能降低。一个解决方案是增加公共目录的大小,但是,生成的目录大小可能会大于组合的本地缓存的大小。因此,提出了不同的方法来尝试和改进目录的性能,而非增加目录的大小,例如通过避免跟踪非一致性缓存块来减少目录条目的数量,例如,将几个目录条目合并成一个目录条目来增加条目粒度。但是,这类解决方案可能无法提供精确的跟踪,并且可能需要额外的窥探机制、一致性恢复机制,或基于广播和刷新的页面驱逐机制。这些机制可能降低公用目录的性能,和/或可能不可扩展。
技术实现思路
本专利技术旨在提供一种装置、系统、计算机程序产品和管理可由多个计算单元访问的存储器的方法。上述及其它目的通过独立权利要求的特征来实现。根据所述独立权利要求、描述以及附图,其他实现方式是显而易见的。根据第一方面,一种管理可由多个计算单元访问的存储器的系统,包括:接口,用于接收访问缓冲存储器的多个存储区域中的一个存储区域的请求;存储器,用于存储:单个访问目录,记录当前所述多个存储区域中的哪一个存储区域被分配给所述多个计算单元中的一个计算单元;多访问目录,记录所述多个存储区域中的哪一个存储区域被多个计算单元中的至少一个计算单元访问。与例如基于其他目录缓存一致性协议的方法相比,可以减少该目录的总大小(包括单个访问目录和多访问目录)。可以在保持每个缓存块的精确信息的同时减小大小。可以在没有显著的性能损失的情况下实现大小减小。例如,不一定需要使用限制可扩展性的大带宽的广播窥探机制。当额外的计算单元添加到系统时,基于单个访问和多访问目录的实现方式是可扩展的。该实现方式可能会降低驱逐率,并可能降低缓存块无效率。该基于单个访问和多访问目录的实现方式可以基于现有的目录缓存一致性协议更容易地与现有系统集成。在根据第一方面所述的系统的第一种可能的实现方式中,该系统还包括处理单元,用于管理所述单个访问目录和所述多访问目录,以根据所述请求反映当前对多个存储区域的分配。在根据第一方面或第一方面的前述任意一种实现方式中所述的系统的第二种可能的实现方式中,该系统用于通过以下方式来管理单个访问目录和多访问目录:搜索所述单个访问目录和所述多访问目录中的至少一个以获得所述请求的存储区域的当前分配状态;根据所述搜索的结果,对所述多个计算单元中的一个计算单元进行所述请求的存储区域的重新分配;更新所述单个访问目录和所述多访问目录中的至少一个以反映所述新的分配。单个访问和多访问目录设计允许并行搜索两个目录,与例如单个目录设计相比,可以更快地进行搜索。可以基于非重叠区域标签进行搜索,与例如重叠的目录结构相比,可以更快地进行搜索。在根据第一方面的第一种或第二种实现方式所述的系统的第三种可能的实现方式中,所述处理单元用于根据对至少一个所述多个区域中的每一个的至少一个共享者位图的分析来进行所述重新分配。可以分析共享者位图以减少缓存块替换和/或驱逐(为所述重新分配提供空间),例如通过避免替换经常访问的区域,因为频繁使用导致重新替换。可以基于共享者位图为单个和多个访问目录实现不同的驱逐(和/或替换)策略,以优化单个和多个访问目录的驱逐率。在根据第一方面的第二种或第三种实现方式所述的系统的第四种可能的实现方式中,新分配是为提交请求的计算单元分配。在根据第一方面或第一方面的第一种或第二种实现方式所述的系统的第五种可能的实现方式中,该系统用于通过将至少一个条目从单个访问目录和多访问目录中的一个迁移到另一个来管理单个访问目录和多访问目录。单个访问目录和多访问目录之间的条目迁移可以减少存储大小和/或降低带宽要求,例如通过选择最佳条目表示。在根据第一方面的第五种实现方式所述的系统的第六种可能的实现方式中,当所述请求为计算单元,该计算单元非单个计算单元,访问所述单个访问目录中记录的区域时,触发所述迁移。从单个访问目录到多访问目录的条目迁移可以提高对该区域中的每个块的共享者跟踪的精确性,这样可以减少总带宽。在根据第一方面的第五种或第六种实现方式所述的系统的第七种可能的实现方式中,当所述多个计算单元的相同计算单元缓存的所述多访问目录中记录的区域的块数超过阈值时,触发所述迁移。从多访问目录到单个访问目录的条目迁移可能需要相对较小的存储。所述多访问目录中的条目可以迁移到所述单个访问目录,而不是驱逐多访问目录条目,这样可以提高性能,因为驱逐条目可能比迁移和维护条目需要更多的计算资源。在根据第一方面或第一方面前述任意一种实现方式所述的系统的第八种可能的实现方式中,所述系统用于通过在所述单个访问目录和所述多访问目录中更新与所述所请求的存储区域相关联的条目,将所述所请求的存储区域的可用性指示从所述单个访问目录和所述多访问目录中的一个移除到另一个,来管理所述单个访问目录和所述多访问目录。当单个访问和多访问目录均已满时,可以对所使用的区域中具有最少数量的块的目录进行所述重新分配,可选地,所述块采用近期最少使用策略,这样可以降低驱逐率。在根据第一方面或第一方面前述任意一种实现方式所述的系统的第九种可能的实现方式中,所述系统用于监视所述多个区域中的每个区域的至少一个共享者位图,并相应地重新分配所述多个计算单元中的所述多个存储区域中的任意一个。重新分配可以通过减少带宽损失来提高目录中的存储效率。在根据第一方面或第一方面前述第一种至第八种实现方式中的任意一种所述的系统的第十种可能的实现方式中,所述系统用于通过根据对所述单个访问目录的分析识别所述多个区域中的近期最少使用的区域,并分配所述近期最少使用的区域作为所述重新分配,来管理所述单个访问目录和所述多访问目录。在单个访问目录中选择近期最少使用的区域可以降低驱逐率。在根据第一方面或第一方面前述任意一种实现方式所述的系统的第十一种可能的实现方式中,所述系统用于通过根据对所述多访问目录的分析识别所述多个区域中的最少共享的区域,并分配所述最少共享的区域作为所述重新分配,来管理所述单个访问目录和所述多访问目录。在多访问目录中选择最少共享区域可以降低驱逐率。在根据第一方面或第一方面前述第一种至第十种实现方式中的任意一种所述的系统的第十二种可能的实现方式中,所述单个访问目录和所述多访问目录包括多个状态值,每个状态值指示所述多个存储区域中的另一个的可用性状态。在根据第一方面或第一方面前述任意一种实现方式所述的系统的第十三种可能的实现方式中,所述单个访问目录包括多个单个访问记录,每个单个访问记录通过所述多个计算单元中的一个计算单元记录所述多个区域中的一个区域的多个区域块的使用,所述多访问目录包括多个多访问记录,每个多访问记录为所述多个计本文档来自技高网...
用于基于目录的缓存一致性的系统和方法

【技术保护点】
一种用于管理可由多个计算单元访问的存储器的系统,其特征在于,包括:接口,用于接收访问缓存存储器的多个存储区域中的一个存储区域的请求;存储器,用于存储:单个访问目录,所述单个访问目录用于记录当前所述多个存储区域中的哪一个存储区域被分配给所述多个计算单元中的一个计算单元;以及多访问目录,所述多访问目录用于记录多个计算单元中的至少一个计算单元访问所述多个存储区域中的哪一个存储区域。

【技术特征摘要】
【国外来华专利技术】1.一种用于管理可由多个计算单元访问的存储器的系统,其特征在于,包括:接口,用于接收访问缓存存储器的多个存储区域中的一个存储区域的请求;存储器,用于存储:单个访问目录,所述单个访问目录用于记录当前所述多个存储区域中的哪一个存储区域被分配给所述多个计算单元中的一个计算单元;以及多访问目录,所述多访问目录用于记录多个计算单元中的至少一个计算单元访问所述多个存储区域中的哪一个存储区域。2.如权利要求1所述的系统,其特征在于,还包括处理单元,用于管理所述单个访问目录和所述多访问目录,以便根据所述请求反映所述多个存储区域的当前分配状态。3.如权利要求1所述的系统,其特征在于,用于通过以下方式来管理所述单个访问目录和所述多访问目录:搜索所述单个访问目录和所述多访问目录中的至少一个以获得所述请求的存储区域的当前分配状态;根据所述搜索的结果,对所述多个计算单元中的一个计算单元进行所述请求的存储区域的重新分配;更新所述单个访问目录和所述多访问目录中的至少一个以反映所述新的分配。4.如权利要求2或3所述的系统,其特征在于,所述处理单元用于根据对至少一个所述多个区域中的每一个的至少一个共享者位图的分析来进行所述重新分配。5.如权利要求3或4所述的系统,其特征在于,所述重新分配是为提交所述请求的计算单元进行分配。6.如权利要求1至3任意一项所述的系统,其特征在于,用于通过将至少一个条目从所述单个访问目录和所述多访问目录中的一个迁移到另一个来管理所述单个访问目录和所述多访问目录。7.如权利要求6所述的系统,其特征在于,当所述请求为非单个计算单元的计算单元访问所述单个访问目录中记录的区域时的请求,触发所述迁移。8.如权利要求6或7所述的系统,其特征在于,当所述多个计算单元的相同计算单元缓存的所述多访问目录中记录的区域的块数超过阈值时,触发所述迁移。9.如权利要求1至8任意一项所述的系统,其特征在于,所述系统用于通过在所述单个访问目录和所述多访问目录中更新与所述所请求的存储区域相关联的条目,将所述所请求的存储区域的可用性指示从所述单个访问目录和所述多访问目录中的一个移除到另一个,来管理所述单个访问目录和所述多访问目录。10.如权利要求1至9任意一项所述的系统,用于监视所述多个区域中的每个区域的至少一个共享者位图,并相应地重新分配所述多个计算单元中的所述多个存储区域中的任意...

【专利技术属性】
技术研发人员:吴祖光阿萨夫·梅特其希姆查·高奇曼
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:广东,44

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

1