主机-设备系统中实现或管理缓存一致性的方法和系统技术方案

技术编号:30344995 阅读:42 留言:0更新日期:2021-10-12 23:29
本公开提供一种主机

【技术实现步骤摘要】
主机

设备系统中实现或管理缓存一致性的方法和系统


[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中的设备维持缓存一致性。

技术实现思路

[0006]本文公开了一种新颖的缓存一致性协议或模式。
[0007]在实施方式中,主机

设备系统包括主机设备以及(例如,通过总线和/或在网络中有线地和/或无线地)以通信的方式(communicative)联接至该主机设备的多个其它设备。共享数据(可由主机

设备系统中的设备中的至少两个设备访问的数据)存储在主机设备的缓存部中。主机

设备系统中的设备之间的通信是通过主机设备进行的。在这些实施方式中,缓存一致性模式包括:响应于来自主机

设备系统中的设备的针对共享数据的实例的读请求,将共享数据的实例从主机设备发送至该设备;以及响应于来自设备的写请求,将与该写请求相关联的数据存储在主机设备的缓存部中。在该缓存一致性模式(在本文中可以称为第一缓存一致性模式)下,共享数据“固定(pin)”在主机设备的缓存部中,并且未缓存在主机

设备系统中的任何其它设备中。由于主机

设备系统中只存在共享数据的一个缓存副本,因此该系统中的设备是缓存一致的(即,共享数据跨系统中所有缓存部是一致的)。
[0008]根据本专利技术的实施方式减少了与读取数据相关联的等待时间;减少了设备之间传输的数据量,从而节省了带宽;减少了与维持缓存一致性相关联的消息的数量,从而也减少了等待时间并节省了带宽;并且不是基于监听(snoop)的(例如,设备确实需要监听由其它设备发送的消息)。
[0009]本文还公开了一种新颖的缓存一致性管理的方法,其在不同缓存一致性模式之间自适应地且动态地切换。
[0010]在实施方式中,在类似于上述主机

设备系统的主机

设备系统中,当满足第一条件和第二条件两者时,从多个缓存一致性模式中选择前述的第一缓存一致性模式。例如,当主机

设备系统中存在许多缓存未命中时,或者例如当主机

设备系统中的各个设备经历了许多缓存未命中时,满足第一条件。当与共享数据相关联的读请求和写请求(访问请求)的数量在主机

设备系统中的不同(例如,至少两个)设备中大约相同时,满足第二条件。
[0011]如果不满足第一条件和第二条件两者,则选择不同的缓存一致性模式。例如,在实施方式中,当不满足第一条件和第二条件但是满足第三条件时,则选择第二缓存一致性模式。例如,当主机

设备系统中的设备之一主导(dominate)访问请求的数量时,满足第三条件。在第二缓存一致性模式下,共享数据存储(固定)在主导设备的缓存部中,而未缓存在系统中的任何其它设备中。如果不满足第一条件、第二条件和第三条件,则选择第三缓存一致性模式(例如,基于监听的协议)。
[0012]本领域普通技术人员在阅读了各个附图中例示出的实施方式的以下详细描述之后,将认识到本专利技术的各个实施方式的上述以及其它目的和优点。
附图说明
[0013]并入本说明书并形成本说明书的一部分的附图例示了本公开的实施方式,在附图中,相同的附图标记表示相同的元素,并且附图与详细描述一起用于解释本公开的原理。
[0014]图1是例示了传统主机

设备系统的框图。
[0015]图2例示了根据本专利技术的实施方式中的主机

设备系统以及可以在主机

设备系统中执行的第一缓存一致性模式。
[0016]图3是例示了根据本专利技术的实施方式中的第一缓存一致性模式下的操作的流程图。
[0017]图4例示了根据本专利技术的实施方式中的可以在主机

设备系统中执行的第二缓存一致性模式。
[0018]图5例示了根据本专利技术的实施方式中的可以在主机

设备系统中执行的第三缓存一致性模式。
[0019]图6是例示了根据本专利技术的实施方式中的缓存一致性管理方法中的操作的流程图。
[0020]图7是例示了可以在其上实现根据本专利技术的实施方式的示例计算系统或设备的框图。
具体实施方式
[0021]现在将详细参照本公开的各种实施方式,其示例在附图中例示出。尽管结合这些实施方式进行了描述,但是将理解,并不旨在将本公开限制于这些实施方式。相反,本公开旨在涵盖另选例、修改例和等同例,所述另选例、修改例和等同例可以包括在由所附权利要求书限定的本公开的精神和范围内。此外,在本公开的以下详细描述中,阐述了许多具体细节以提供对本公开的透彻理解。然而,将理解,可以在不具有这些具体细节的情况下实践本公开。在其它情况下,未详细描述公知方法、过程、部件和电路,以免不必要地模糊本公开的各方面。
[0022]下面的详细描述的一些部分以过程、逻辑块、处理以及与计算机储存器内的数据位有关的操作的其它符号表示的方式呈现。这些描述和表示是数据处理领域的技术人员用来将其工作的实质最有效地传达给本领域其它技术人员的手段。在本申请中,过程、逻辑块、处理等被认为是导致期望结果的步骤或指令的自洽序列。这些步骤是利用物理量的物理操纵的步骤。通常,尽管不是必须的,但是这些量采取能够在计算机系统中存储、传输、组合、比较和以其它方式操纵的电或磁信号的形式。主要出于通用原因,已证明有时将这些信号称为事务、位、值、元素、符号、字符、样本、像素等是方便的。...

【技术保护点】

【技术特征摘要】
1.一种在包括多个设备的主机

设备系统中进行缓存一致性管理的方法,所述多个设备包括主机设备,所述方法包括以下步骤:将共享数据存储在所述主机设备的缓存部中,其中,所述共享数据包括能够由所述多个设备中的至少两个设备访问的数据;以及从多个缓存一致性模式中选择缓存一致性模式,其中,所述多个缓存一致性模式包括第一缓存一致性模式,所述第一缓存一致性模式包括:响应于所述多个设备中的某一设备向所述主机设备发出针对所述共享数据的实例的读请求,将所述共享数据的所述实例从所述主机设备发送至发出所述读请求的所述设备;以及响应于所述多个设备中的某一设备向所述主机设备发出写请求,将与所述写请求相关联的数据存储在所述主机设备的所述缓存部中。2.根据权利要求1所述的方法,其中,所述共享数据未存储在所述多个设备中的除所述主机设备之外的设备上的缓存部中。3.根据权利要求1所述的方法,其中,所述多个设备中的设备之间的通信仅通过所述主机设备进行。4.根据权利要求1所述的方法,其中,所述多个设备中的各个设备包括各自的处理器和各自的储存器。5.根据权利要求1所述的方法,所述方法还包括以下步骤:确定是否满足第一条件,其中,当所述主机

设备系统中的缓存未命中的数量超过第一阈值时,满足所述第一条件;以及确定是否满足第二条件,其中,当与所述共享数据相关联并且由任何两个或更多个设备中的每个设备发出的访问请求的数量在第二阈值与第三阈值之间的范围内时,满足所述第二条件;其中,当满足所述第一条件和所述第二条件两者时,选择所述第一缓存一致性模式,否则所述方法包括以下步骤:选择除所述第一缓存一致性模式之外的缓存一致性模式。6.根据权利要求5所述的方法,其中,所述访问请求中的各个访问请求包括读请求和写请求两者。7.根据权利要求5所述的方法,其中,所述选择除所述第一缓存一致性模式之外的缓存一致性模式的步骤包括:确定是否满足第三条件,其中,当与所述共享数据相关联并且由所述多个设备中的第一设备发出的访问请求的数量超过第四阈值时,满足所述第三条件;当满足所述第三条件时,选择第二缓存一致性模式,所述第二缓存一致性模式包括将所述共享数据存储在所述第一设备的缓存部中;以及当不满足所述第三条件时,选择第三缓存一致性模式,所述第三缓存一致性模式包括将所述共享数据存储在所述多个设备的缓存部中。8.根据权利要求7所述的方法,其中,所述第二缓存一致性模式包括:响应于所述多个设备中的第二设备向所述主机设备发出针对所述共享数据的实例的读请求:从所述主机设备向所述第一设备发送来自所述第二设备的所述读请求,其中,由所述第二设备请求的所述共享数据的所述实例存储在所述第一设备的缓存部中;从所述第一
设备向所述主机设备发送由所述第二设备请求的所述共享数据的所述实例;并且从所述主机设备向所述第二设备发送由所述第二设备请求的所述共享数据的所述实例;以及响应于所述第二设备发出写请求:向所述主机设备发送与来自所述第二设备的所述写请求相关联的数据;从所述主机设备向所述第一设备发送与来自所述第二设备的所述写请求相关联的数据;并且将与来自所述第二设备的所述写请求相关联的数据存储在所述第一设备的所述缓存部中。9.根据权利要求7所述的方法,其中,所述第三缓存一致性模式包括:由所述第一设备从所述主机设备的所述缓存部访问所述共享数据的实例的版本;将所述共享数据的所述实例的所述版本存储在所述第一设备的所述缓存部中,其中,所述第一设备的所述缓存部包括脏缓存行,所述脏缓存行包括所述共享数据的所述实例的所述版本;由所述多个设备中的第二设备向所述主机设备发送缓存读未命中消息;响应于所述缓存读未命中消息,从所述主机设备向所述多个设备中的其它设备发送读未命中消息;由所述第一设备监听所述读未命中消息;响应于所述监听,从所述第一设备向所述主机设备发送所述脏缓存行;从所述主机设备向所述第二设备发送所述脏缓存行;将所述脏缓存行存储在所述第二设备的所述缓存部中;从所述第二设备向所述主机设备发送写无效消息;从所述主机设备向所述多个设备中的所述其它设备发送所述写无效消息;响应于所述写无效消息,由所述第一设备使所述第一设备的所述缓存部中的所述脏缓存行无效。10.一种在包括多个设备的主机

设备系统中实现缓存一致性的方法,所述多个设备包括主机设备,所述方法包括以下步骤:将共享数据存储在所述主机设备的缓存部中,其中,所述共享数据包括能够由所述多个设备中的至少两个设备访问的数据,并且其中,所述多个设备中的设备之间的通信通过所述主机设备进行;以及执行多个缓存一致性模式中的第一缓存一致性模式,其中,在所...

【专利技术属性】
技术研发人员:段立德牛迪民刘宏宇李双辰郑宏忠
申请(专利权)人:阿里巴巴集团控股有限公司
类型:发明
国别省市:

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

1