CN106326143A - 一种缓存分配、数据访问、数据发送方法、处理器及系统 - Google Patents
一种缓存分配、数据访问、数据发送方法、处理器及系统 Download PDFInfo
- Publication number
- CN106326143A CN106326143A CN201510342107.9A CN201510342107A CN106326143A CN 106326143 A CN106326143 A CN 106326143A CN 201510342107 A CN201510342107 A CN 201510342107A CN 106326143 A CN106326143 A CN 106326143A
- Authority
- CN
- China
- Prior art keywords
- processor
- data
- caching
- buffer utilization
- stored
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multi Processors (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本发明公开了一种缓存分配、数据访问、数据发送方法、处理器及系统,所述方法包括:第二处理器接收第一处理器发送的用于获取第一数据的访问请求,其中,所述第一数据未存储在所述第一处理器的缓存中,且存储在所述第二处理器的缓存中,所述访问请求包括所述第一处理器与所述第二处理器之间的路径上的各个处理器的缓存利用率;所述第二处理器将所述各个处理器中缓存利用率低于所述第二处理器的缓存利用率的处理器确定为借用处理器;所述第二处理器将所述第一数据发送至借用处理器的缓存中,并指示所述借用处理器向所述第一处理器发送所述第一数据;其中,所述第一处理器、所述第二处理器和所述借用处理器属于同一多处理器系统。
Description
技术领域
本发明涉及计算机技术领域,特别涉及一种缓存分配、数据访问、数据发送方法、处理器及系统。
背景技术
当今的计算机系统通常为多处理器系统,即由多个处理器组成,并且一个处理器中也存在多个处理器核。每个处理器自身都有缓存,缓存中存储有供处理器访问的数据。如何为多个处理器及时有效地提供数据,成为多处理器系统的缓存结构设计的关键问题。
现有的多处理器系统的缓存结构设计为合作型缓存。对每个处理器来说,除了一级私有缓存外,每个处理器的二级缓存都被划分为两部分,一部分用于本地私有,一部分用于全局共享。私有部分和共享部分的大小可以动态调整。其中,用于本地私用的缓存中存储供处理器自身访问的数据,用于全局共享的缓存中存储供其他处理器访问的数据。因此,处理器的用于本地私有的缓存容量的最大值为该处理器的二级缓存容量,用于全局共享的缓存容量的最大值为该处理器的二级缓存容量。
因此,合作型缓存的缓存结构设计存在的不足是:处理器的缓存容量有限,无法应对该处理器的用于本地私有的缓存容量需求大于二级缓存容量的情况,或者该处理器的用于全局共享的缓存容量需求大于二级缓存容量的情况。
因此,现有的多处理器系统的缓存结构设计不合理,处理器的缓存容量有限。
发明内容
本发明实施例提供一种缓存分配、数据访问、数据发送方法、处理器及系统,供多处理器系统全局地为处理器分配更多的缓存容量,提高多处理器系统的总缓存的利用率。
本发明实施例第一方面提供了一种缓存分配方法,包括:
第二处理器接收第一处理器发送的用于获取第一数据的访问请求,其中,所述第一数据未存储在所述第一处理器的缓存中,且存储在所述第二处理器的缓存中,所述访问请求包括所述第一处理器与所述第二处理器之间的路径上的各个处理器的缓存利用率;
所述第二处理器将所述各个处理器中缓存利用率低于所述第二处理器的缓存利用率的处理器确定为借用处理器;
所述第二处理器将所述第一数据发送至借用处理器的缓存中,并指示所述借用处理器向所述第一处理器发送所述第一数据;
其中,所述第一处理器、所述第二处理器和所述借用处理器属于同一多处理器系统。
结合第一方面,在第一方面的第一种可能的实现方式中,在所述第二处理器指示所述借用处理器向所述第一处理器发送所述第一数据之后,所述方法还包括:
所述第二处理器指示所述借用处理器向所述第一处理器发送所述第一数据的存储信息,所述存储信息表征所述第一数据在所述借用处理器中的存储位置。
本发明实施例第二方面提供了一种数据访问方法,包括:
当第一处理器请求访问的第一数据未存储在所述第一处理器的缓存中,且存储在第二处理器的缓存中时,所述第一处理器向所述第二处理器发送用于获取所述第一数据的访问请求,所述访问请求包括所述第一处理器与所述第二处理器之间的路径上的各个处理器的缓存利用率;
所述第一处理器接收并存储借用处理器发送的所述第一数据,所述第一数据是所述第二处理器发送给所述借用处理器的;
其中,所述第一处理器、所述第二处理器和所述借用处理器属于同一多处理器系统,所述借用处理器为所述各个处理器中缓存利用率低于所述第二处理器的缓存利用率的处理器。
结合第二方面,在第二方面的第一种可能的实现方式中,所述第一处理器接收借用处理器发送的所述第一数据之后,还包括:
所述第一处理器接收并存储所述借用处理器发送的存储信息,所述存储信息表征所述第一数据在所述借用处理器中的存储位置。
结合第二方面,或结合第二方面的第一种可能的实现方式,在第二方面的第二种可能的实现方式中,所述方法还包括:
当所述第一处理器的缓存中存储的第二数据待被移动到内存控制器中时,所述第一处理器将所述第二数据移动至所述借用处理器。
结合第二方面,或结合第二方面的第一种可能的实现方式,或结合第二方面的第二种可能的实现方式,在第二方面的第三种可能的实现方式中,所述方法还包括:
当所述第一处理器的缓存中存储的第三数据的被访问频率低于所述借用处理器的缓存中存储的第四数据的被访问频率时,所述第一处理器将所述第三数据发送至所述借用处理器,且从所述借用处理器中读取并存储所述第四数据。
本发明实施例第三方面提供一种数据发送方法,包括:
借用处理器将第二处理器发送的第一数据存储至所述借用处理器的缓存中,其中,所述第一数据未存储在第一处理器的缓存中,且存储在所述第二处理器的缓存中;
所述借用处理器向所述第一处理器发送所述第一数据,所述第一数据是所述第二处理器发送给所述借用处理器的;
其中,所述第一处理器、所述第二处理器和所述借用处理器属于同一多处理器系统,所述借用处理器为所述各个处理器中缓存利用率低于所述第二处理器的缓存利用率的处理器。
结合第三方面,在第三方面的第一种可能的实现方式中,在所述借用处理器向所述第一处理器发送所述第一数据之后,所述方法还包括:
所述借用处理器向所述第一处理器发送所述第一数据的存储信息,所述存储信息表征所述第一数据在所述借用处理器中的存储位置。
结合第三方面,或结合第三方面的第一种可能的实现方式,在第三方面的第二种可能的实现方式中,所述方法还包括:
当所述借用处理器的缓存中存储的所述第一数据的被访问频率高于第一预定阈值时,所述借用处理器将所述第一数据发送至所述第一处理器或第三处理器,所述第三处理器与所述第一处理器之间的物理距离小于所述借用处理器与所述第一处理器之间的物理距离。
结合第三方面,或结合第三方面的第一种可能的实现方式,或结合第三方面的第二种可能的实现方式,在第三方面的第三种可能的实现方式中,所述方法还包括:
当所述借用处理器的缓存利用率高于第二预定阈值时,所述借用处理器将所述第一数据发送至所述第二处理器或所述第一处理器。
本发明实施例第四方面提供一种处理器,包括:
接收模块,用于接收第一处理器发送的用于获取第一数据的访问请求,其中,所述第一数据未存储在所述第一处理器的缓存中,且存储在所述处理器的缓存中,所述访问请求包括所述第一处理器与所述处理器之间的路径上的各个处理器的缓存利用率;
确定模块,用于将所述各个处理器中缓存利用率低于所述第二处理器的缓存利用率的处理器确定为借用处理器;
发送模块,用于将所述第一数据发送至借用处理器的缓存中;
指示模块,用于指示所述借用处理器向所述第一处理器发送所述第一数据;
其中,所述第一处理器、所述处理器和所述借用处理器属于同一多处理器系统。
结合第四方面,在第四方面的第一种可能的实现方式中,所述指示模块还用于:
指示所述借用处理器向所述第一处理器发送所述第一数据的存储信息,所述存储信息表征所述第一数据在所述借用处理器中的存储位置。
本发明实施例第五方面提供了一种处理器,包括:
发送模块,用于当所述处理器请求访问的第一数据未存储在所述处理器的缓存中,且存储在第二处理器的缓存中时,所述处理器向所述第二处理器发送用于获取所述第一数据的访问请求,所述访问请求包括所述处理器与所述第二处理器之间的路径上的各个处理器的缓存利用率;
接收模块,用于接收并存储借用处理器发送的所述第一数据,所述第一数据是所述第二处理器发送给所述借用处理器的;
其中,所述处理器、所述第二处理器和所述借用处理器属于同一多处理器系统,所述借用处理器为所述各个处理器中缓存利用率低于所述第二处理器的缓存利用率的处理器。
结合第五方面,在第五方面的第一种可能的实现方式中,所述接收模块还用于:
接收并存储所述借用处理器发送的存储信息,所述存储信息表征所述第一数据在所述借用处理器中的存储位置。
结合第五方面,或结合第五方面的第一种可能的实现方式,在第五方面的第二种可能的实现方式中,所述处理器还包括:
移动模块,用于当所述处理器的缓存中存储的第二数据待被移动到内存控制器中时,将所述第二数据移动至所述借用处理器。
结合第五方面,或结合第五方面的第一种可能的实现方式,或结合第五方面的第二种可能的实现方式,在第五方面的第三种可能的实现方式中,所述发送模块还用于:
当所述处理器的缓存中存储的第三数据的被访问频率低于所述借用处理器的缓存中存储的第四数据的被访问频率时,将所述第三数据发送至所述借用处理器,且从所述借用处理器中读取并存储所述第四数据。
本发明实施例第六方面提供一种处理器,包括:
存储模块,用于将第二处理器发送的第一数据存储至所述处理器的缓存中,其中,所述第一数据未存储在第一处理器的缓存中,且存储在所述第二处理器的缓存中;
发送模块,用于向所述第一处理器发送所述第一数据,所述第一数据是所述第二处理器发送给所述借用处理器的;
其中,所述第一处理器、所述第二处理器和所述处理器属于同一多处理器系统,所述处理器为所述各个处理器中缓存利用率低于所述第二处理器的缓存利用率的处理器。
结合第六方面,在第六方面的第一种可能的实现方式中,所述发送模块还用于:
向所述第一处理器发送所述第一数据的存储信息,所述存储信息表征所述第一数据在所述处理器中的存储位置。
结合第六方面,或结合第六方面的第一种可能的实现方式,在第六方面的第二种可能的实现方式中,所述发送模块还用于:
当所述处理器的缓存中存储的所述第一数据的被访问频率高于第一预定阈值时,所述处理器将所述第一数据发送至所述第一处理器或第三处理器,所述第三处理器与所述第一处理器之间的物理距离小于所述处理器与所述第一处理器之间的物理距离。
结合第六方面,或结合第六方面的第一种可能的实现方式,或结合第六方面的第二种可能的实现方式,在第六方面的第三种可能的实现方式中,所述发送模块还用于:
当所述处理器的缓存利用率高于第二预定阈值时,将所述第一数据发送至所述第二处理器或所述第一处理器。
本发明实施例第七方面提供一种多处理器系统,包括第一处理器、第二处理器和借用处理器;
所述第一处理器用于:当所述第一处理器请求访问的第一数据未存储在所述第一处理器的缓存中,且存储在第二处理器的缓存中时,向所述第二处理器发送用于获取所述第一数据的访问请求,所述访问请求包括所述第一处理器与所述第二处理器之间的路径上的各个处理器的缓存利用率;
所述第二处理器用于:接收第一处理器发送的用于获取第一数据的访问请求;将所述各个处理器中缓存利用率低于所述第二处理器的缓存利用率的处理器确定为借用处理器;将所述第一数据发送至借用处理器的缓存中,并指示所述借用处理器向所述第一处理器发送所述第一数据。
结合第七方面,在第七方面的第一种可能的实现方式中,所述第二处理器还用于:
指示所述借用处理器向所述第一处理器发送所述第一数据的存储信息,所述存储信息表征所述第一数据在所述借用处理器中的存储位置;
所述第一处理器用于:接收并存储所述借用处理器发送的所述存储信息。
本发明实施例中提供的一个或多个技术方案,至少具有如下技术效果或优点:
本发明实施例中,当第一处理器请求访问的第一数据未存储在自身缓存中,且存储在第二处理器的缓存中时,首先,第一处理器向第二处理器发送用于获取第一数据的访问请求,接着,第二处理器将第一数据发送至借用处理器的缓存中,并指示借用处理器向第一处理器发送第一数据,由于借用处理器为多处理器系统中缓存利用率低于第二处理器的处理器,利用借用处理器的缓存存储第一数据。将第二处理器的缓存中原本存储第一数据的空间誊空,用以存储其他数据,所以提高了多处理器系统的总缓存的利用率。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为多处理器系统的硬件架构示意图;
图2为本发明实施例提供的一种缓存分配方法的流程图;
图3为本发明实施例提供的一种数据访问方法的流程图;
图4为本发明实施例提供的一种数据发送方法的流程图;
图5为本发明实施例中第二处理器的结构框图;
图6为本发明实施例中第一处理器的结构框图;
图7为本发明实施例中借用处理器的结构框图;
图8为本发明实施例中多处理器系统的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参考图1,图1为多处理器系统的硬件架构示意图。图1中以三个处理器为例,分别为处理器A、处理器B和处理器C,其中每个处理器都有对应的缓存,分别为缓存A、缓存B和缓存C,以及,各处理器共用一个内存控制器。图1所示的多处理器系统适用于本发明实施例提供的一种缓存分配方法和一种数据访问方法以及一种数据发送方法。
请参考图2,图2为本发明实施例提供的一种缓存分配方法的流程图。该缓存分配方法包括:
步骤21:第二处理器接收第一处理器发送的用于获取第一数据的访问请求,其中,所述第一数据未存储在所述第一处理器的缓存中,且存储在所述第二处理器的缓存中,所述访问请求包括所述第一处理器与所述第二处理器之间的路径上的各个处理器的缓存利用率;
步骤22:所述第二处理器将所述各个处理器中缓存利用率低于所述第二处理器的缓存利用率的处理器确定为借用处理器;
步骤23:所述第二处理器将所述第一数据发送至借用处理器的缓存中,并指示所述借用处理器向所述第一处理器发送所述第一数据;
其中,所述第一处理器、所述第二处理器和所述借用处理器属于同一多处理器系统。
具体来讲,多处理器系统包括第一处理器和第二处理器,以及除第一处理器和第二处理器之外其他的处理器。如果第一处理器需要访问第一数据,但是第一数据未存储在第一处理器的缓存中,第一处理器通过目录查询到第一数据存储在第二处理器中,则第一处理器向第二处理器发送访问请求,该访问请求用于访问第一数据。
在第一处理器与第二处理器之间存在多条路径,每条路径上都分布有多个处理器,第一处理器利用一条路径将访问请求发送至第二处理器,同时,第一处理器统计路径上各个处理器的缓存利用率,并将缓存利用率携带在访问请求中,因此,第二处理器收到的访问请求还包括:第一处理器至第二处理器的路径上各个处理器的缓存利用率。
第二处理器将第二处理器的缓存利用率与第一处理器至第二处理器的路径上各个处理器的缓存利用率相比,从第一处理器至第二处理器的路径上各个处理器中确定出比第二处理器的缓存利用率低的处理器,作为借用处理器。
具体地,如果第一处理器至第二处理器的路径上各个处理器中,比第二处理器的缓存利用率低的处理器有一个,则将该处理器作为借用处理器。如果第一处理器至第二处理器的路径上各个处理器中,比第二处理器的缓存利用率低的处理器有多个,则将多个处理器中缓存利用率最低的处理器中任一个作为借用处理器。
由于借用处理器的缓存利用率低于第二处理器的缓存利用率,所以为了充分利用多处理器系统的总缓存,第二处理器将第一数据发送至借用处理器,利用借用处理器的缓存存储第一数据,将第二处理器的缓存中原本存储第一数据的空间誊空,用以存储其他数据。
另外,第二处理器还需对访问请求进行响应,所以在将第一数据发送至借用处理器后,还要指示借用处理器将第一数据发送至第一处理器,这样,第一处理器就获得了第一处理器需要访问的第一数据。
考虑到第一处理器可能再次访问第一数据,为方便第一处理器访问第一数据,在执行完步骤23后,还可以执行以下步骤:
所述第二处理器指示所述借用处理器向所述第一处理器发送所述第一数据的存储信息,所述存储信息表征所述第一数据在所述借用处理器中的存储位置。
具体来讲,第二处理器将第一数据发送至借用处理器后,借用处理器会将第一数据存储在借用处理器的缓存中,借用处理器记录第一数据在借用处理器的缓存中存储的位置,然后借用处理器根据第二处理器的指示,将第一数据在的借用处理器的缓存中的存储位置发送至第一处理器。第一处理器将第一数据在借用处理器的缓存中的存储位置记录在目录中,如果第一处理器需要再次访问第一数据,则从目录中查找到第一数据在借用处理器的缓存中的存储位置,然后通过访问借用处理器的缓存,获取第一数据。
需要说明的是,本发明实施例提供的缓存分配方法不仅适用于:将第一处理器与第二处理器的路径上各个处理器中的一个确定为借用处理器,还适用于:将第二处理器与内存控制器的路径上各个处理器中的一个确定为借用处理器。
具体来讲,上述实施例是以第二处理器的缓存中存储有第一数据举例。假设第二处理器的缓存中存储的第一数据已被替换到了内存控制器中,即:第一数据存储在第二处理器的缓存中,当第二处理器的缓存中需要存储另外一个数据(例如称为第三数据)时,可能第二处理器的缓存中没有剩余的空间了,则第二处理器需要将第一数据移动到内存中,用空出来的空间存放第三数据,这时,第一数据就相当于被替换到了内存控制器。
则第二处理器需要向内存控制器发送数据访问请求,该访问请求用于访问第一数据。
在第二处理器与内存控制器之间存在多条路径,每条路径上都分布有多个处理器,第二处理器利用一条路径将访问请求发送至内存控制器,同时,第二处理器统计路径上各个处理器的缓存利用率,并将缓存利用率携带在访问请求中,因此,内存控制器收到的访问请求还包括:第二处理器至内存控制器的路径上各个处理器的缓存利用率。
内存控制器从第二处理器至内存控制器的路径上各个处理器中确定出一个处理器,作为借用处理器。如果第二处理器至内存控制器的路径上各个处理器中,缓存利用率为最低值的处理器有一个,则将该处理器作为借用处理器。如果缓存利用率为最低值的处理器有多个,则将多个处理器中任一个作为借用处理器。
由于借用处理器的缓存利用率低,所以为了充分利用多处理器系统的总缓存,内存控制器将第一数据发送至借用处理器,利用借用处理器的缓存存储第一数据,将内存控制器的缓存中原本存储第一数据的空间誊空,用以存储其他数据。
另外,内存控制器还需对访问请求进行响应,所以在将第一数据发送至借用处理器后,还要指示借用处理器将第一数据发送至第二处理器,这样,第二处理器就获得了第一处理器需要访问的第一数据。最后将第一数据存储在第二处理器的缓存中。
需要说明的是,本发明实施例提供的缓存分配方法不仅适用于:将第一处理器与第二处理器的路径上各个处理器中的一个确定为借用处理器,还适用于:将第一处理器与借用处理器的路径上各个处理器中的一个确定为再次借用处理器。
具体来讲,上述实施例提出了第一处理器可以利用第一数据在借用处理器的缓存中的存储位置,访问借用处理器的缓存,进而获取第一数据。因此,第一处理器需要向借用处理器发送数据访问请求,该访问请求用于访问第一数据。
在第一处理器与借用处理器之间存在多条路径,每条路径上都分布有多个处理器,第一处理器利用一条路径将访问请求发送至借用处理器,同时,第一处理器统计路径上各个处理器的缓存利用率,并将缓存利用率携带在访问请求中,因此,借用处理器收到的访问请求还包括:第一处理器至借用器的路径上各个处理器的缓存利用率。
借用处理器将借用处理器的缓存利用率与借用处理器至第一处理器的路径上各个处理器的缓存利用率相比,从第一处理器至借用处理器的路径上各个处理器中确定出比借用处理器的缓存利用率低的处理器,作为再次借用处理器。
具体地,如果第一处理器至借用处理器的路径上各个处理器中,比借用处理器的缓存利用率低的处理器有一个,则将该处理器作为再次借用处理器。如果第一处理器至借用处理器的路径上各个处理器中,比借用处理器的缓存利用率低的处理器有多个,则将多个处理器中缓存利用率最低的处理器中任一个作为再次借用处理器。
由于再次借用处理器的缓存利用率低于借用处理器的缓存利用率,所以为了充分利用多处理器系统的总缓存,借用处理器将第一数据发送至再次借用处理器,利用再次借用处理器的缓存存储第一数据,将借用处理器的缓存中原本存储第一数据的空间誊空,用以存储其他数据。
另外,借用处理器还需对访问请求进行响应,所以在将第一数据发送至再次借用处理器后,还要指示再次借用处理器将第一数据发送至第一处理器,这样,第一处理器就获得了第一处理器需要访问的第一数据。
请参考图3,图3为本发明实施例提供的一种数据访问方法的流程图。该数据访问方法包括:
步骤31:当第一处理器请求访问的第一数据未存储在所述第一处理器的缓存中,且存储在第二处理器的缓存中时,所述第一处理器向所述第二处理器发送用于获取所述第一数据的访问请求,所述访问请求包括所述第一处理器与所述第二处理器之间的路径上的各个处理器的缓存利用率;
步骤32:所述第一处理器接收并存储借用处理器发送的所述第一数据,所述第一数据是所述第二处理器发送给所述借用处理器的;
其中,所述第一处理器、所述第二处理器和所述借用处理器属于同一多处理器系统,所述借用处理器为所述各个处理器中缓存利用率低于所述第二处理器的缓存利用率的处理器。
图3所示的数据访问方法与图2所示的缓存分配方法是基于相同的发明构思提出的,图3所示的数据访问方法是从第一处理器的角度提出的,图2所示的缓存分配方法是从第二处理器的角度提出的。具体说明请参考前文对缓存分配方法的说明,在此就不再赘述。
同理,考虑到第一处理器可能再次访问第一数据,为方便第一处理器访问第一数据,在执行完步骤32后,还可以执行以下步骤:
所述第一处理器接收并存储所述借用处理器发送的存储信息,所述存储信息表征所述第一数据在所述借用处理器中的存储位置。
上述步骤与执行完步骤23所执行的步骤是基于相同的发明构思提出的,上述步骤是从第一处理器的角度提出的,执行完步骤23所执行的步骤是从第二处理器的角度提出的。具体说明请参考前文对执行完步骤23所执行的步骤的说明,在此就不再赘述。
本发明实施例中,借用处理器的缓存不仅可以被第二处理器借用,用于存储第二处理器发送的第一数据,还可以被第一处理器借用,用于存储第一处理器中待被移动到内存控制器中的数据。即:
当所述第一处理器的缓存中存储的第二数据待被移动到内存控制器中时,所述第一处理器将所述第二数据移动至所述借用处理器。
具体来讲,第二数据存储在第一处理器的缓存中,当第一处理器的缓存中需要存储另外一个数据(例如称为第三数据)时,可能第一处理器的缓存中没有剩余的空间了,则第一处理器需要将第二数据移动到内存控制器中,用空出来的空间存放第三数据,此时,第一处理器将第二数据移动至借用处理器中。当然,第一处理器还可以将第二数据移动至其他处理器中。
如果借用处理器的缓存利用率小于预定阈值,则第一处理器将第二数据移动至借用处理器中,利用借用处理器的缓存存储第二数据,一方面将第一处理器的缓存中原本存储第二数据的空间誊空,用以存储其他数据,另一方面,避免将第二数据存储至内存控制器后,仍需从内存控制器中取出第二数据的麻烦。
如果借用处理器的缓存利用率大于预定阈值,则第一处理器从多处理器系统中确定一个更新借用处理器,将第二数据移动至更新借用处理器中,利用更新借用处理器的缓存存储第二数据,一方面将第一处理器的缓存中原本存储第二数据的空间誊空,用以存储其他数据,另一方面,避免将第二数据存储至内存控制器后,仍需从内存控制器中取出第二数据的麻烦。
其中,第一处理器确定更新借用处理器的过程为:第一处理器将借用处理器的缓存利用率与多处理器系统中其他的处理器的缓存利用率相比,从多处理器系统中其他的处理器中确定出比借用处理器的缓存利用率低的处理器,作为更新借用处理器。
具体地,如果多处理器系统中其他的处理器中,比借用处理器的缓存利用率低的处理器有一个,则将该处理器作为更新借用处理器。如果多处理器系统中其他的处理器中,比借用处理器的缓存利用率低的处理器有多个,则将多个处理器中缓存利用率最低的处理器中任一个作为更新借用处理器。
本发明实施例中,当所述第一处理器的缓存中存储的第三数据的被访问频率低于所述借用处理器的缓存中存储的第四数据的被访问频率时,所述第一处理器将所述第三数据发送至所述借用处理器,且从所述借用处理器中读取并存储所述第四数据。
具体来讲,为了减少访问数据的开销,可以将第一处理器中被访问频率低的数据与借用处理器中被访问频率高的数据交换。第一处理器将第一处理器的缓存中存储的数据的被访问频率与借用处理器的缓存中存储的数据的被访问频率相比,如果第一处理器的缓存中存储的数据的被访问频率高于借用处理器的缓存中存储的数据的被访问频率,则将第一处理器的缓存中存储的数据与交换,这样,第一处理器的缓存中存储的数据都是被访问频率较高的,增大了第一处理器直接从第一处理器的缓存中获得需要访问的数据的概率,减少了第一处理器从借用处理器中获得需要访问的数据的开销。
请参考图4,图4为本发明实施例提供的一种数据发送方法的流程图。该数据发送方法包括:
步骤41:借用处理器将第二处理器发送的第一数据存储至所述借用处理器的缓存中,其中,所述第一数据未存储在第一处理器的缓存中,且存储在所述第二处理器的缓存中;
步骤42:所述借用处理器向所述第一处理器发送所述第一数据,所述第一数据是所述第二处理器发送给所述借用处理器的;
其中,所述第一处理器、所述第二处理器和所述借用处理器属于同一多处理器系统,所述借用处理器为所述各个处理器中缓存利用率低于所述第二处理器的缓存利用率的处理器。
图4所示的数据发送方法与图2所示的缓存分配方法以及图3所示的数据访问方法是基于相同的发明构思提出的,图4所示的数据发送方法是从借用处理器的角度提出的,图2所示的缓存分配方法是从第二处理器的角度提出的,图3所示的数据访问方法是从第一处理器的角度提出的。具体说明请参考前文对缓存分配方法的说明,在此就不再赘述。
同理,考虑到第一处理器可能再次访问第一数据,为方便第一处理器访问第一数据,在执行完步骤42后,还可以执行以下步骤:
所述借用处理器根据向所述第一处理器发送所述第一数据的存储信息,所述存储信息表征所述第一数据在所述借用处理器中的存储位置。
上述步骤与执行完步骤23所执行的步骤以及执行完步骤32所执行的步骤是基于相同的发明构思提出的,上述步骤是从借用处理器的角度提出的,执行完步骤23所执行的步骤是从第二处理器的角度提出的,执行完步骤32所执行的步骤是从第一处理器的角度提出的。具体说明请参考前文对执行完步骤23所执行的步骤的说明,在此就不再赘述。
本发明实施例中,当所述借用处理器的缓存中存储的所述第一数据的被访问频率高于第一预定阈值时,所述借用处理器将所述第一数据发送至所述第一处理器或第三处理器,所述第三处理器与所述第一处理器之间的物理距离小于所述借用处理器与所述第一处理器之间的物理距离。
具体来讲,为了减少访问数据的开销,如果借用处理器的缓存中存储的第一数据的被访问频率高于第一预定阈值,则说明第一处理器非常频繁地从借用处理器的缓存中访问第一数据,此时,借用处理器将第一数据发送至第一处理器,或者是发送至距离第一处理器更近的处理器,这样,第一处理器直接从第一处理器的缓存中获得需要访问的第一数据,或者从距离更近的处理器的缓存中获得需要访问的第一数据,减少了第一处理器从借用处理器中获得需要访问的数据的开销和时延。
本发明实施例中,当所述借用处理器的缓存利用率高于第二预定阈值时,所述借用处理器将所述第一数据发送至所述第二处理器或所述第一处理器。
具体来讲,如果借用处理器的缓存利用率提高到第二预定阈值,则借用处理器可以回收已借给其他处理器的缓存。因为如果借用处理器的缓存均借给其他处理器使用,则借用处理器没有存储空间存储自身频繁访问的数据,借用处理器还需向其他处理器借用缓存,导致借用处理器访问数据的开销大。
借用处理器回收已借给其他处理器的缓存的方式是:将其他处理器发送的数据返回至发送方或目的方。以借用处理器存储第二处理器发送的第一数据为例,借用处理器将第一数据发送至第二处理器或者发送至第一处理器。
以下结合附图介绍本发明实施例中的装置。
请参见图5,基于同一发明构思,本发明实施例提供一种处理器,所述处理器可以是如前所述的第二处理器。所述处理器可以包括接收模块501、确定模块502、发送模块503和指示模块504。
接收模块501,用于接收第一处理器发送的用于获取第一数据的访问请求,其中,所述第一数据未存储在所述第一处理器的缓存中,且存储在所述处理器的缓存中,所述访问请求包括所述第一处理器与所述处理器之间的路径上的各个处理器的缓存利用率;
确定模块502,用于将所述各个处理器中缓存利用率低于所述第二处理器的缓存利用率的处理器确定为借用处理器;
发送模块503,用于将所述第一数据发送至借用处理器的缓存中;
指示模块504,用于指示所述借用处理器向所述第一处理器发送所述第一数据;
其中,所述第一处理器、所述处理器和所述借用处理器属于同一多处理器系统。
可选的,所述指示模块504还用于:
指示所述借用处理器向所述第一处理器发送所述第一数据的存储信息,所述存储信息表征所述第一数据在所述借用处理器中的存储位置。
请参见图6,基于同一发明构思,本发明实施例提供另一种处理器,所述处理器可以是如前所述的第一处理器。所述处理器可以包括发送模块601和接收模块602。
发送模块601,用于当所述处理器请求访问的第一数据未存储在所述处理器的缓存中,且存储在第二处理器的缓存中时,所述处理器向所述第二处理器发送用于获取所述第一数据的访问请求,所述访问请求包括所述处理器与所述第二处理器之间的路径上的各个处理器的缓存利用率;
接收模块602,用于接收并存储借用处理器发送的所述第一数据,所述第一数据是所述第二处理器发送给所述借用处理器的;
其中,所述处理器、所述第二处理器和所述借用处理器属于同一多处理器系统,所述借用处理器为所述各个处理器中缓存利用率低于所述第二处理器的缓存利用率的处理器。
可选的,所述接收模块602还用于:
接收并存储所述借用处理器发送的存储信息,所述存储信息表征所述第一数据在所述借用处理器中的存储位置。
可选的,所述处理器还包括:
移动模块,用于当所述处理器的缓存中存储的第二数据待被移动到内存控制器中时,将所述第二数据移动至所述借用处理器。
可选的,所述发送模块601还用于:
当所述处理器的缓存中存储的第三数据的被访问频率低于所述借用处理器的缓存中存储的第四数据的被访问频率时,将所述第三数据发送至所述借用处理器,且从所述借用处理器中读取并存储所述第四数据。
请参见图7,基于同一发明构思,本发明实施例提供另一种处理器,所述处理器可以是如前所述的借用处理器。所述处理器可以包括存储模块701和发送模块702。
存储模块701,用于将第二处理器发送的第一数据存储至所述处理器的缓存中,其中,所述第一数据未存储在第一处理器的缓存中,且存储在所述第二处理器的缓存中;
发送模块702,用于向所述第一处理器发送所述第一数据,所述第一数据是所述第二处理器发送给所述借用处理器的;
其中,所述第一处理器、所述第二处理器和所述处理器属于同一多处理器系统,所述处理器为所述各个处理器中缓存利用率低于所述第二处理器的缓存利用率的处理器。
可选的,所述发送模块702还用于:
向所述第一处理器发送所述第一数据的存储信息,所述存储信息表征所述第一数据在所述处理器中的存储位置。
可选的,所述发送模块702还用于:
当所述处理器的缓存中存储的所述第一数据的被访问频率高于第一预定阈值时,所述处理器将所述第一数据发送至所述第一处理器或第三处理器,所述第三处理器与所述第一处理器之间的物理距离小于所述处理器与所述第一处理器之间的物理距离。
可选的,所述发送模块702还用于:
当所述处理器的缓存利用率高于第二预定阈值时,将所述第一数据发送至所述第二处理器或所述第一处理器。
请参见图8,基于同一发明构思,本发明实施例还提供一种多处理器系统,所述多处理器系统中可以包括第一处理器801、第二处理器802和借用处理器803。
所述第一处理器801用于:当所述第一处理器请求访问的第一数据未存储在所述第一处理器的缓存中,且存储在第二处理器的缓存中时,向所述第二处理器发送用于获取所述第一数据的访问请求,所述访问请求包括所述第一处理器与所述第二处理器之间的路径上的各个处理器的缓存利用率;
所述第二处理器802用于:接收第一处理器发送的用于获取第一数据的访问请求;将所述各个处理器中缓存利用率低于所述第二处理器的缓存利用率的处理器确定为借用处理器;将所述第一数据发送至借用处理器的缓存中,并指示所述借用处理器向所述第一处理器发送所述第一数据。
可选的,所述第二处理器802还用于:
指示所述借用处理器向所述第一处理器发送所述第一数据的存储信息,所述存储信息表征所述第一数据在所述借用处理器中的存储位置;
所述第一处理器801用于:接收并存储所述借用处理器发送的所述存储信息。
图8所示的多处理器系统的具体架构可参考图1,例如,第一处理器801和第二处理器802可以是通过片上网络进行通信,以及第一处理器801与第二处理器802还可以有自己的缓存等,只是在图8中未示出。
本发明实施例中,装置是用来实现图2至图4流程中的方法的,凡是在装置部分没有详细介绍的内容,均可参照相应的方法流程中的描述。
本发明实施例中,当第一处理器请求访问的第一数据未存储在自身缓存中,且存储在第二处理器的缓存中时,首先,第一处理器向第二处理器发送用于获取第一数据的访问请求,接着,第二处理器将第一数据发送至借用处理器的缓存中,并指示借用处理器向第一处理器发送第一数据,由于借用处理器为多处理器系统中缓存利用率低于第二处理器的处理器,利用借用处理器的缓存存储第一数据。将第二处理器的缓存中原本存储第一数据的空间誊空,用以存储其他数据,所以提高了多处理器系统的总缓存的利用率。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能单元的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元完成,即将装置的内部结构划分成不同的功能单元,以完成以上描述的全部或者部分功能。上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或processor(处理器)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、ROM(Read-OnlyMemory,只读存储器)、RAM(Random Access Memory,随机存取存储器)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以对本申请的技术方案进行了详细介绍,但以上实施例的说明只是用于帮助理解本发明的方法及其核心思想,不应理解为对本发明的限制。本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。
Claims (22)
1.一种缓存分配方法,其特征在于,包括:
第二处理器接收第一处理器发送的用于获取第一数据的访问请求,其中,所述第一数据未存储在所述第一处理器的缓存中,且存储在所述第二处理器的缓存中,所述访问请求包括所述第一处理器与所述第二处理器之间的路径上的各个处理器的缓存利用率;
所述第二处理器将所述各个处理器中缓存利用率低于所述第二处理器的缓存利用率的处理器确定为借用处理器;
所述第二处理器将所述第一数据发送至借用处理器的缓存中,并指示所述借用处理器向所述第一处理器发送所述第一数据;
其中,所述第一处理器、所述第二处理器和所述借用处理器属于同一多处理器系统。
2.如权利要求1所述的方法,其特征在于,在所述第二处理器指示所述借用处理器向所述第一处理器发送所述第一数据之后,所述方法还包括:
所述第二处理器指示所述借用处理器向所述第一处理器发送所述第一数据的存储信息,所述存储信息表征所述第一数据在所述借用处理器中的存储位置。
3.一种数据访问方法,其特征在于,包括:
当第一处理器请求访问的第一数据未存储在所述第一处理器的缓存中,且存储在第二处理器的缓存中时,所述第一处理器向所述第二处理器发送用于获取所述第一数据的访问请求,所述访问请求包括所述第一处理器与所述第二处理器之间的路径上的各个处理器的缓存利用率;
所述第一处理器接收并存储借用处理器发送的所述第一数据,所述第一数据是所述第二处理器发送给所述借用处理器的;
其中,所述第一处理器、所述第二处理器和所述借用处理器属于同一多处理器系统,所述借用处理器为所述各个处理器中缓存利用率低于所述第二处理器的缓存利用率的处理器。
4.如权利要求3所述的方法,其特征在于,所述第一处理器接收借用处理器发送的所述第一数据之后,还包括:
所述第一处理器接收并存储所述借用处理器发送的存储信息,所述存储信息表征所述第一数据在所述借用处理器中的存储位置。
5.如权利要求3或4所述的方法,其特征在于,所述方法还包括:
当所述第一处理器的缓存中存储的第二数据待被移动到内存控制器中时,所述第一处理器将所述第二数据移动至所述借用处理器。
6.如权利要求3-5中任一所述的方法,其特征在于,所述方法还包括:
当所述第一处理器的缓存中存储的第三数据的被访问频率低于所述借用处理器的缓存中存储的第四数据的被访问频率时,所述第一处理器将所述第三数据发送至所述借用处理器,且从所述借用处理器中读取并存储所述第四数据。
7.一种数据发送方法,其特征在于,包括:
借用处理器将第二处理器发送的第一数据存储至所述借用处理器的缓存中,其中,所述第一数据未存储在第一处理器的缓存中,且存储在所述第二处理器的缓存中;
所述借用处理器向所述第一处理器发送所述第一数据,所述第一数据是所述第二处理器发送给所述借用处理器的;
其中,所述第一处理器、所述第二处理器和所述借用处理器属于同一多处理器系统,所述借用处理器为所述各个处理器中缓存利用率低于所述第二处理器的缓存利用率的处理器。
8.如权利要求7所述的方法,其特征在于,在所述借用处理器向所述第一处理器发送所述第一数据之后,所述方法还包括:
所述借用处理器向所述第一处理器发送所述第一数据的存储信息,所述存储信息表征所述第一数据在所述借用处理器中的存储位置。
9.如权利要求7或8所述的方法,其特征在于,所述方法还包括:
当所述借用处理器的缓存中存储的所述第一数据的被访问频率高于第一预定阈值时,所述借用处理器将所述第一数据发送至所述第一处理器或第三处理器,所述第三处理器与所述第一处理器之间的物理距离小于所述借用处理器与所述第一处理器之间的物理距离。
10.如权利要求7-9任一所述的方法,其特征在于,所述方法还包括:
当所述借用处理器的缓存利用率高于第二预定阈值时,所述借用处理器将所述第一数据发送至所述第二处理器或所述第一处理器。
11.一种处理器,其特征在于,包括:
接收模块,用于接收第一处理器发送的用于获取第一数据的访问请求,其中,所述第一数据未存储在所述第一处理器的缓存中,且存储在所述处理器的缓存中,所述访问请求包括所述第一处理器与所述处理器之间的路径上的各个处理器的缓存利用率;
确定模块,用于将所述各个处理器中缓存利用率低于所述第二处理器的缓存利用率的处理器确定为借用处理器;
发送模块,用于将所述第一数据发送至借用处理器的缓存中;
指示模块,用于指示所述借用处理器向所述第一处理器发送所述第一数据;
其中,所述第一处理器、所述处理器和所述借用处理器属于同一多处理器系统。
12.如权利要求11所述的处理器,其特征在于,所述指示模块还用于:
指示所述借用处理器向所述第一处理器发送所述第一数据的存储信息,所述存储信息表征所述第一数据在所述借用处理器中的存储位置。
13.一种处理器,其特征在于,包括:
发送模块,用于当所述处理器请求访问的第一数据未存储在所述处理器的缓存中,且存储在第二处理器的缓存中时,所述处理器向所述第二处理器发送用于获取所述第一数据的访问请求,所述访问请求包括所述处理器与所述第二处理器之间的路径上的各个处理器的缓存利用率;
接收模块,用于接收并存储借用处理器发送的所述第一数据,所述第一数据是所述第二处理器发送给所述借用处理器的;
其中,所述处理器、所述第二处理器和所述借用处理器属于同一多处理器系统,所述借用处理器为所述各个处理器中缓存利用率低于所述第二处理器的缓存利用率的处理器。
14.如权利要求13所述的处理器,其特征在于,所述接收模块还用于:
接收并存储所述借用处理器发送的存储信息,所述存储信息表征所述第一数据在所述借用处理器中的存储位置。
15.如权利要求13或14所述的处理器,其特征在于,所述处理器还包括:
移动模块,用于当所述处理器的缓存中存储的第二数据待被移动到内存控制器中时,将所述第二数据移动至所述借用处理器。
16.如权利要求13-15中任一所述的处理器,其特征在于,所述发送模块还用于:
当所述处理器的缓存中存储的第三数据的被访问频率低于所述借用处理器的缓存中存储的第四数据的被访问频率时,将所述第三数据发送至所述借用处理器,且从所述借用处理器中读取并存储所述第四数据。
17.一种处理器,其特征在于,包括:
存储模块,用于将第二处理器发送的第一数据存储至所述处理器的缓存中,其中,所述第一数据未存储在第一处理器的缓存中,且存储在所述第二处理器的缓存中;
发送模块,用于向所述第一处理器发送所述第一数据,所述第一数据是所述第二处理器发送给所述借用处理器的;
其中,所述第一处理器、所述第二处理器和所述处理器属于同一多处理器系统,所述处理器为所述各个处理器中缓存利用率低于所述第二处理器的缓存利用率的处理器。
18.如权利要求17所述的处理器,其特征在于,所述发送模块还用于:
向所述第一处理器发送所述第一数据的存储信息,所述存储信息表征所述第一数据在所述处理器中的存储位置。
19.如权利要求17或18所述的处理器,其特征在于,所述发送模块还用于:
当所述处理器的缓存中存储的所述第一数据的被访问频率高于第一预定阈值时,所述处理器将所述第一数据发送至所述第一处理器或第三处理器,所述第三处理器与所述第一处理器之间的物理距离小于所述处理器与所述第一处理器之间的物理距离。
20.如权利要求17-19任一所述的处理器,其特征在于,所述发送模块还用于:
当所述处理器的缓存利用率高于第二预定阈值时,将所述第一数据发送至所述第二处理器或所述第一处理器。
21.一种多处理器系统,其特征在于,包括第一处理器、第二处理器和借用处理器;
所述第一处理器用于:当所述第一处理器请求访问的第一数据未存储在所述第一处理器的缓存中,且存储在第二处理器的缓存中时,向所述第二处理器发送用于获取所述第一数据的访问请求,所述访问请求包括所述第一处理器与所述第二处理器之间的路径上的各个处理器的缓存利用率;
所述第二处理器用于:接收第一处理器发送的用于获取第一数据的访问请求;将所述各个处理器中缓存利用率低于所述第二处理器的缓存利用率的处理器确定为借用处理器;将所述第一数据发送至借用处理器的缓存中,并指示所述借用处理器向所述第一处理器发送所述第一数据。
22.如权利要求21所述的系统,其特征在于,所述第二处理器还用于:
指示所述借用处理器向所述第一处理器发送所述第一数据的存储信息,所述存储信息表征所述第一数据在所述借用处理器中的存储位置;
所述第一处理器用于:接收并存储所述借用处理器发送的所述存储信息。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510342107.9A CN106326143B (zh) | 2015-06-18 | 2015-06-18 | 一种缓存分配、数据访问、数据发送方法、处理器及系统 |
PCT/CN2016/073868 WO2016201998A1 (zh) | 2015-06-18 | 2016-02-16 | 一种缓存分配、数据访问、数据发送方法、处理器及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510342107.9A CN106326143B (zh) | 2015-06-18 | 2015-06-18 | 一种缓存分配、数据访问、数据发送方法、处理器及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106326143A true CN106326143A (zh) | 2017-01-11 |
CN106326143B CN106326143B (zh) | 2019-08-27 |
Family
ID=57545013
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510342107.9A Active CN106326143B (zh) | 2015-06-18 | 2015-06-18 | 一种缓存分配、数据访问、数据发送方法、处理器及系统 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN106326143B (zh) |
WO (1) | WO2016201998A1 (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108345546A (zh) * | 2017-05-09 | 2018-07-31 | 清华大学 | 用于确定处理器操作的方法及装置 |
CN108628547A (zh) * | 2018-03-16 | 2018-10-09 | 长沙开雅电子科技有限公司 | 一种存储系统数据访问、处理器和缓存分配管理方法 |
CN114579506A (zh) * | 2022-01-30 | 2022-06-03 | 阿里巴巴(中国)有限公司 | 处理器之间的通信方法、系统、存储介质以及处理器 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109600321B (zh) * | 2017-09-30 | 2022-06-21 | 迈普通信技术股份有限公司 | 报文转发方法及装置 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1604041A (zh) * | 2003-10-02 | 2005-04-06 | 国际商业机器公司 | 多处理器数据处理系统中对分区指派处理器的方法和系统 |
CN101004711A (zh) * | 2006-01-18 | 2007-07-25 | 国际商业机器公司 | 多处理器系统和向其提供高速缓存一致性的方法 |
CN101504628A (zh) * | 2007-11-28 | 2009-08-12 | 国际商业机器公司 | 用于干预共享高速缓存线的方法和系统 |
US20100115204A1 (en) * | 2008-11-04 | 2010-05-06 | International Business Machines Corporation | Non-uniform cache architecture (nuca) |
US20130007341A1 (en) * | 2008-09-30 | 2013-01-03 | Dale Juenemann | Apparatus and method for segmented cache utilization |
CN103049392A (zh) * | 2012-10-17 | 2013-04-17 | 华为技术有限公司 | 缓存目录的实现方法及装置 |
CN104239270A (zh) * | 2014-07-25 | 2014-12-24 | 浪潮(北京)电子信息产业有限公司 | 一种高速缓存同步的方法及装置 |
-
2015
- 2015-06-18 CN CN201510342107.9A patent/CN106326143B/zh active Active
-
2016
- 2016-02-16 WO PCT/CN2016/073868 patent/WO2016201998A1/zh active Application Filing
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1604041A (zh) * | 2003-10-02 | 2005-04-06 | 国际商业机器公司 | 多处理器数据处理系统中对分区指派处理器的方法和系统 |
CN101004711A (zh) * | 2006-01-18 | 2007-07-25 | 国际商业机器公司 | 多处理器系统和向其提供高速缓存一致性的方法 |
CN101504628A (zh) * | 2007-11-28 | 2009-08-12 | 国际商业机器公司 | 用于干预共享高速缓存线的方法和系统 |
US20130007341A1 (en) * | 2008-09-30 | 2013-01-03 | Dale Juenemann | Apparatus and method for segmented cache utilization |
US20100115204A1 (en) * | 2008-11-04 | 2010-05-06 | International Business Machines Corporation | Non-uniform cache architecture (nuca) |
CN103049392A (zh) * | 2012-10-17 | 2013-04-17 | 华为技术有限公司 | 缓存目录的实现方法及装置 |
CN104239270A (zh) * | 2014-07-25 | 2014-12-24 | 浪潮(北京)电子信息产业有限公司 | 一种高速缓存同步的方法及装置 |
Non-Patent Citations (1)
Title |
---|
陈李维等: "用于多核同步优化的cache一致性协议设计", 《高技术通讯》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108345546A (zh) * | 2017-05-09 | 2018-07-31 | 清华大学 | 用于确定处理器操作的方法及装置 |
CN108345546B (zh) * | 2017-05-09 | 2019-09-20 | 清华大学 | 用于确定处理器操作的方法及装置 |
CN108628547A (zh) * | 2018-03-16 | 2018-10-09 | 长沙开雅电子科技有限公司 | 一种存储系统数据访问、处理器和缓存分配管理方法 |
CN114579506A (zh) * | 2022-01-30 | 2022-06-03 | 阿里巴巴(中国)有限公司 | 处理器之间的通信方法、系统、存储介质以及处理器 |
Also Published As
Publication number | Publication date |
---|---|
WO2016201998A1 (zh) | 2016-12-22 |
CN106326143B (zh) | 2019-08-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105593828B (zh) | 管理文件的方法、分布式存储系统和管理节点 | |
CN1244055C (zh) | 计算机系统及其通信的方法 | |
CN103246616B (zh) | 一种长短周期访问频度的全局共享缓存替换方法 | |
US20160132541A1 (en) | Efficient implementations for mapreduce systems | |
CN106095589B (zh) | 一种分配分区的方法、装置及系统 | |
CN103744719B (zh) | 锁管理方法及系统、锁管理系统的配置方法及装置 | |
CN102207830B (zh) | 一种缓存动态分配管理方法及装置 | |
CN103942011B (zh) | 一种差量快照系统及其使用方法 | |
WO2017089944A1 (en) | Techniques for analytics-driven hybrid concurrency control in clouds | |
CN103559319B (zh) | 分布式集群文件系统的缓存同步方法和设备 | |
CN101741907A (zh) | 一种均衡服务器负载的方法、系统和主服务器 | |
CN109976907B (zh) | 任务分配方法和系统、电子设备、计算机可读介质 | |
CN112948149A (zh) | 一种远端内存共享方法、装置、电子设备及存储介质 | |
CN106527985A (zh) | 一种基于ceph的存储交互装置及存储系统 | |
CN101794271A (zh) | 多核内存一致性的实现方法和装置 | |
CN106326143A (zh) | 一种缓存分配、数据访问、数据发送方法、处理器及系统 | |
CN103827842A (zh) | 向控制器存储器空间写入消息 | |
CN106534308A (zh) | 一种分布式存储系统中解决数据块访问热点的方法及装置 | |
CN108845877A (zh) | 管理内存的方法、装置和系统 | |
CN108667903B (zh) | 数据发送方法、装置和存储介质 | |
CN107341114A (zh) | 一种目录管理的方法、节点控制器和系统 | |
EP2757475B1 (en) | Method and system for dynamically changing page allocator | |
US11061676B2 (en) | Scatter gather using key-value store | |
CN104252416B (zh) | 一种加速器以及数据处理方法 | |
CN104750614B (zh) | 用于管理存储器的方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |