本发明一般涉及计算机系统,并且更具体地,涉及被配置和布置为使用分散式热缓存行跟踪公平机制的计算机实现的方法、计算机系统和计算机程序产品。
背景技术:
1、在具有在相同抽屉(drawer)上的多个处理器芯片和/或在共享一个或多个缓存的其它抽屉中的处理器芯片的计算环境中,这些处理器芯片可以访问相同的缓存行(cacheline)。缓存行或行(line)是特定大小(例如256字节)的数据的一部分,其适合缓存中的单个缓存条目。当在存储器和缓存之间传送数据时,在缓存行粒度上管理一致性。为了确保缓存行的一致性,使用监听请求(也称为监听或获取请求)。通过从请求缓存接收监听请求、确定该缓存是否具有处于适当状态的缓存行的副本、将缓存行发送到请求缓存以及更新该缓存中的缓存行的状态,来处理监听请求。
2、缓存结构及其相关服务向处理器芯片提供它们的共享数据的数据一致性。相同抽屉上的许多处理器芯片和/或不同抽屉上的处理器芯片可能尝试访问相同缓存行。需要改进对共享缓存的缓存行的访问的技术。
技术实现思路
1、根据一个方面,提供了一种计算机实现的方法,包括:响应于接收访问缓存行的传入请求,基于与缓存行相关联的请求状态和服务状态来确定准许对缓存行的访问,结构包括请求状态和服务状态;以及响应于确定准许对缓存行的访问,传送请求状态和服务状态连同缓存行的数据。
2、根据另一方面,提供了一种计算机程序,包括程序代码装置,当该程序在计算机上运行时,程序代码装置适于执行前段的方法。
3、根据另一方面,提供了一种系统,包括:共享缓存;以及控制器,其耦合到共享缓存,控制器被配置为:响应于接收访问缓存行的传入请求,基于与缓存行相关联的请求状态和服务状态来确定准许对缓存行的访问,结构包括请求状态和服务状态;以及响应于确定准许对缓存行的访问,传送请求状态和服务状态连同缓存行的数据。
4、根据另一方面,提供了一种包括逻辑的控制器,逻辑可执行以执行操作,操作包括:响应于接收访问缓存行的传入请求,基于与缓存行相关联的请求状态和服务状态来确定准许对缓存行的访问,结构包括请求状态和服务状态;以及响应于确定准许对缓存行的访问,传送请求状态和服务状态连同缓存行的数据。
5、根据另一方面,提供了一种计算机实现的方法,包括:响应于从请求者接收访问缓存行的传入请求,基于与缓存行相关联的请求状态和服务状态来确定拒绝对缓存行的访问,结构包括请求状态和服务状态;响应于确定拒绝对缓存行的访问,设置请求状态中的比特,该比特对应于请求者;响应于从请求者接收访问缓存行的另一传入请求,基于在请求状态中设置的比特和服务状态,做出针对另一传入请求准许对缓存行的访问的另一确定;以及将请求状态和服务状态连同缓存行的数据一起传送到请求者。
6、根据另一方面,提供了一种计算机程序,包括程序代码装置,当程序在计算机上运行时,程序代码装置适于执行前段的方法。
7、根据另一方面,提供了一种系统,包括:共享缓存;以及控制器,其耦合到共享缓存,控制器被配置为:响应于从请求者接收访问缓存行的传入请求,基于与缓存行相关联的请求状态和服务状态来确定拒绝对缓存行的访问,结构包括请求状态和服务状态;响应于确定拒绝对缓存行的访问,设置请求状态中的比特,该比特对应于请求者;响应于从请求者接收访问缓存行的另一传入请求,基于在请求状态中设置的比特和服务状态,做出针对另一传入请求准许对缓存行的访问的另一确定;以及将请求状态和服务状态连同缓存行的数据一起传送到请求者。
8、本发明的实施例涉及用于使用分散式热缓存行跟踪公平机制的计算机实现的方法。非限制性计算机实现的方法包括:响应于接收访问缓存行的传入请求,基于与缓存行相关联的请求状态和服务状态来确定准许对缓存行的访问。该方法包括响应于确定准许对缓存行的访问,将请求状态和服务状态连同缓存行的数据一起传送。
9、这可通过有效地提供公平跟踪机制以确保需要访问缓存行的所有请求者将以及时和公平的方式获得对该行的访问,来提供对用于处理缓存请求的已知方法的改进。本发明的一个或多个实施例通过使用分散的、分级的热缓存行公平机制克服了现有实现的可扩展性问题。
10、除了上文或下文描述的一个或多个特征之外,或者作为替代,在本发明的进一步实施例中,将请求状态和服务状态传送到做出传入请求的控制器。一个或多个实施例有利地使用两个向量,这两个向量被分配、解除分配并与每个缓存行相关联,并且这些向量与每个缓存行的数据一起在系统中传递,消除了对设计中的大的集中物理空间的需要。此外,这些向量是层级结构的,减少了所需的存储空间。
11、除了上文或下文描述的一个或多个特征之外,或者作为替代,在本发明的另外实施例中,从接收到传入请求的控制器传送请求状态和服务状态。一个或多个实施例有利地使用每个缓存行的两个向量,并且这些向量与每个缓存行的数据一起在系统中传递,消除了对设计中的大的集中物理空间的需要。此外,这些向量是层级结构的,减少了所需的存储空间。
12、除了上文或下文描述的一个或多个特征之外,或者作为替代,在本发明的其他实施例中,请求状态被配置为跟踪被观测到但未被准许的访问缓存行的请求。一个或多个实施例有利地提供了两个向量,这两个向量同时工作以形成热缓存行被请求的位置以及缓存行被准许访问的位置的编码状态,由此消除了设计中对大型集中物理空间的需要。如果存在先前请求过缓存行并且还没有被准许访问的其它请求者,则重新请求相同缓存行(之前被准许访问热缓存行一次)的请求者不能再次接收该缓存行。
13、除了上文或下文描述的一个或多个特征之外,或者作为替代,在本发明的其他实施例中,服务状态被配置为跟踪被观测到并被准许访问缓存行的请求。一个或多个实施例有利地提供了两个向量,这两个向量同时工作以形成热缓存行被请求的位置以及热缓存行被准许访问的位置的编码状态,由此消除了对设计中的大型集中物理空间的需要。如果存在先前请求过缓存行并且尚未被准许访问的其它请求者,则重新请求同一缓存行(之前被准许访问热缓存行一次)的请求者不能再次接收该行。
14、除了上文或下文描述的一个或多个特征之外,或者作为替换,在本发明的其它实施例中,请求状态和服务状态被配置成传送到计算环境中的多个控制器。本发明的一个或多个实施例通过使用分散的、分级的热缓存行公平机制克服了现有实现的可扩展性问题。
15、本发明的实施例涉及使用分散的热缓存行跟踪公平机制的方法。非限制性计算机实现的方法包括:响应于从请求者接收访问缓存行的传入请求,基于与缓存行相关联的请求状态和服务状态来确定拒绝访问缓存行,结构包括请求状态和服务状态。该方法包括响应于确定拒绝对缓存行的访问,设置请求状态中的比特,该比特对应于请求者。该方法包括响应于从请求者接收访问缓存行的另一传入请求,基于请求状态中设置的比特和服务状态来做出针对另一传入请求准许对缓存行的访问的另一确定,并且将请求状态和服务状态连同缓存行的数据一起传送给请求者。
16、这可以通过有效地提供公平跟踪机制来提供对用于处理缓存请求的已知方法的改进,公平跟踪机制确保需要访问缓存行的所有请求者将以及时和公平的方式获得对缓存行的访问。本发明的一个或多个实施例通过使用分散的、分级的热缓存行公平机制克服了现有实现的可扩展性问题。
17、本发明的其它实施例在计算机系统和计算机程序产品中实现上述方法的特征。
18、通过本发明的技术实现了额外的技术特征和益处。在本文中详细描述本发明的实施例和方面,并且被认为是所要求保护的主题的一部分。为了更好地理解,参考详细描述和附图。
1.一种计算机实现的方法,包括:
2.根据权利要求1所述的计算机实现的方法,其中,所述请求状态和所述服务状态被传送到做出所述传入请求的控制器。
3.根据权利要求1所述的计算机实现的方法,其中,控制器被配置为接收所述传入请求。
4.根据权利要求1的计算机实现的方法,其中,从接收所述传入请求的控制器传送所请求的结构和所服务的结构。
5.根据权利要求1所述的计算机实现的方法,其中,
6.根据权利要求1所述的计算机实现的方法,其中,所述结构中的第一部分被配置为跟踪第一范围中的第一请求者,并且所述结构中的第二部分被配置为跟踪第二范围中的第二请求者,所述第一范围和所述第二范围具有层级关系。
7.根据权利要求1所述的计算机实现的方法,其中,所述结构中的第一条目被配置为针对第一缓存跟踪所述请求状态和所述服务状态,并且所述结构中的第二条目被配置为针对第二缓存跟踪其它请求状态和服务状态。
8.根据权利要求1所述的计算机实现的方法,其中,所述结构包括用于跟踪所述请求状态的请求的结构和用于跟踪所述服务状态的服务的结构。
9.根据权利要求1所述的计算机实现的方法,包括:
10.根据权利要求9所述的计算机实现的方法,其中,所述请求者是控制器,所述控制器做出所述传入请求。
11.根据权利要求9所述的计算机实现的方法,其中,基于在所述请求状态中针对比与所述请求者相关联的另一范围更低的范围而设置的值来确定拒绝对所述缓存行的访问。
12.根据权利要求9所述的计算机实现的方法,其中,所述请求状态和所述服务状态从接收到所述传入请求的控制器被传送到发送所述传入请求的所述请求者。
13.一种系统,包括:
14.根据权利要求13所述的系统,其中,所述请求状态和所述服务状态被传送到做出所述传入请求的控制器。
15.根据权利要求13所述的系统,其中,所述控制器被配置为接收所述传入请求。
16.根据权利要求13所述的系统,其中,从接收所述传入请求的所述控制器传送所述请求状态和所述服务状态到另一控制器。
17.根据权利要求13所述的系统,其中,
18.根据权利要求13所述的系统,其中,所述结构中的第一部分被配置为跟踪第一范围中的第一请求者,并且所述结构中的第二部分被配置为跟踪第二范围中的第二请求者,所述第一范围和所述第二范围具有层级关系。
19.根据权利要求13所述的系统,其中,所述结构中的第一条目被配置为针对第一缓存跟踪所述请求状态和所述服务状态,并且所述结构中的第二条目被配置为针对第二缓存跟踪其它请求状态和服务状态。
20.根据权利要求13的系统,其中,所述结构包括用于跟踪所述请求状态的请求的结构和用于跟踪所述服务状态的服务的结构。
21.根据权利要求13所述的系统,其中,所述控制器还被配置为:
22.一种控制器,其包括逻辑,所述逻辑能够执行以执行操作,所述操作包括:
23.根据权利要求22所述的控制器,其中,所述逻辑被配置为将所述请求状态和所述服务状态传送到发送所述传入请求的另一控制器。
24.根据权利要求22所述的控制器,其中,
25.根据权利要求22所述的控制器,其中,所述结构中的第一部分被配置为跟踪第一范围中的第一请求者,并且所述结构中的第二部分被配置为跟踪第二范围中的第二请求者,所述第一范围和所述第二范围具有层级关系。
26.一种计算机实现的方法,包括:
27.根据权利要求26所述的计算机实现的方法,其中,所述请求者是控制器,所述控制器做出所述传入请求。
28.根据权利要求26所述的计算机实现的方法,其中,基于在所述请求状态中针对比与所述请求者相关联的另一范围更低的范围而设置的值来确定拒绝对所述缓存行的访问。
29.根据权利要求26所述的计算机实现的方法,其中,所述请求状态和所述服务状态从接收到所述传入请求的控制器被传送到发送所述传入请求的所述请求者。
30.一种系统,包括:
31.一种计算机程序,包括程序代码装置,在所述程序在计算机上运行时,所述程序代码装置适于执行根据权利要求1至12中任一项所述的方法或根据权利要求26至29中任一项所述的方法。