【技术实现步骤摘要】
主机
‑
设备系统中实现或管理缓存一致性的方法和系统
[0001]本公开涉及一种在主机
‑
设备系统中进行缓存一致性管理的方法,以及一种在主机
‑
设备系统中实现缓存一致性的方法和系统。
技术介绍
[0002]图1例示了主机
‑
设备系统100,该主机
‑
设备系统100包括可以与N个设备102
‑
1、102
‑
2、
…
、102
‑
N进行通信的主机设备101。主机设备101和设备102各自分别具有其自己的缓存部(cache)111、112
‑
1、112
‑
2、
…
、112
‑
N。
[0003]在系统100中,多个设备可以访问缓存部之一中的同一储存块(memoryblock)。在这些访问中的各个访问中,设备至少读取一次该储存块,然后至少写入一次该储存块。例如,设备中的所有设备可能递增相同的计数器。而且,一个设备的读访问和写访问可以与其它设备中的一个或更多个其它设备的读访问和写访问同时发生,并且来自不同设备的读访问和写访问可以被任意混合。
[0004]因为主机设备101和设备102中的每一个在其各自的缓存部111和112中在本地缓存其数据,所以一个缓存部中的数据可以不同于另一个缓存部中的数据,例如,这取决于读和写发生的顺序。
[0005]因此,需要缓存一致性协议来跨系统100中
【技术保护点】
【技术特征摘要】
1.一种在包括多个设备的主机
‑
设备系统中进行缓存一致性管理的方法,所述多个设备包括主机设备,所述方法包括以下步骤:将共享数据存储在所述主机设备的缓存部中,其中,所述共享数据包括能够由所述多个设备中的至少两个设备访问的数据;以及从多个缓存一致性模式中选择缓存一致性模式,其中,所述多个缓存一致性模式包括第一缓存一致性模式,所述第一缓存一致性模式包括:响应于所述多个设备中的某一设备向所述主机设备发出针对所述共享数据的实例的读请求,将所述共享数据的所述实例从所述主机设备发送至发出所述读请求的所述设备;以及响应于所述多个设备中的某一设备向所述主机设备发出写请求,将与所述写请求相关联的数据存储在所述主机设备的所述缓存部中。2.根据权利要求1所述的方法,其中,所述共享数据未存储在所述多个设备中的除所述主机设备之外的设备上的缓存部中。3.根据权利要求1所述的方法,其中,所述多个设备中的设备之间的通信仅通过所述主机设备进行。4.根据权利要求1所述的方法,其中,所述多个设备中的各个设备包括各自的处理器和各自的储存器。5.根据权利要求1所述的方法,所述方法还包括以下步骤:确定是否满足第一条件,其中,当所述主机
‑
设备系统中的缓存未命中的数量超过第一阈值时,满足所述第一条件;以及确定是否满足第二条件,其中,当与所述共享数据相关联并且由任何两个或更多个设备中的每个设备发出的访问请求的数量在第二阈值与第三阈值之间的范围内时,满足所述第二条件;其中,当满足所述第一条件和所述第二条件两者时,选择所述第一缓存一致性模式,否则所述方法包括以下步骤:选择除所述第一缓存一致性模式之外的缓存一致性模式。6.根据权利要求5所述的方法,其中,所述访问请求中的各个访问请求包括读请求和写请求两者。7.根据权利要求5所述的方法,其中,所述选择除所述第一缓存一致性模式之外的缓存一致性模式的步骤包括:确定是否满足第三条件,其中,当与所述共享数据相关联并且由所述多个设备中的第一设备发出的访问请求的数量超过第四阈值时,满足所述第三条件;当满足所述第三条件时,选择第二缓存一致性模式,所述第二缓存一致性模式包括将所述共享数据存储在所述第一设备的缓存部中;以及当不满足所述第三条件时,选择第三缓存一致性模式,所述第三缓存一致性模式包括将所述共享数据存储在所述多个设备的缓存部中。8.根据权利要求7所述的方法,其中,所述第二缓存一致性模式包括:响应于所述多个设备中的第二设备向所述主机设备发出针对所述共享数据的实例的读请求:从所述主机设备向所述第一设备发送来自所述第二设备的所述读请求,其中,由所述第二设备请求的所述共享数据的所述实例存储在所述第一设备的缓存部中;从所述第一
设备向所述主机设备发送由所述第二设备请求的所述共享数据的所述实例;并且从所述主机设备向所述第二设备发送由所述第二设备请求的所述共享数据的所述实例;以及响应于所述第二设备发出写请求:向所述主机设备发送与来自所述第二设备的所述写请求相关联的数据;从所述主机设备向所述第一设备发送与来自所述第二设备的所述写请求相关联的数据;并且将与来自所述第二设备的所述写请求相关联的数据存储在所述第一设备的所述缓存部中。9.根据权利要求7所述的方法,其中,所述第三缓存一致性模式包括:由所述第一设备从所述主机设备的所述缓存部访问所述共享数据的实例的版本;将所述共享数据的所述实例的所述版本存储在所述第一设备的所述缓存部中,其中,所述第一设备的所述缓存部包括脏缓存行,所述脏缓存行包括所述共享数据的所述实例的所述版本;由所述多个设备中的第二设备向所述主机设备发送缓存读未命中消息;响应于所述缓存读未命中消息,从所述主机设备向所述多个设备中的其它设备发送读未命中消息;由所述第一设备监听所述读未命中消息;响应于所述监听,从所述第一设备向所述主机设备发送所述脏缓存行;从所述主机设备向所述第二设备发送所述脏缓存行;将所述脏缓存行存储在所述第二设备的所述缓存部中;从所述第二设备向所述主机设备发送写无效消息;从所述主机设备向所述多个设备中的所述其它设备发送所述写无效消息;响应于所述写无效消息,由所述第一设备使所述第一设备的所述缓存部中的所述脏缓存行无效。10.一种在包括多个设备的主机
‑
设备系统中实现缓存一致性的方法,所述多个设备包括主机设备,所述方法包括以下步骤:将共享数据存储在所述主机设备的缓存部中,其中,所述共享数据包括能够由所述多个设备中的至少两个设备访问的数据,并且其中,所述多个设备中的设备之间的通信通过所述主机设备进行;以及执行多个缓存一致性模式中的第一缓存一致性模式,其中,在所...
【专利技术属性】
技术研发人员:段立德,牛迪民,刘宏宇,李双辰,郑宏忠,
申请(专利权)人:阿里巴巴集团控股有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。