用于缓存的网络的广播协议制造技术

技术编号:8390882 阅读:120 留言:0更新日期:2013-03-08 02:50
一种用于管理缓存的方法,包括:通过操作地连接到第一缓存的第一缓存代理并使用第一物理网络,广播对存储器地址的第一对等P2P请求;通过操作地连接到第二缓存的第二缓存代理并使用第二物理网络,基于所述第一P2P请求的类型以及对应于所述存储器地址的所述第二缓存中的缓存行的状态,发出对所述第一P2P请求的第一响应;通过操作地连接到第三缓存的第三缓存代理,发出对所述第一P2P请求的第二响应;以及,通过所述第一缓存代理并基于所述第一响应和所述第二响应,升级对应于所述存储器地址的所述第一缓存中的缓存行的状态。

【技术实现步骤摘要】
【国外来华专利技术】用于缓存的网络的广播协议
技术介绍
在计算中,缓存一致性是指存储在共享资源的本地缓存中的数据的一致性。当系统中的客户端维护公用存储器资源的缓存时,可能会出现非一致数据的问题。对多处理系统中的CPU尤其是这样的。缓存一致性旨在在缓存之间和在缓存和存储器之间维护一致性,以便缓存的存在对系统程序员而言基本上是不可见的,它们对性能的影响除外。一致性协议是在分布式共享存储器的系统中的所有缓存之间维护一致性的协议。对于给定存储器模型
技术实现思路
一般而言,一方面,本专利技术涉及用于管理缓存的方法。该方法包括通过操作地连接到第一缓存的第一缓存代理并使用第一物理网络,广播对存储器地址的第一对等(P2P)请求;通过操作地连接到第二缓存的第二缓存代理并使用第二物理网络,基于所述第一P2P请求的类型以及对应于所述存储器地址的所述第二缓存中的缓存行的状态,发出对所述第一 P2P请求的第一响应;通过操作地连接到第三缓存的第三缓存代理,发出对所述第一 P2P请求的第二响应;以及,通过所述第一缓存代理并基于所述第一响应和所述第二响应,升级对应于所述存储器地址的所述第一缓存中的缓存行的状态。一般而言,一方面,本专利技术涉及用于管理缓存的方法。该方法包括通过操作地连接到第一缓存的第一缓存代理并使用第一物理网络,广播对存储器地址的对等(P2P)回写请求;通过操作地连接到第二缓存的第二缓存代理并响应于所述P2P回写请求,标识所述第二缓存中的对应于所述存储器地址的缓存行的共享状态;通过所述第二缓存代理并响应于标识所述共享状态,使用第二物理网络,向所述第一缓存代理发出回写肯定确认(WBAck);通过操作地连接到第三缓存的第三缓存代理并响应于所述P2P回写请求,标识所述第三缓存中的对应于所述存储器地址的缓存行的无效状态;通过所述第三缓存代理并响应于标识所述无效状态,向所述第一缓存代理发出回写拉(WBPull)请求;通过所述第一缓存代理,将所述第一缓存中的对应于所述存储器地址的缓存行的状态传输到从包括所述第二缓存和所述第三缓存的组中选择的所选缓存;以及,将所述第一缓存中的所述缓存行降级。—般而言,一方面,本专利技术涉及用于管理缓存的系统。该系统包括包括第一核、第二核,以及第三核的第一处理器;位于所述第一处理器上的并与所述第一核相关联的第一缓存;位于所述第一处理器上的并与所述第二核相关联的第二缓存;位于所述第一处理器上的并与所述第三核相关联的第三缓存;第一缓存代理,操作地连接到第一缓存并被配置成使用所述处理器上的第一物理网络广播对存储器地址的对等(P2P)请求;第二缓存代理,操作地连接到所述第二缓存并被配置成使用所述处理器上的第二物理网络,基于所述P2P请求的类型和所述第二缓存中的对应于所述存储器地址的缓存行的状态,发出对该P2P请求的第一响应;第三缓存代理,操作地连接到第三缓存并被配置成使用所述第二物理网络发出对所述P2P请求的第二响应,其中,第一缓存代理进一步被配置成基于第一响应和第二响应修改第一缓存中的对应于该存储器地址的缓存行的状态。通过下面的描述和所附权利要求书,本专利技术的其他方面将变得显而易见。附图说明图I示出了描绘了根据本专利技术的一个或多个实施例的系统的框图。图2示出了根据本专利技术的一个或多个实施例的关于缓存行(cacheline)状态的表。图3示出了根据本专利技术的一个或多个实施例的关于对等(P2P)请求类型的表。图4示出了根据本专利技术的一个或多个实施例的请求和响应分组。 图5示出了根据本专利技术的一个或多个实施例的流程图。图6示出了关于对P2P请求的响应的表。图I示出了关于响应于P2P请求而对缓存行状态的更改的表。图8示出了根据本专利技术的一个或多个实施例的流程图。图9示出了关于对于多个P2P请求类型准许的初始缓存行状态的表。图10示出了关于根据接收到的对P2P请求的响应而对缓存行状态的更改的表。图11A、11B,以及IlC示出了根据本专利技术的一个或多个实施例的示例。图12示出了根据本专利技术的一个或多个实施例的流程图。图13示出了关于根据接收到的响应和现有缓存行状态的数据包类型和新缓存行状态的表。图14示出了根据本专利技术的一个或多个实施例的流程图。图15A、15B,以及15C示出了根据本专利技术的一个或多个实施例的示例。图16示出了根据本专利技术的一个或多个实施例的计算机系统。具体实施例方式现在将参考附图详细描述本专利技术的具体实施例。为确保一致性,各种图形中的相同元件通过相同引用编号来表示。在下面的对本专利技术的各实施例的详细描述中,阐明了众多具体细节以提供对本专利技术的更加全面的理解。然而,对本领域的技术人员显而易见的是,本专利技术也可以在没有这些具体细节的情况下实施,在其他情况下,没有对已知的特征进行详细描述,以避免不必要地使描述复杂化。一般而言,本专利技术的各实施例提供用于在多核处理器上的多个缓存之间维护缓存一致性的系统和方法。具体而言,每一缓存都与缓存代理和多核处理器的至少一个核相关联。此外,每一缓存都将多个缓存行保持在各种状态。为解决缓存未中和/或将对一个缓存行的控制转移到另一个缓存,缓存代理广播对等(P2P)请求。缓存代理还处理对P2P请求的响应(例如,来自其他缓存代理)。图I示出了根据本专利技术的一个或多个实施例的系统(100)。如图I所示,系统(100)包括具有可操作地连接到多个缓存(例如,缓存I (110)、缓存X (120))的多个处理器核(例如,核Yl (114)、核Y2 (116)、核Xl (124)、核X2 (126))的处理器(199)。处理器(199)还包括可操作地连接到一个或多个外部(即,处理器之外)的设备的直接存储器访问(DMA)缓存(130);用于与处理器之外的主存储器进行通信的一个或多个存储器控制单元(MCU)(例如,MCU A (144),MCU B (146));以及,对于给定存储器地址,与用于在处理器(199)及其他处理器之间维护缓存一致性的处理器之间的一致性协议进行交互的一个或多个网关(例如,网关(152))。为了成功地执行指令,处理器核(114、116、124、126)和/或外部设备必须频繁地访问(例如,读写)主存储器中的一个或多个存储器地址。为了加快这些指令的执行,某些存储器地址的内容可以本地存储在缓存(110,120,130)中,这比主存储器具有更快的访问时间。如果缓存(110,120,130)未存储所需的存储器地址的内容,或者如果缓存(110,120,130)未在所需的状态存储存储器地址的内容(下面所讨论的),则发生缓存未中。缓存(110,120,130)将对应于一个或多个存储器地址的缓存行存储在主存储器中。例如,缓存I (110)存储缓存行E (111)、缓存行F (112),以及缓存行G (113)。每一缓存行(111,112,113 )对应于主存储器中的一个或多个存储器地址。此外,每一缓存行(111, 112,113)还可以被系统(100)中的另一个缓存(例如,120,130)保存。如果一缓存行在任何缓存(110,120,130)中有效,则唯一缓存(110,120,130)被指定为该缓存行的“供给者”。供给者供应缓存行以服务另一个缓存中的缓存未中。在本专利技术的一个或多个实施例中,在填充或升级缓存行之后,请求者变为供给者。作为替代地,本文档来自技高网...

【技术保护点】

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

【专利技术属性】
技术研发人员:P·N·洛文斯坦
申请(专利权)人:甲骨文国际公司
类型:
国别省市:

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

1