WO2012109906A1 - 访问高速缓冲存储器的方法及非真实缓存代理 - Google Patents

访问高速缓冲存储器的方法及非真实缓存代理 Download PDF

Info

Publication number
WO2012109906A1
WO2012109906A1 PCT/CN2011/080489 CN2011080489W WO2012109906A1 WO 2012109906 A1 WO2012109906 A1 WO 2012109906A1 CN 2011080489 W CN2011080489 W CN 2011080489W WO 2012109906 A1 WO2012109906 A1 WO 2012109906A1
Authority
WO
WIPO (PCT)
Prior art keywords
fca
data
memory
target data
node controller
Prior art date
Application number
PCT/CN2011/080489
Other languages
English (en)
French (fr)
Inventor
郑伟
刘建根
刘钢
蔡卫光
Original Assignee
华为技术有限公司
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 华为技术有限公司 filed Critical 华为技术有限公司
Priority to CN2011800018813A priority Critical patent/CN102388373B/zh
Priority to PCT/CN2011/080489 priority patent/WO2012109906A1/zh
Priority to EP11858865.6A priority patent/EP2568386A4/en
Publication of WO2012109906A1 publication Critical patent/WO2012109906A1/zh
Priority to US13/719,626 priority patent/US9465743B2/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/084Multiuser, multiprocessor or multiprocessing cache systems with a shared cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0811Multiuser, multiprocessor or multiprocessing cache systems with multilevel cache hierarchies
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1012Design facilitation

Definitions

  • the present invention relates to the field of computer technologies, and in particular, to a method for accessing a cache memory and a non-real cache agent. Background technique
  • one or more cache memories with small capacity and fast access speed are generally designed between the processor and the memory, for temporarily saving part of the data in the memory, so that the processor can quickly access the Cache.
  • the data is generally designed between the processor and the memory, for temporarily saving part of the data in the memory, so that the processor can quickly access the Cache.
  • CC-NUMA Cache-Coherent Non Uniform Memory-acces s Architects
  • NC node controller
  • the local cache is first accessed. If the local cache does not hit, that is, the local cache does not have the specific data required by the processor, the local NC sends the transmission specific data to the remote address. Request. Since the multiprocessor realizes the sharing of the memory, the data required by the processor X may be stored in the remote cache.
  • a remote dedicated cache is added to the node controller for temporarily storing data of the remote address. Specifically, if the processor accesses the local cache miss, the remote access cache is accessed, and if the remote dedicated cache still fails, the remote cache corresponding to the remote address is accessed. By storing remote memory data in a local remote private cache, the time it takes for the processor to access remote memory data is reduced. The local data hit rate and the efficiency of accessing Ca Che.
  • the inventors have found that at least the following problems exist in the prior art: Since the remote dedicated cache is the underlying hardware added by the local physical layer, the node controller of the protocol layer cannot recognize the remote dedicated cache. Therefore, it is necessary to separately design the interface module of the remote dedicated cache, resulting in a problem of high development cost. Summary of the invention
  • Embodiments of the present invention provide a method for accessing a cache memory and a non-authentic cache agent, which can reduce the development cost of the node controller based on the improvement of the local data hit rate and the Cache access efficiency.
  • a method of accessing a cache memory for use in a multiprocessor system comprising at least one node controller NC embedded with at least one non-compliant processor micro-level interconnect protocol a real cache proxy FCA, the non-real cache proxy FCA connection having at least one non-real cache proxy FCA memory, the method comprising:
  • the non-real cache agent FCA obtains the target data required in the data request from the non-real cache agent FCA memory connected thereto, and the non-real cache agent FCA memory stores a part of the data.
  • the target data is sent to the originator of the data request.
  • a non-real cache proxy FCA is applied to a multiprocessor system, the system comprising at least one node controller NC and at least one processor connected to the node controller NC, the node controller NC embedding at least one conformal a non-real cache proxy FCA of the processor micro-architecture interconnect protocol, the non-real cache proxy FCA being coupled to at least one non-real cache proxy FCA memory, the FCA memory storing data shared between the memories in the multi-processing system,
  • the non-real cache agent FCA includes:
  • a data obtaining module configured to acquire target data required in the data request from a non-real cache proxy FCA memory connected to the non-real cache proxy FCA when the node controller NC receives the data request;
  • a sending module configured to send the target data acquired by the data acquiring module to an issuer of the data request.
  • a node controller NC includes: at least one non-real caching proxy FCA; and a non-real caching proxy FCA memory coupled to the non-real caching proxy FCA.
  • FCA Cache Agent FCA
  • FCA memory connected to the FCA, and the Cache-like part of the data required by the processor are temporarily stored in the FCA memory, which improves the hit rate and cache access efficiency of the processor in the local domain;
  • the protocol has the same external performance as the normal Cache. It can reuse the protocol interface module, eliminating the need to design the interface independently and reducing the development cost.
  • FIG. 1 is a flowchart of a Cache access method according to Embodiment 1 of the present invention.
  • Embodiment 3 is a flowchart of another Cache access method in Embodiment 2 of the present invention.
  • FIG. 4 is a flowchart of another method for accessing a Cache according to Embodiment 2 of the present invention.
  • FIG. 5 is a schematic structural diagram of a multiprocessor system in Embodiment 3 of the present invention.
  • FCA is a schematic diagram showing the composition of an FCA in Embodiment 4 of the present invention.
  • FIG. 7 is a schematic diagram of another FCA composition in Embodiment 4 of the present invention.
  • FIG. 8 is a schematic structural diagram of a node controller according to Embodiment 4 of the present invention.
  • FIG. 9 is a schematic diagram showing the composition of a multiprocessor system in Embodiment 4 of the present invention.
  • An embodiment of the present invention provides a method for accessing a cache memory, where the method is applied to a multiprocessor system, including at least one node controller NC, and the node controller NC is embedded with at least one processor-level micro-structure level.
  • the non-real cache proxy FCA of the protocol, the non-real cache proxy FCA connection has at least one non-real cache proxy FCA memory, as shown in FIG. 1, including:
  • the non-real cache agent FCA obtains the target data required in the data request from the non-real cache agent FCA memory connected thereto.
  • the NC is embedded with at least one non-authentic cache agent FCA that conforms to a processor micro-architecture level interconnection protocol, and the FCA is connected to at least one FCA memory.
  • FCA memory has the characteristics of faster access speed, and temporarily stores data shared between memories in a multi-processing system for quick access by the processor.
  • a method for accessing a cache memory provided by an embodiment of the present invention, by adding at least one FCA conforming to a processor micro-architecture level interconnection protocol to an FCA, and an FCA memory connected to the FCA, and the Cache-like processor Part of the required data is temporarily stored in the FCA memory, which improves the processor's local area hit rate and Cache access efficiency. Because the FCA conforms to the processor micro-architecture level interconnection protocol, it has the same external performance as the normal Cache. Reuse protocol interface modules, eliminating the need to design interfaces independently, reducing development costs.
  • An embodiment of the present invention provides a method for accessing a cache memory, where the method is applied to a multiprocessor system, including at least one node controller NC, and the node controller NC is embedded with at least one processor-level micro-structure level.
  • the non-real cache proxy FCA of the protocol, the non-real cache proxy FCA connection has at least one non-real cache proxy FCA memory, and the FCA memory stores the multi-processing system
  • the data shared between the memory includes:
  • the non-real cache agent FCA queries an update status of the target data in a non-real cache agent FCA memory connected thereto according to the data query request.
  • the processor when the processor needs specific memory data, it first searches in the memory and cache connected to the processor, and if the memory and cache of the processor are missed, multicast to the multiprocessor system. Or broadcast data query request.
  • the target data may be used by multiple processors and stored in different cache or FCA memories, and the target data may be modified after a certain use, therefore, Find the latest version of the target data in the system.
  • each FCA and cache receives the data query request, whether the target data is saved in the respective memory, and the modification of the target data is fed back to the issuer of the data query request in the form of an update status message.
  • the issuer of the data query request determines the storage location of the latest version of the target data according to the update status message of the target data fed back by each FCA and cache.
  • the processor issues an explicit data request to the storage location to obtain the latest version of the target data.
  • the non-real cache agent FCA obtains the target data required in the data request from the non-real cache agent FCA memory connected thereto.
  • step 202 if it is determined in step 202 that the latest version of the target data is stored in the FCA memory by updating the target data, the processor issues a data request to the FCA for the target data.
  • the FCA acquires the target data required in the data request from the FCA memory connected thereto.
  • the FCA is a non-real cache proxy that is embedded in the NC and conforms to the processor micro-architecture interconnect protocol, and the FCA is connected to at least one FCA memory.
  • FCA memory and cache - have the characteristics of faster access, used to temporarily save some of the data in the memory, but not exclusive Any one processor, but on the node controller for its own data query, send and update, so called # ⁇ non-real cache.
  • the FCA After the FCA obtains the target data, the FCA sends the target data to the sender of the data request.
  • the data request may be sent by a processor directly connected to the NC, or may be a remote data request forwarded by another NC through the network, or may be a data request of prefetched data sent by another FCA.
  • the data updated by the local NC is saved to the FCA memory, and the method further includes:
  • the node controller NC acquires the target data from a memory other than the non-real cache proxy FCA memory connected to the node controller NC and sends the target data to another node controller NC
  • the non- The real cache agent FCA acquires the target data and saves the target data to a non-real cache proxy FC A memory connected thereto.
  • the FCA memory is located on the node controller instead of the processor connected to the node controller, when the remote processor accesses the local cache and the FCA memory, the access path of the FCA memory is relatively shorter than the access path of the Cache. high speed. Therefore, saving the data used and updated by the local processor in the FCA memory can improve access efficiency.
  • the method further includes:
  • the non-real cache agent FCA acquires the target data, and saves the target data to a non-real cache proxy connected thereto. In the FCA memory.
  • the FCA memory is located on the node controller instead of the processor connected to the node controller, when the local processor accesses the local cache and the FCA memory, the access path of the FCA memory is shorter than the access path of the Ca che, accessing high speed. Therefore, at the point of connection to the local NC The data acquired and used by the processor is stored in the FCA memory so that when the other processor connected to the local NC uses the data again, it hits in the FCA with a short access path.
  • a predetermined data replacement policy is set on the FCA, and part of the existing data in the FCA memory is replaced with the target data, and the method further includes:
  • the purpose of the data replacement policy is to store the most likely data to be used in the FCA according to the locality of space and time.
  • the replacement strategy may be the least recently used (Lea St Recent ly Us ed, LRU) algorithm, or other
  • the replacement algorithm is not limited in the embodiment of the present invention.
  • the method comprises:
  • the non-real cache proxy FCA receives the network bandwidth usage rate sent by the traffic monitoring unit.
  • the prefetching strategy of the data may be to issue a data request for the specific data to the at least one memory or the cache according to a specific application statistical rule, so as to improve the data hit rate in the FCA memory.
  • the specific prefetching policy can be determined according to the data usage of the multiprocessor system, which is not limited by the embodiment of the present invention.
  • a method for accessing a cache memory provided by an embodiment of the present invention, by adding at least one FCA conforming to a processor micro-architecture level interconnection protocol to an FCA, and an FCA memory connected to the FCA, and the Cache-like processor Part of the required data is temporarily stored in the FCA memory, which improves the processor's local area hit rate and Cache access efficiency; because the FCA conforms to the processor micro-structure level
  • the protocol has the same external performance as the normal Cache. It can reuse the protocol interface module, eliminating the need to design the interface independently and reducing the development cost.
  • the present embodiment provides an application example in a multi-processor system based on the Quick Channel Interconnect (QPI) protocol.
  • QPI Quick Channel Interconnect
  • At least one node controller NC and at least one processor (processor A and processor B) connected to the NC are included.
  • the NC is embedded with at least one non-real caching proxy FCA compliant with a processor micro-architecture level interconnect protocol, the FCA being coupled to at least one FCA memory.
  • processor A When processor A needs specific data, it first looks in the cache on processor A. If it does not hit in the cache, it sends a data query request to other caches and FCAs in the multiprocessor system. Then, the update status of the target data is fed back to the processor A by the respective caches and FCAs, and the processor A judges the storage location of the latest version of the target data based on the updated status of the feedback target data.
  • the processor issues a data request to the FCA for the target data.
  • the FCA obtains the target data from the FCA memory based on the data request and transmits the target data to the processor A.
  • the FCA may store the data used and updated by the processor A and the processor B in the FCA memory, or may send the data sent by other NCs. It is stored in the FCA memory so that it can be obtained in the FCA when the processor uses the data again.
  • a predetermined data replacement policy may be used to replace the existing data in the FCA memory with the latest version of the target data.
  • a traffic monitoring unit is added to the NC to send the network bandwidth usage rate to the FCA.
  • the FCA receives the network bandwidth usage and judges that the network is idle, the FCA can be based on the predetermined pre- The fetch strategy actively sends out data requests for prefetched data, and obtains data from local or remote storage units to improve the processor's access hit rate.
  • a method for accessing a cache memory provided by an embodiment of the present invention, by adding at least one FCA conforming to a processor micro-architecture level interconnection protocol to an FCA, and an FCA memory connected to the FCA, and the Cache-like processor Part of the required data is temporarily stored in the FCA memory, which improves the processor's local area hit rate and Cache access efficiency. Because the FCA conforms to the processor micro-architecture level interconnection protocol, it has the same external performance as the normal Cache. Reuse protocol interface modules, eliminating the need to design interfaces independently, reducing development costs.
  • An embodiment of the present invention provides a non-real cache proxy FCA, which is applied to a multiprocessor system, where the system includes at least one node controller NC and at least one processor connected to the node controller NC, wherein The node controller NC is embedded with at least one non-real cache proxy FCA conforming to the processor micro-architecture level interconnect protocol, and the non-real cache proxy FCA is connected to at least one non-real cache proxy FCA memory, and the FCA memory stores the Multi-processing data shared between memories in the system.
  • the non-real caching proxy FCA includes:
  • the data obtaining module 301 is configured to acquire, when the node controller NC receives the data request, the target data required in the data request from the non-real cache agent FCA memory connected to the non-real cache agent FCA.
  • the sending module 302 is configured to send the target data acquired by the data acquiring module 301 to the sender of the data request.
  • the non-real cache agent FCA memory is a memory unit embedded in the node controller NC or a memory unit externally connected to the node controller NC.
  • non-real cache agent FCA further includes:
  • the query module 303 is configured to query an update status of the target data in a non-real cache proxy FCA memory connected thereto according to the data query request before the node controller NC receives the data request.
  • the status feedback module 304 is configured to send an update status of the target data that is queried by the query module 303 to an issuer of the data query request, so that the issuer of the data query request determines the latest status according to the update status of the target data.
  • the storage location of the target data and a data request is issued to the storage location of the latest target data.
  • the non-real cache agent FCA further includes:
  • a first update module 305 configured to acquire, at the node controller NC, the target data from a memory other than the non-real cache proxy FCA memory connected to the node controller NC, and send the target data to another node control At the time of NC, the target data is acquired, and the target data is saved to a non-real cache proxy FCA memory connected thereto.
  • non-real cache agent FCA further includes:
  • the second update module 306 is configured to: when the node controller NC receives target data sent by another node controller NC, acquire the target data, and save the target data to a non-real cache proxy FCA connected thereto In memory.
  • non-real cache agent FCA further includes:
  • the replacement module 307 is configured to replace part of the data in the non-real cache agent FCA memory with the target data according to a predetermined data replacement policy when the storage space of the non-real cache agent FCA memory is full.
  • the node controller NC further has a traffic monitoring unit 308 embedded therein, and the non-real cache proxy FCA further includes:
  • the receiving module 309 is configured to receive the network bandwidth usage rate sent by the traffic monitoring unit 308.
  • the determining module 310 is configured to determine, according to the network bandwidth usage rate received by the receiving module 309, whether the network is idle.
  • the prefetching module 311 is configured to: when the determining module 310 determines that the network is idle, issue a data request according to the data prefetching policy, so as to pre-update the storage in the non-real cache proxy FCA memory. Part of the memory data.
  • the embodiment of the present invention further provides a node controller NC, which is applied to a multiprocessor system.
  • the method includes: at least one non-real cache proxy FCA 41, and a non-real cache connected to the non-real cache proxy FCA.
  • the FCA memory 42 is represented.
  • the non-real cache proxy FCA and the node controller NC provided by the embodiment of the present invention add at least one FCA conforming to the processor start-level interconnect protocol and the FCA memory connected to the FCA, and the Cache-like Part of the data required by the processor is temporarily stored in the FCA memory, which improves the processor's local area hit rate and Cache access efficiency. Since the FCA conforms to the processor micro-architecture level interconnection protocol, it has the same externality as the ordinary Ca che. In performance, the protocol interface module can be reused without the need to independently design the interface, which reduces development costs.
  • the present invention can be implemented by means of software plus necessary general hardware, and of course, by hardware, but in many cases, the former is a better implementation. .
  • the technical solution of the present invention which is essential or contributes to the prior art, may be embodied in the form of a software product stored in a readable storage medium, such as a floppy disk of a computer.
  • a hard disk or optical disk or the like includes instructions for causing a computer device (which may be a personal computer, a server, or a network device, etc.) to perform the methods described in various embodiments of the present invention.

Description

访问高速緩冲存储器的方法及非真实緩存代理 技术领域
本发明涉及计算机技术领域, 尤其涉及一种访问高速緩冲存储器的方法 及非真实緩存代理。 背景技术
在计算机中, 一般都会在处理器与内存之间设计一个或多个容量较小而 访问速度快的高速緩存存储器(Cache ), 用于暂时保存内存中的部分数据, 以便处理器快速访问 Cache中的数据。
近来, 随着计算机技术的发展, 多处理器系统得到广泛的应用。 在一致 性高速緩存非均匀存储访问体系结构 ( Cache-Coherent Non Uni form Memory-acces s Archi tec ture s , CC-NUMA )等多处理器系统中, 多个处理器 通过节点控制器(Node Cont ro l ler , NC )联接在一起, 实现了内存的共享。 具体的, 当某个处理器 X需要特定的数据时, 首先访问本地 Cache , 若本地 Cache 不命中, 即本地 Cache 中没有该处理器需要的特定数据, 则通过本地 NC向远程地址发送传输特定数据的请求。 由于多处理器实现了内存的共享, 远程 Cache中可能保存有处理器 X需要的数据, 若对某个远程 Cache的读访 问命中, 及远程 Cache中保存有处理器 X需要的特定数据, 则将该数据发送 给最初发出数据请求的处理器 X。 因此, 若处理器所需数据在网络拓朴中传输 路径较远的远程 Cache中, 则访问远程 cache的时延较长, 降低了访问 Cache 的效率。
为了提高本地数据命中率和访问 Cache 的效率, 现有技术中在节点控制 器上添加一个远程专用緩存, 用于暂时存储远程地址的数据。 具体的, 处理 器在访问本地 Cache 不命中的情况下, 访问该远程专用緩存, 若远程专用緩 存依然不命中, 才访问远程地址对应的远程 Cache。通过将远程内存的数据存 储在本地的远程专用緩存中, 缩短了处理器访问远程内存数据的时间, 提高 了本地数据命中率和访问 Ca che的效率。
在实现上述高速緩冲存储器的访问过程中, 发明人发现现有技术中至少 存在如下问题: 由于远程专用緩存为本地物理层添加的底层硬件, 协议层的 节点控制器无法识别该远程专用緩存, 因此需要对远程专用緩存的接口模块 进行单独设计, 导致开发成本较高的问题。 发明内容
本发明的实施例提供一种访问高速緩冲存储器的方法及非真实緩存代 理, 能够在提高本地数据命中率和 Cache访问效率的基础上, 降低节点控制 器的开发成本。
本发明的实施例釆用如下技术方案:
一种访问高速緩冲存储器的方法, 应用于多处理器系统中, 该系统包含 至少一个节点控制器 NC ,所述节点控制器 NC内嵌有至少一个符合处理器微结 构级互连协议的非真实緩存代理 FCA ,所述非真实緩存代理 FCA连接有至少一 个非真实緩存代理 FCA存储器, 该方法包括:
若节点控制器 NC接收到数据请求, 非真实緩存代理 FCA从与其连接的非 真实緩存代理 FCA存储器中获取所述数据请求中所需的目标数据, 所述非真 实緩存代理 FCA存储器中存储有部分内存数据;
将所述目标数据发送给所述数据请求的发出方。
一种非真实緩存代理 FCA ,应用于多处理器系统中, 该系统包含至少一个 节点控制器 NC以及与节点控制器 NC连接的至少一个处理器, 所述节点控制 器 NC内嵌有至少一个符合处理器微结构级互连协议的非真实緩存代理 FCA , 所述非真实緩存代理 FCA与至少一个非真实緩存代理 FCA存储器连接, 所述 FCA存储器存有该多处理系统中内存间共享的数据, 所述非真实緩存代理 FCA 包括:
数据获取模块, 用于在节点控制器 NC接收到数据请求时, 从与所述非真 实緩存代理 FCA连接的非真实緩存代理 FCA存储器中获取所述数据请求中所 需的目标数据; 发送模块, 用于将所述数据获取模块获取的所述目标数据发送给所述数 据请求的发出方。
一种节点控制器 NC , 包括: 至少一个非真实緩存代理 FCA; 以及与所述 非真实緩存代理 FCA相连的非真实緩存代理 FCA存储器。
本发明实施例提供的访问高速緩冲存储器的方法及非真实緩存代理, 通 过在 NC 上添加至少一个符合处理器微结构级互连协议的非真实緩存代理 ( Fake Cache Agent , FCA ), 以及与 FCA相连的 FCA存储器, 并和 Cache— 样将处理器所需的部分数据暂时保存在 FCA存储器中, 提高了处理器在本地 域的命中率和 Cache访问效率; 由于 FCA符合处理器啟结构级互连协议, 与 普通的 Cache具有相同的外在表现, 能重复使用协议接口模块, 无需独立设 计接口, 降低了开发成本。 附图说明 施例或现有技术描述中所需要使用的附图作简单地介绍, 显而易见地, 下面 描述中的附图仅仅是本发明的一些实施例, 对于本领域普通技术人员来讲, 在不付出创造性劳动的前提下, 还可以根据这些附图获得其他的附图。
图 1为本发明实施例 1中的 Cache访问方法流程图;
图 2为本发明实施例 2中的一种 Ca che访问方法流程图;
图 3为本发明实施例 2中的另一种 Cache访问方法流程图;
图 4为本发明实施例 2中的另一种 Cache访问方法流程图;
图 5为本发明实施例 3中的多处理器系统组成示意图;
图 6为本发明实施例 4中的一种 FCA组成示意图;
图 7为本发明实施例 4中的另一种 FCA组成示意图;
图 8为本发明实施例 4中的一种节点控制器组成示意图;
图 9为本发明实施例 4中的一种多处理器系统组成示意图。
具体实施方式 下面将结合本发明实施例中的附图, 对本发明实施例中的技术方案进行 清楚、 完整地描述, 显然, 所描述的实施例仅仅是本发明一部分实施例, 而 不是全部的实施例。 基于本发明中的实施例, 本领域普通技术人员在没有作 出创造性劳动前提下所获得的所有其他实施例, 都属于本发明保护的范围。
实施例 1
本发明实施例提供了一种访问高速緩冲存储器的方法, 该方法应用于多 处理器系统中, 包含至少一个节点控制器 NC , 节点控制器 NC内嵌有至少一个 符合处理器微结构级互连协议的非真实緩存代理 FCA ,非真实緩存代理 FCA连 接有至少一个非真实緩存代理 FCA存储器, 如图 1所示, 包括:
1 01、 若节点控制器 NC接收到数据请求, 非真实緩存代理 FCA从与其连 接的非真实緩存代理 FCA存储器中获取所述数据请求中所需的目标数据。
其中, 所述 NC内嵌有至少一个符合处理器微结构级互连协议的非真实緩 存代理 FCA ,所述 FCA连接有至少一个 FCA存储器。 FCA存储器和现有的 Cache 一样, 具有访问速度较快的特点, 暂时保存有多处理系统中内存间共享的数 据, 以便处理器快速访问。
1 02、 将所述目标数据发送给所述数据请求的发出方。
本发明实施例提供的访问高速緩冲存储器的方法, 通过在 NC上添加至少 一个符合处理器微结构级互连协议的 FCA , 以及与 FCA相连的 FCA存储器, 并 和 Cache—样将处理器所需的部分数据暂时保存在 FCA存储器中, 提高了处 理器在本地域的命中率和 Cache访问效率; 由于 FCA符合处理器微结构级互 连协议, 与普通的 Cache 具有相同的外在表现, 能重复使用协议接口模块, 无需独立设计接口, 降低了开发成本。
实施例 2
本发明实施例提供了一种访问高速緩冲存储器的方法, 该方法应用于多 处理器系统中, 包含至少一个节点控制器 NC , 节点控制器 NC内嵌有至少一个 符合处理器微结构级互连协议的非真实緩存代理 FCA ,非真实緩存代理 FCA连 接有至少一个非真实緩存代理 FCA存储器, 所述 FCA存储器存有该多处理系 统中内存间共享的数据, 如图 2所示, 包括:
201、 所述非真实緩存代理 FCA根据数据查询请求在与其连接的非真实緩 存代理 FCA存储器中查询所述目标数据的更新状态。
在本实施例中, 处理器需要特定的内存数据时, 先会在与本处理器相连 的内存和 cache中查找, 若本处理器的内存和 cache均未命中, 则向多处理 器系统组播或广播数据查询请求。
202、 将所述目标数据的更新状态发送至所述数据查询请求的发出方, 以 便所述数据查询请求的发出方根据所述目标数据的更新状态确定最新目标数 据的存储位置并向所述最新目标数据的存储位置发出数据请求。
其中, 由于多处理器系统的内存共享, 目标数据可能被多个处理器使用 过, 并保存在不同的 cache或 FCA存储器中, 并且可能在某次使用后对目标 数据进行了修改, 因此, 需要在系统中查找最新版本的目标数据。 具体的, 在各个 FCA和 cache接收到数据查询请求时, 将各自存储器中是否保存有目 标数据, 以及目标数据的修改情况以更新状态消息的形式反馈给所述数据查 询请求的发出方。 然后, 所述数据查询请求的发出方根据各个 FCA和 ca che 反馈回来的目标数据的更新状态消息, 判断最新版本的目标数据所在的存储 位置。 处理器在确定了最新版本的目标数据所在的存储位置之后, 向所述存 储位置发出指向明确的数据请求, 以获取最新版本的目标数据。
203、 若节点控制器 NC接收到数据请求, 非真实緩存代理 FCA从与其连 接的非真实緩存代理 FCA存储器中获取所述数据请求中所需的目标数据。
其中, 若在步骤 202 中通过对目标数据的更新状态确定在 FCA存储器中 保存有最新版本的目标数据, 则处理器向所述 FCA发出对目标数据的数据请 求。 当 NC接收到数据请求时, FCA从与其连接的 FCA存储器中获取所述数据 请求中所需的目标数据。
在本实施例中, FCA为内嵌于 NC上的符合处理器微结构级互连协议的非 真实緩存代理, 所述 FCA连接有至少一个 FCA存储器。 FCA存储器和 cache— 样具有访问速度较快的特点, 用于暂时保存内存中的部分数据, 却不专属于 任何一个处理器, 而是在节点控制器上进行自身的数据查询、 发送和更新, 因此叫 #丈非真实的 cache。
204、 将所述目标数据发送给所述数据请求的发出方。
其中, FCA在获取到目标数据后, 将目标数据发送给所述数据请求的发 出方。 所述数据请求可以由与该 NC直接相连的处理器发出, 也可以是其他的 NC通过网络转发的远端数据请求, 还可以是其他 FCA发出的预取数据的数据 请求。
进一步的, 如图 3所示, 为了实现 FCA存储器中的本地数据更新, 提高 远端处理器在 FCA上的命中率, 将通过本地 NC更新出去的数据保存到 FCA存 储器中, 该方法还包括:
205、 如果所述节点控制器 NC从与所述节点控制器 NC相连的除所述非真 实緩存代理 FCA存储器之外的存储器中获取所述目标数据并发送至其他节点 控制器 NC , 所述非真实緩存代理 FCA获取所述目标数据, 并将所述目标数据 保存至与其连接的非真实緩存代理 FC A存储器中。
其中, 由于 FCA存储器位于节点控制器上, 而不是与节点控制器相连的 处理器上, 在远端处理器访问本地 cache和 FCA存储器时, FCA存储器的访问 路径相对比 Cache 的访问路径短, 访问速度快。 因此, 将本地处理器使用并 更新的数据保存在 FCA存储器中, 可以提高访问效率。
进一步的, 为了实现 FCA存储器中的远端数据更新, 提高本地处理器在 FCA上的命中率, 将本地 NC接收到的数据保存到 FCA存储器中, 该方法还包 括:
206、 如果所述节点控制器 NC接收其他节点控制器 NC发送过来的目标数 据时, 所述非真实緩存代理 FCA获取所述目标数据, 并将所述目标数据保存 至与其连接的非真实緩存代理 FCA存储器中。
其中, 由于 FCA存储器位于节点控制器上, 而不是与节点控制器相连的 处理器上, 在本地处理器访问本地 cache和 FCA存储器时, FCA存储器的访问 路径相对比 Ca che的访问路径短, 访问速度快。 因此, 在与本地 NC相连的处 理器获取并使用的数据保存在 FCA存储器中, 以便与本地 NC相连的其他处理 器再次使用该数据时, 在访问路径较短的 FCA中命中。
进一步的, 为了防止 FCA存储器中的数据溢出, 在 FCA上设置预定的数 据替换策略, 将 FCA存储器中部分已有的数据替换为所述目标数据, 该方法 还包括:
207、 若所述非真实緩存代理 FCA存储器的存储空间已满, 则根据数据替 换策略, 将所述非真实緩存代理 FCA存储器中的部分数据替换为所述目标数 据。
其中, 数据替换策略的目的为根据空间和时间的局部性, 将最可能被使 用的数据保存在 FCA 中, 该替换策略可以为最近最少使用 (Lea s t Recent ly Us ed , LRU )算法, 或其他替换算法, 本发明实施例不做限定。
进一步的, 如图 4所示, 为了进一步的提高处理器在本地 FCA中的数据 命中率, 将本地处理器较可能使用的数据预先读取到 FCA存储器中, 所述 NC 还内嵌有一个流量监控单元, 该方法包括:
208、 所述非真实緩存代理 FCA接收所述流量监控单元发送过来的网络带 宽使用率。
209、 根据所述网络带宽使用率判断网络是否空闲。
21 0、 若网络空闲, 则根据数据预取策略发出数据请求, 以便预先更新所 述非真实緩存代理 FC A存储器中存储的部分内存数据。
其中, 数据的预取策略可以为根据特定的应用统计规律, 向至少一个内 存或緩存发出对特定数据的数据请求, 目的是提高 FCA存储器中的数据命中 率。 具体的预取策略可以根据多处理器系统的数据使用情况确定, 本发明实 施例不做限定。
本发明实施例提供的访问高速緩冲存储器的方法, 通过在 NC上添加至少 一个符合处理器微结构级互连协议的 FCA , 以及与 FCA相连的 FCA存储器, 并 和 Cache—样将处理器所需的部分数据暂时保存在 FCA存储器中, 提高了处 理器在本地域的命中率和 Cache访问效率; 由于 FCA符合处理器微结构级互 连协议, 与普通的 Cache 具有相同的外在表现, 能重复使用协议接口模块, 无需独立设计接口, 降低了开发成本。
实施例 3
为了便于所属领域的技术人员理解本发明的技术方法, 本实施例提供一 种基于快速通道互连 ( Qui ckPa th Interconnec t , QPI )协议的多处理器系统 中的应用实例。
如图 5所示, 在该多处理器系统中, 包含至少一个节点控制器 NC以及与 NC连接的至少一个处理器(处理器 A和处理器 B )。 所述 NC内嵌有至少一个 符合处理器微结构级互连协议的非真实緩存代理 FCA, 所述 FCA 与至少一个 FCA存储器连接。
当处理器 A需要特定的数据时, 首先在处理器 A上的 cache中查找, 若 在 cache中不命中, 则向多处理器系统中的其他 cache和 FCA发出数据查询 请求。 然后由各个 cache和 FCA反馈目标数据的更新状态给处理器 A, 处理器 A根据反馈回来的目标数据的更新状态判断最新版本的目标数据所在的存储 位置。
若 FCA存储器中保存有最新版本的目标数据, 处理器会向 FCA发出对目 标数据的数据请求。 FCA根据数据请求从 FCA存储器中获取目标数据, 并将目 标数据发送给处理器 A。
进一步的, 为了实现 FCA存储器的数据更新, 提高 FCA存储器中的数据 命中率, FCA可以将处理器 A和处理器 B使用并更新的数据保存在 FCA存储器 中, 也可以将其他 NC发送过来的数据保存在 FCA存储器中, 以便处理器再次 使用这些数据时可以在 FCA中获取。
进一步的, 为了防止 FCA存储器中的数据溢出, 可以釆用预定的数据替 换策略, 将 FCA存储器中已有的数据替换为最新版本的目标数据。
进一步的, 为了进一步提高本地处理器在 FCA存储器中的数据命中率, 在 NC上添加了一个流量监控单元,用于将网络带宽使用率发送给 FCA。 当 FCA 接收到网络带宽使用率, 并判断网络处于空闲状态时, FCA可以根据预定的预 取策略主动发出预取数据的数据请求, 从本地或远端的存储单元中获取数据, 以提高处理器的访问命中率。
本发明实施例提供的访问高速緩冲存储器的方法, 通过在 NC上添加至少 一个符合处理器微结构级互连协议的 FCA , 以及与 FCA相连的 FCA存储器, 并 和 Cache—样将处理器所需的部分数据暂时保存在 FCA存储器中, 提高了处 理器在本地域的命中率和 Cache访问效率; 由于 FCA符合处理器微结构级互 连协议, 与普通的 Cache 具有相同的外在表现, 能重复使用协议接口模块, 无需独立设计接口, 降低了开发成本。
实施例 4
本发明实施例提供了一种非真实緩存代理 FCA , 应用于多处理器系统中, 该系统包含至少一个节点控制器 NC 以及与节点控制器 NC连接的至少一个处 理器, 其特征在于, 所述节点控制器 NC内嵌有至少一个符合处理器微结构级 互连协议的非真实緩存代理 FCA ,所述非真实緩存代理 FCA与至少一个非真实 緩存代理 FCA存储器连接, 所述 FCA存储器存有该多处理系统中内存间共享 的数据。
如图 6所示, 所述非真实緩存代理 FCA包括:
数据获取模块 301 , 用于在节点控制器 NC接收到数据请求时, 从与所述 非真实緩存代理 FCA连接的非真实緩存代理 FCA存储器中获取所述数据请求 中所需的目标数据。
发送模块 302 ,用于将所述数据获取模块 301获取的所述目标数据发送给 所述数据请求的发出方。
所述非真实緩存代理 FCA存储器为内嵌于节点控制器 NC上的存储单元或 外接于节点控制器 NC上的存储单元。
进一步的, 所述非真实緩存代理 FCA还包括:
查询模块 303 , 用于在所述节点控制器 NC接收到数据请求之前, 根据数 据查询请求在与其连接的非真实緩存代理 FCA存储器中查询所述目标数据的 更新状态。 状态反馈模块 304 ,用于将所述查询模块 303查询的目标数据的更新状态 发送至所述数据查询请求的发出方, 以便所述数据查询请求的发出方根据所 述目标数据的更新状态确定最新目标数据的存储位置并向所述最新目标数据 的存储位置发出数据请求。
进一步的, 如图 7所示, 为了实现 FCA存储器中的本地数据更新, 提高 FCA存储器中的数据命中率, 所述非真实緩存代理 FCA还包括:
第一更新模块 305 ,用于在所述节点控制器 NC从与所述节点控制器 NC相 连的除所述非真实緩存代理 FCA存储器之外的存储器中获取所述目标数据并 发送至其他节点控制器 NC时, 获取所述目标数据, 并将所述目标数据保存至 与其连接的非真实緩存代理 FCA存储器中。
进一步的, 所述非真实緩存代理 FCA还包括:
第二更新模块 306 ,用于在所述节点控制器 NC接收其他节点控制器 NC发 送过来的目标数据时, 获取所述目标数据, 并将所述目标数据保存至与其连 接的非真实緩存代理 FCA存储器中。
进一步的, 为了防止 FCA存储器中数据溢出, 所述非真实緩存代理 FCA 还包括:
替换模块 307 ,用于在所述非真实緩存代理 FCA存储器的存储空间已满时, 根据预定的数据替换策略, 将所述非真实緩存代理 FCA存储器中的部分数据 替换为所述目标数据。
进一步的, 如图 8所示, 所述节点控制器 NC还内嵌有一个流量监控单元 308 , 所述非真实緩存代理 FCA还包括:
接收模块 309 ,用于接收所述流量监控单元 308发送过来的网络带宽使用 率。
判断模块 310 ,用于根据所述接收模块 309接收的所述网络带宽使用率判 断网络是否空闲。
预取模块 311 , 用于在所述判断模块 310判断网络空闲时,根据数据预取 策略发出数据请求, 以便预先更新所述非真实緩存代理 FCA存储器中存储的 部分内存数据。
需要说明的是, 该非真实緩存代理 FCA 的部分功能模块的描述, 可以参 考实施例 1 -3中的对应内容, 本发明实施例这里不再赘述。
本发明实施例还提供一种节点控制器 NC , 应用于多处理器系统中, 如图 9所示, 包括: 至少一个非真实緩存代理 FCA 41 , 以及与非真实緩存代理 FCA 相连的非真实緩存代理 FCA存储器 42。
需要说明的是, 该节点控制器 NC中的部分功能模块的描述, 可以参考实 施例 1- 3以及实施例 4中非真实緩存代理 FCA部分的对应内容, 本发明实施 例这里不再——赘述。
本发明实施例提供的非真实緩存代理 FCA及节点控制器 NC ,通过在 NC上 添加至少一个符合处理器啟结构级互连协议的 FCA ,以及与 FCA相连的 FCA存 储器, 并和 Cache—样将处理器所需的部分数据暂时保存在 FCA存储器中, 提高了处理器在本地域的命中率和 Cache访问效率; 由于 FCA符合处理器微 结构级互连协议, 与普通的 Ca che 具有相同的外在表现, 能重复使用协议接 口模块, 无需独立设计接口, 降低了开发成本。
通过以上的实施方式的描述, 所属领域的技术人员可以清楚地了解到本 发明可借助软件加必需的通用硬件的方式来实现, 当然也可以通过硬件, 但 很多情况下前者是更佳的实施方式。 基于这样的理解, 本发明的技术方案本 质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来, 该 计算机软件产品存储在可读取的存储介质中, 如计算机的软盘, 硬盘或光盘 等, 包括若干指令用以使得一台计算机设备(可以是个人计算机, 服务器, 或者网络设备等)执行本发明各个实施例所述的方法。
以上所述, 仅为本发明的具体实施方式, 但本发明的保护范围并不局限 于此, 任何熟悉本技术领域的技术人员在本发明揭露的技术范围内, 可轻易 想到变化或替换, 都应涵盖在本发明的保护范围之内。 因此, 本发明的保护 范围应以所述权利要求的保护范围为准。

Claims

权利要求 书
1、 一种访问高速緩冲存储器的方法, 应用于多处理器系统中, 该系统包含 至少一个节点控制器 NC , 其特征在于, 所述节点控制器 NC内嵌有至少一个符合 处理器微结构级互连协议的非真实緩存代理 FCA ,所述非真实緩存代理 FCA连接 有至少一个非真实緩存代理 FCA存储器, 所述 FCA存储器存有该多处理系统中 内存间共享的数据, 该方法包括:
若节点控制器 NC接收到数据请求, 非真实緩存代理 FCA从与其连接的非真 实緩存代理 FCA存储器中获取所述数据请求中所需的目标数据;
将所述目标数据发送给所述数据请求的发出方。
2、 根据权利要求 1所述的访问高速緩冲存储器的方法, 其特征在于, 在所 述节点控制器 NC接收到数据请求之前, 还包括:
所述非真实緩存代理 FCA根据数据查询请求在与其连接的非真实緩存代理 FCA存储器中查询所述目标数据的更新状态;
将所述目标数据的更新状态发送至所述数据查询请求的发出方, 以便所述 数据查询请求的发出方根据所述目标数据的更新状态确定最新目标数据的存储 位置并向所述最新目标数据的存储位置发出数据请求。
3、 根据权利要求 1所述的访问高速緩冲存储器的方法, 其特征在于, 还包 括:
如果所述节点控制器 NC从与所述节点控制器 NC相连的除所述非真实緩存 代理 FCA存储器之外的存储器中获取所述目标数据并发送至其他节点控制器 NC , 所述非真实緩存代理 FCA获取所述目标数据, 并将所述目标数据保存至与其连 接的非真实緩存代理 FCA存储器中。
4、 根据权利要求 1所述的访问高速緩冲存储器的方法, 其特征在于, 还包 括:
如果所述节点控制器 NC接收其他节点控制器 NC发送过来的目标数据, 所 述非真实緩存代理 FCA获取所述目标数据, 并将所述目标数据保存至与其连接 的非真实緩存代理 FCA存储器中。
5、 根据权利要求 3或 4所述的访问高速緩冲存储器的方法, 其特征在于, 还包括:
若所述非真实緩存代理 FCA存储器的存储空间已满, 则根据数据替换策略, 将所述非真实緩存代理 FCA存储器中的部分数据替换为所述目标数据。
6、 根据权利要求 5所述的访问高速緩冲存储器的方法, 其特征在于, 所述 节点控制器 NC还内嵌有一个流量监控单元, 在所述节点控制器 NC接收到数据 请求之前, 该方法包括:
所述非真实緩存代理 FCA接收所述流量监控单元发送的网络带宽使用率; 根据所述网络带宽使用率判断网络是否空闲;
若网络空闲, 则根据数据预取策略发出数据请求, 以便预先更新所述非真 实緩存代理 FCA存储器中存储的部分内存数据。
7、 一种非真实緩存代理 FCA , 应用于多处理器系统中, 该系统包含至少一 个节点控制器 NC 以及与节点控制器 NC连接的至少一个处理器, 其特征在于, 所述节点控制器 NC内嵌有至少一个符合处理器微结构级互连协议的非真实緩存 代理 FCA ,所述非真实緩存代理 FCA与至少一个非真实緩存代理 FCA存储器连接, 所述 FCA存储器存有该多处理系统中内存间共享的数据, 所述非真实緩存代理 FCA包括:
数据获取模块, 用于在节点控制器 NC接收到数据请求时, 从与所述非真实 緩存代理 FCA连接的非真实緩存代理 FCA存储器中获取所述数据请求中所需的 目标数据;
发送模块, 用于将所述数据获取模块获取的所述目标数据发送给所述数据 请求的发出方。
8、 根据权利要求 7所述的非真实緩存代理 FCA , 其特征在于, 所述非真实 緩存代理 FCA存储器为内嵌于节点控制器 NC上的存储单元或外接于节点控制器 NC上的存储单元。
9、 根据权利要求 8所述的非真实緩存代理 FCA , 其特征在于, 还包括: 查询模块, 用于在所述节点控制器 NC接收到数据请求之前, 根据数据查询 请求在与其连接的非真实緩存代理 FCA存储器中查询所述目标数据的更新状态; 状态反馈模块, 用于将所述查询模块查询的目标数据的更新状态发送至所 述数据查询请求的发出方, 以便所述数据查询请求的发出方根据所述目标数据 的更新状态确定最新目标数据的存储位置并向所述最新目标数据的存储位置发 出数据请求。
1 0、 根据权利要求 8所述的非真实緩存代理 FCA , 其特征在于, 还包括: 第一更新模块, 用于在所述节点控制器 NC从与所述节点控制器 NC相连的 除所述非真实緩存代理 FCA存储器之外的存储器中获取所述目标数据并发送至 其他节点控制器 NC时, 获取所述目标数据, 并将所述目标数据保存至与其连接 的非真实緩存代理 FCA存储器中。
1 1、 根据权利要求 8所述的非真实緩存代理 FCA , 其特征在于, 还包括: 第二更新模块, 用于在所述节点控制器 NC接收其他节点控制器 NC发送过 来的目标数据时, 获取所述目标数据, 并将所述目标数据保存至与其连接的非 真实緩存代理 FCA存储器中。
12、 根据权利要求 1 0或 1 1所述的非真实緩存代理 FCA , 其特征在于, 还包 括:
替换模块, 用于在所述非真实緩存代理 FCA存储器的存储空间已满时, 根 据预定的数据替换策略, 将所述非真实緩存代理 FCA存储器中的部分数据替换 为所述目标数据。
1 3、 根据权利要求 1 2所述的非真实緩存代理 FCA , 其特征在于, 所述节点 控制器 NC还内嵌有一个流量监控单元, 所述非真实緩存代理 FCA还包括:
接收模块, 用于接收所述流量监控单元发送的网络带宽使用率;
判断模块, 用于根据所述接收模块接收的所述网络带宽使用率判断网络是 否空闲;
预取模块, 用于在所述判断模块判断网络空闲时, 根据数据预取策略发出 数据请求, 以便预先更新所述非真实緩存代理 FCA存储器中存储的部分内存数 据。 I4、 一种节点控制器 NC, 其特征在于, 包括:
至少一个如权利要求 7_i3中任一项所述的非真实緩存代理 FCA; 以及 与所述非真实緩存代理 FCA相连的非真实緩存代理 FCA存储器。
PCT/CN2011/080489 2011-09-30 2011-09-30 访问高速缓冲存储器的方法及非真实缓存代理 WO2012109906A1 (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN2011800018813A CN102388373B (zh) 2011-09-30 2011-09-30 访问高速缓冲存储器的方法及非真实缓存代理
PCT/CN2011/080489 WO2012109906A1 (zh) 2011-09-30 2011-09-30 访问高速缓冲存储器的方法及非真实缓存代理
EP11858865.6A EP2568386A4 (en) 2011-09-30 2011-09-30 PROCESS FOR CACHE ACCESS AND FICTIVE CACHE AGENT
US13/719,626 US9465743B2 (en) 2011-09-30 2012-12-19 Method for accessing cache and pseudo cache agent

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2011/080489 WO2012109906A1 (zh) 2011-09-30 2011-09-30 访问高速缓冲存储器的方法及非真实缓存代理

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US13/719,626 Continuation US9465743B2 (en) 2011-09-30 2012-12-19 Method for accessing cache and pseudo cache agent

Publications (1)

Publication Number Publication Date
WO2012109906A1 true WO2012109906A1 (zh) 2012-08-23

Family

ID=45826494

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2011/080489 WO2012109906A1 (zh) 2011-09-30 2011-09-30 访问高速缓冲存储器的方法及非真实缓存代理

Country Status (4)

Country Link
US (1) US9465743B2 (zh)
EP (1) EP2568386A4 (zh)
CN (1) CN102388373B (zh)
WO (1) WO2012109906A1 (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102902630B (zh) * 2012-08-23 2016-12-21 深圳市同洲电子股份有限公司 一种访问本地文件的方法和装置
CN103092807B (zh) * 2012-12-24 2015-09-09 杭州华为数字技术有限公司 节点控制器、并行计算服务器系统以及路由方法
CN105335217B (zh) * 2014-06-26 2018-11-16 华为技术有限公司 一种服务器静默方法与系统
CN104809179B (zh) * 2015-04-16 2018-10-02 华为技术有限公司 访问哈希表的装置和方法
CN109639796A (zh) * 2018-12-11 2019-04-16 浪潮电子信息产业股份有限公司 一种负载均衡实现方法、装置、设备及可读存储介质
CN110661862A (zh) * 2019-09-20 2020-01-07 网宿科技股份有限公司 一种预热资源文件的方法和中心管理系统
CN112540941A (zh) * 2019-09-21 2021-03-23 华为技术有限公司 一种数据转发芯片及服务器

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080140942A1 (en) * 2006-12-12 2008-06-12 Kornegay Marcus L Implementing a hot coherency state to a cache coherency protocol in a symmetric multi-processor environment
CN101510191A (zh) * 2009-03-26 2009-08-19 浙江大学 具备缓存窗口的多核体系架构及其实现方法
CN102063406A (zh) * 2010-12-21 2011-05-18 清华大学 用于多核处理器的网络共享Cache及其目录控制方法
CN102103568A (zh) * 2011-01-30 2011-06-22 中国科学院计算技术研究所 片上多核处理器系统的高速缓存一致性协议的实现方法

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5829052A (en) * 1994-12-28 1998-10-27 Intel Corporation Method and apparatus for managing memory accesses in a multiple multiprocessor cluster system
US6253292B1 (en) * 1997-08-22 2001-06-26 Seong Tae Jhang Distributed shared memory multiprocessor system based on a unidirectional ring bus using a snooping scheme
US6108764A (en) * 1998-12-17 2000-08-22 International Business Machines Corporation Non-uniform memory access (NUMA) data processing system with multiple caches concurrently holding data in a recent state from which data can be sourced by shared intervention
US6662276B2 (en) * 2000-12-29 2003-12-09 Intel Corporation Storing directory information for non uniform memory architecture systems using processor cache
US6901485B2 (en) * 2001-06-21 2005-05-31 International Business Machines Corporation Memory directory management in a multi-node computer system
KR101375299B1 (ko) * 2007-01-22 2014-03-17 삼성전자주식회사 음성/데이터 통합 시스템 및 그 시스템의 대역폭 관리방법
US7809818B2 (en) * 2007-03-12 2010-10-05 Citrix Systems, Inc. Systems and method of using HTTP head command for prefetching
US9361229B2 (en) 2008-08-25 2016-06-07 International Business Machines Corporation Distributed shared caching for clustered file systems
US8140817B2 (en) * 2009-02-24 2012-03-20 International Business Machines Corporation Dynamic logical partition management for NUMA machines and clusters
US8509185B2 (en) * 2010-02-26 2013-08-13 Telefonaktiebolaget Lm Ericsson Enabling IPV6 mobility with NAT64
CN102075907A (zh) * 2011-01-26 2011-05-25 北京交通大学 一种虚拟接口支持异构切换的方法
CN102137167B (zh) * 2011-04-29 2014-01-08 中国人民解放军国防科学技术大学 不间断运行的虚拟机迁移方法及装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080140942A1 (en) * 2006-12-12 2008-06-12 Kornegay Marcus L Implementing a hot coherency state to a cache coherency protocol in a symmetric multi-processor environment
CN101510191A (zh) * 2009-03-26 2009-08-19 浙江大学 具备缓存窗口的多核体系架构及其实现方法
CN102063406A (zh) * 2010-12-21 2011-05-18 清华大学 用于多核处理器的网络共享Cache及其目录控制方法
CN102103568A (zh) * 2011-01-30 2011-06-22 中国科学院计算技术研究所 片上多核处理器系统的高速缓存一致性协议的实现方法

Also Published As

Publication number Publication date
CN102388373B (zh) 2013-03-20
EP2568386A4 (en) 2013-07-24
CN102388373A (zh) 2012-03-21
US9465743B2 (en) 2016-10-11
EP2568386A1 (en) 2013-03-13
US20130111142A1 (en) 2013-05-02

Similar Documents

Publication Publication Date Title
US10891228B2 (en) Cache line states identifying memory cache
US9665486B2 (en) Hierarchical cache structure and handling thereof
US7613885B2 (en) Cache coherency control method, chipset, and multi-processor system
US9170946B2 (en) Directory cache supporting non-atomic input/output operations
US8392665B2 (en) Allocation and write policy for a glueless area-efficient directory cache for hotly contested cache lines
WO2012109906A1 (zh) 访问高速缓冲存储器的方法及非真实缓存代理
US9817760B2 (en) Self-healing coarse-grained snoop filter
US8868846B2 (en) Method and system for maintaining data coherency across a network
US8161243B1 (en) Address translation caching and I/O cache performance improvement in virtualized environments
US9684597B1 (en) Distributed cache coherent shared memory controller integrated with a protocol offload network interface card
TW201009578A (en) Reducing back invalidation transactions from a snoop filter
TW201832095A (zh) 具有覆寫無效性的讀取事務
TWI386810B (zh) 多處理器系統以目錄為主之資料傳輸協定
WO2014146424A1 (zh) 一种基于有限数据一致性状态的服务器节点数据缓存方法
US20140006716A1 (en) Data control using last accessor information
US20100332762A1 (en) Directory cache allocation based on snoop response information
US7779210B2 (en) Avoiding snoop response dependency
US10970213B2 (en) Selective disabling of hardware-based cache coherency and enforcement of software-based cache coherency
US20130007376A1 (en) Opportunistic snoop broadcast (osb) in directory enabled home snoopy systems
US20070143549A1 (en) System and method for reducing store latency
US7725660B2 (en) Directory for multi-node coherent bus
US20190073304A1 (en) Counting cache snoop filter based on a bloom filter
WO2017016427A1 (zh) 根据目录信息维护Cache数据一致性的方法及装置
US8489822B2 (en) Providing a directory cache for peripheral devices
US10503648B2 (en) Cache to cache data transfer acceleration techniques

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 201180001881.3

Country of ref document: CN

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 11858865

Country of ref document: EP

Kind code of ref document: A1

REEP Request for entry into the european phase

Ref document number: 2011858865

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 2011858865

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: DE