CN110727612A - Calculation buffer memory device based on accurate prefetching - Google Patents

Calculation buffer memory device based on accurate prefetching Download PDF

Info

Publication number
CN110727612A
CN110727612A CN201910846690.5A CN201910846690A CN110727612A CN 110727612 A CN110727612 A CN 110727612A CN 201910846690 A CN201910846690 A CN 201910846690A CN 110727612 A CN110727612 A CN 110727612A
Authority
CN
China
Prior art keywords
message
record
rdma
request
entry information
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
Application number
CN201910846690.5A
Other languages
Chinese (zh)
Other versions
CN110727612B (en
Inventor
任秀江
周建毅
冯冬明
周舟
斯添浩
祝亚斌
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Wuxi Jiangnan Computing Technology Institute
Original Assignee
Wuxi Jiangnan Computing Technology Institute
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 Wuxi Jiangnan Computing Technology Institute filed Critical Wuxi Jiangnan Computing Technology Institute
Priority to CN201910846690.5A priority Critical patent/CN110727612B/en
Publication of CN110727612A publication Critical patent/CN110727612A/en
Application granted granted Critical
Publication of CN110727612B publication Critical patent/CN110727612B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/0862Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with prefetch

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

The invention relates to the technical field of communication, in particular to a calculation cache device based on accurate prefetching and a message engine. The method comprises the following steps: the record cache memory is used for storing the entry information of the RDMA message; a message record prefetching module, configured to perform a message prefetching operation at the beginning of receiving an RDMA message packet at a network interface, to ensure that entry information of an RDMA message to which the RDMA message packet belongs is located in the record cache memory; and the message record calculation module is used for extracting the entry information of the RDMA message to which the RMDA message data packet belongs from the record cache memory to perform message record calculation after the RMDA message data packet is written into the memory. The message record calculation module independently completes the calculation operation of the RDMA message transmission information, and the message record pre-fetching module ensures that the required data is stored in the record cache memory before the calculation of the message record calculation module, thereby improving the calculation processing efficiency of the RMDA message record.

Description

Calculation buffer memory device based on accurate prefetching
Technical Field
The invention relates to the technical field of communication, in particular to a calculation cache device based on accurate prefetching and a message engine.
Background
In high performance computing systems, RDMA messages are a common type of communication. The RDMA message has the biggest characteristic that a large amount of data is directly written into a main memory of a target node, the intervention of operating systems of two parties is not needed, the processing function of a computer is less used, the copying and text exchange operation of an external memory is eliminated, and the system performance is improved. When the data volume is larger than the capacity of the network message, the communication data needs to be split into a plurality of network messages for transmission, and at this time, a mechanism needs to be provided for recording the data volume received by the target node, so that the time when the message transmission is finished can be accurately obtained.
There are many ways to record the message data transmission, including recording the amount of data to be transmitted at the source node and recording the amount of data to be received at the destination node. When a plurality of RDMA messages are processed in parallel, the on-chip storage space cannot accommodate the records of all the messages, and at this time, the record main body needs to be stored in the main memory. The data is stored in the main memory, the access time is increased, the on-chip cache is a common method for improving the access, but because other calculation and comparison functions are needed in the message record information, the general on-chip cache cannot provide the part of functions, the general processor is adopted to complete the part of functions, the normal operation of the processor is disturbed, and the efficiency is not high when the message amount is large, so the message processing performance is influenced.
Disclosure of Invention
The invention aims to provide a calculation caching device applied to an RDMA message engine, which can improve the processing efficiency and the message performance of message records.
A compute cache mechanism based on precision prefetching, comprising:
the record cache memory is used for storing the entry information of the RDMA message;
a message record prefetching module, configured to perform a message prefetching operation at the beginning of receiving an RDMA message packet at a network interface, to ensure that entry information of an RDMA message to which the RDMA message packet belongs is located in the record cache memory;
and the message record calculation module is used for extracting the entry information of the RDMA message to which the RMDA message data packet belongs from the record cache memory to perform message record calculation after the RMDA message data packet is written into the memory.
In the above technical solution, the message record calculation module independently completes calculation operations such as matching and length accumulation of the RDMA message transmission information. The message record pre-fetch module ensures that the data it requires is stored in record cache memory before the message record computation module computes it. Thereby improving the efficiency of the computation processing of the RMDA message record.
Further, the message record pre-fetching module further comprises a record index memory and an index matching module; the record index memory is used for storing the entry index information of the RDMA message; the entry index information in the record index memory corresponds to the entry information in the record cache memory one by one; the index matching module is used for indexing the entry index information of the RDMA message specified by the request in the record cache memory according to the received message pre-fetching request/message record request.
Further, the message record pre-fetching module further comprises an off-target access memory; and the miss-target access memory is used for initiating a memory access request to a main memory when the index matching module fails to index according to the received message prefetching request so as to write the entry information of the RMDA message specified by the message prefetching request into the record cache memory.
Further, the entry index information comprises the expected access times of the entry information and the in-place state of the entry information.
Further, the initial value of the expected access times of the entry information is zero; every time the index matching module receives a message pre-fetching request, adding 1 to the value of the expected access times of the entry information of the RDMA message specified by the message pre-fetching request in the record index memory; the index matching module decreases the value of the expected access times of the entry information of the RDMA message specified by the message record request in the record index memory by 1 each time a message record request is received. When receiving a plurality of data packets of the same continuous RDMA message, the buffer also has a merging processing mechanism, and the follow-up data packet processing does not redundantly send out the prefetch access request.
Further, the miss access module eliminates entry information of one or more RDMA messages with an expected access number of 0 for entry information in the record cache memory if the message record prefetch module determines that the storage space of the record cache memory is full before writing the entry information of the RMDA message specified by the message prefetch request into the record cache memory.
Preferably, the message record prefetching module writes back the entry information of one or more items of the RDMA messages with the expected access times of 0 in the record cache memory to the main memory after eliminating the entry information of the one or more items of the RDMA messages with the expected access times of 0.
Further, when the index matching module fails to index according to the received message prefetch request, the message record prefetch module adds entry index information of the RMDA message specified by the message prefetch request to the record index memory and sets the entry information in-place state to be not in-place; the message record prefetch module sets an entry information in-place state of the RDMA message in the record index memory to be in-place after entry information of the RDMA message specified by the message prefetch request is written from main memory into the record cache memory.
Further, the message record calculation module comprises a calculation component; the index matching module is used for indexing the index information of the entry information of the RDMA message specified by the message recording request in the record index memory according to the received message recording request and initiating a calculation request to the calculation component after the entry information of the RDMA message is in-place; and the computing component extracts the entry information of the RDMA message to which the RMDA message data packet belongs from the record cache memory according to the received computing request to perform message record computation.
Further, the entry information comprises an entry message ID and a received data length, and the message record request comprises a request message ID, a data packet length and a message data length; the calculation section includes a matching unit for matching the matching unit of the entry message ID and the request message ID, an accumulation unit for accumulating the packet length to the received data length, and a comparison unit for comparing the message data length and an accumulation result of the accumulation unit.
The invention has the following beneficial effects:
the prefetching operation of the message prefetching module is closely combined with the RDMAW message data packet processing process, and a cache mechanism for accurate prefetching is realized for the message records. The mechanism can trigger index matching check at the beginning of receiving an RDMA message data packet, and realize the prefetching operation of the entry information in the data packet receiving and processing process, the prefetched entry information can be accessed after the data packet processing is finished, and the related calculation of the entry information is also finished during the accessing. When receiving a plurality of data packets of the same continuous RDMA message, the buffer also has a merging processing mechanism, and the follow-up data packet processing does not redundantly send out the prefetch access request. The processing delay of the RDMA message data packet is reduced, and the RDMA message throughput performance of the message engine is improved.
Drawings
Fig. 1 is a flow of RDMAW message processing according to an embodiment of the present invention.
Fig. 2 is a schematic flow chart of the message engine processing the RDMAW message packet according to the embodiment of the present invention.
Fig. 3 is a block diagram of a computing cache apparatus according to an embodiment of the present invention.
Detailed Description
The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the invention. Unless otherwise defined, all terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this invention belongs. It will be further understood that the conventional terms should be interpreted as having a meaning that is consistent with their meaning in the relevant art and this disclosure. The present disclosure is to be considered as an example of the invention and is not intended to limit the invention to the particular embodiments.
Example one
A computing caching device based on precise prefetching is applied to a message engine (RDMA message engine for short) which realizes an RDMA transmission mechanism. RDMA messages are divided into RDMAR messages, which are operations to read bulk data from the target node's main memory, and RDMAW messages, which are operations to write bulk data sends to the target node's main memory. The computation cache device of the embodiment is used for processing computation operations such as matching and data length accumulation of RDMA messages when receiving data. The message transmission condition is recorded in the message engine of the RDMAR message source node or the RDMAW message target node, so that the delay of the data receiver for acquiring the message completion can be reduced on the basis of keeping the semantic atomicity of the message operation, and the completion operation of the data sender is not negatively influenced.
Hereinafter, the RDMAW message processing procedure is described as an example, and the RDMAR message processing procedure is similar to the RDMAW message processing procedure and is not described again:
fig. 1 shows the process of RDMAW message. The software or the application program submits the RDMAW message transmission request to the RDMA message engine, the RDMA message engine analyzes the received RDMAW message transmission request, and splits the data required to be transmitted by the RDMAW message transmission request into a plurality of RDMAW message data packets (namely, DataPkg shown in FIG. 1) for transmission. Each DataPkg comprises a packet head part and a data part, wherein the packet head part carries part information of the RDMAW message and is used for recording the transmission condition of the RDMAW message at a target node; the data portion carries the split data. After the DataPkg reaches the target node, firstly writing the data carried by the data part into the main memory according to the information carried by the packet head part, then updating the record information of the RDMAW message, finally generating a response packet Msg _ Ack of the RDMAW message data packet and sending the response packet Msg _ Ack back to the source node, and finishing the transmission of one DataPkg. When all DataPkg of the RDMAW message are sent to the end and are correctly received by the target node, and the generated Msg _ Ack is completely returned to the source node, the transmission of the RDMAW message is completed.
As can be seen from the above RDMAW message processing flow, when processing an RDMA message, the message engine splits the RDMAW message into DataPkg, and performs data transmission in units of DataPkg. When the target node receives multiple RDMAW messages simultaneously, the target node needs to receive DataPkg for processing different RDMA messages simultaneously. After the data of each DataPkg is correctly written into the main memory, the transmission is recorded, and the record of each RDMA message is independent and unique. In order to distinguish different RDMA messages, the message ID is carried in the packet header part of the DataPkg and is used for distinguishing different RDMA messages.
Fig. 2 is a schematic flow chart of the message engine processing the RDMAW message packet in this embodiment. The computation caching means of this embodiment is arranged in the RDMA message engine. When the RDMA message engine receives and processes the DataPkg, a message pre-fetching request to the computation cache device is triggered when the network interface receives the initial RDMA message data packet (namely, when the RDMA message engine receives the first data flit of the DataPkg), and the computation cache device performs a pre-fetching operation according to the received message pre-fetching request to prepare the data of the request in advance, namely, to ensure that the entry information of the RDMA message triggering the message pre-fetching request is located in a record cache memory of the computation cache device. When the RDMA message engine transmits and writes the DataPkg data into the main memory, triggering a message recording request to a calculation cache device, wherein the message recording request carries information such as the data volume of the DataPkg triggering the message recording request, the calculation cache device accesses a recording cache memory according to the information carried by the message recording request, and generates a message recording access response after completing the message recording operation corresponding to the DataPkg; and the RDMA message engine responds to the received DataPkg according to the message record access response generated by the calculation caching device.
Fig. 3 is a block diagram of a computing cache apparatus for precise prefetching according to an embodiment of the present invention, where the computing cache apparatus includes:
and the record cache memory is used for storing the entry information of the RDMA message. The entry information is used as a record of the RDMA message and is used for recording the transmission condition of the RDMA message, and the entry information at least comprises two parameters of an entry message ID and a received data length. The entry message ID refers to a message ID of a corresponding RDMA message for distinguishing different RDMA messages. The received data length refers to the length of data already landed on the target node (i.e., landed on the target node, which means received by the target node and stored in the memory of the target node) in the data to be transmitted in the corresponding RDMA message. Generally, entry messages of an RDMA message can be directly stored in an on-chip storage space of an RDMA message engine, but when a plurality of RDMA messages are processed in parallel, the on-chip storage space of the RDMA message engine cannot accommodate entry information of all RDMA messages, and an entry information body needs to be saved in a main memory. However, the disadvantage of storing data in main memory is the increased access time. Thus, the present embodiment improves memory access by setting the record cache memory as an on-chip cache at the RDMA message Engine. In this embodiment, the entry information body of the RDMA message is stored in the main memory, the record cache memory caches the entry information of the RDMA message, when the entry information needs to be used, the entry information is first searched in the record cache memory, and if the entry information cannot be found in the record cache memory, the entry information is searched in the main memory, so that the access time of the entry information is saved.
And the message record prefetching module is used for performing message prefetching operation at the beginning of the RDMA message data packet received by the network interface so as to ensure that the entry information of the RDMA message to which the RDMA message data packet belongs is positioned in the record cache memory. As described above, if the entry information is not needed to be searched in the record cache memory, the access time of the entry information will increase. Therefore, the present embodiment designs a message record prefetching module, which is used to ensure that the entry information is stored in the record cache memory before being accessed, so as to avoid searching the entry information in the main memory again.
And the message record calculation module is used for extracting the entry information of the RDMA message to which the RMDA message data packet belongs from the record cache memory to perform message record calculation after the RMDA message data packet is written into the memory. The message record calculation module is positioned in the RDMA message engine, and is independent from the main memory to perform calculation operations such as matching of RDMA message statement information, length accumulation and the like on the RDMA message so as to record the received DataPkg, and meanwhile, the normal operation of the main memory processor is not disturbed, and the message processing performance is not influenced.
During the RDMA message engine receiving and processing RDMAW messages, each DataPkg requires access to the compute cache. In order to improve the access efficiency, the access process is divided into two parts of prefetch access and calculation access. When the RDMA message engine receives DataPkg and recognizes the RDMAW message, a message prefetching request can be triggered to perform prefetching access on the calculation cache device, and the purpose of sending the request is to inform the calculation cache device of entry information about calculation access to be initiated in advance. After receiving the message pre-fetching request, the computation cache device firstly judges whether an access target (namely entry information about which computation access is to be initiated) is located in the record cache memory, and if the access target is not located in the record cache memory, the computation cache device needs to start the access to read the entry information into the record cache memory; if the entry index information is in the record cache memory, 1 is added to the value of the expected access times of the entry information of the entry index information. After the RDMA message engine receives and processes the DataKpg (after landing of the DataKpg), a message recording request may be triggered to initiate a computing access to the computing cache. The message recording request comprises a request message ID, a data packet length and a message data length, wherein the request message ID refers to the message ID number of the RDMA message to which the DataKpg triggering the message recording request belongs, the data packet length refers to the data length of the data part of the DataKpg triggering the message recording request, and the message data length refers to the data length of the reduced transmission of the RDMA message to which the DataKpg triggering the message recording request belongs. After receiving the message record request, the calculation cache device firstly judges whether an access target (namely entry information required to be accessed by the message record request) is positioned in the record cache memory, if the access target is not positioned in the record cache memory, the prefetch operation is not finished, and at the moment, the judgment is carried out again only when a prefetch response from a main memory is waited; and if the access target is in the record cache memory, subtracting 1 from the value of the expected access times of the entry information of the entry index information, and initiating a calculation request to a message record calculation module to perform message record calculation based on the entry information in the record cache memory and generate a message record access response.
Specifically, the message record prefetching module comprises a record index memory, an index matching module and an off-target access module:
the record index memory is used for counting the cached item information profiles in the record cache memory. The entry index information in the record index memory is also in one-to-one correspondence with the entry information in the record cache memory. The record index memory of this embodiment stores entry index information of an RDMA message. The entry index information comprises the expected access times of the entry information and the in-place state of the entry information. The expected access times of the entry information are used for counting the expected access times of the corresponding entry information. When the expected access times of the entry information is 0, the requirement that the corresponding entry information is not accessed currently is indicated, and the entry information can be eliminated from the record cache memory or written back to the main memory. When the expected access times of the entry information is not 0, the entry information indicates that the corresponding entry information currently has the requirement of being requested to be accessed, and preferably is not eliminated from the record cache memory. In this embodiment, the entry index information in the record cache memory and the entry information in the record index memory may be in one-to-one correspondence by the memory address requested by the RDMA message corresponding to them in common, and may be in one-to-one correspondence by the message ID of the common RDMA message corresponding to them. When the memory addresses requested by the RDMA messages correspond one to one, both the entry index information and the entry information also include the memory addresses requested by their corresponding RDMA messages. When the message IDs of the RDMA messages are in one-to-one correspondence, the entry index information and the entry information each further include a memory address requested by their corresponding RDMA message.
The index matching module is used for performing index matching in the record cache memory so as to search the index information of the target entry. After receiving the message prefetching request, the calculation cache device indexes the entry index information of the RDMA message specified by the request in the record cache memory according to the received message prefetching request through the index matching module, if the indexing is successful, the calculation cache device judges that the access target is located in the record cache memory, and if the indexing is failed, the calculation cache device judges that the access target is not located in the record cache memory. After receiving the message recording request, the calculation cache device indexes the entry index information of the RDMA message specified by the request in the record cache memory according to the received message recording request through the index matching judgment module, if the indexing is successful, the calculation cache device judges that the access target is positioned in the record cache memory, and if the indexing is failed, the calculation cache device judges that the access target is not positioned in the record cache memory. Preferably, when the index matching module fails to index according to the received message prefetch request, the message record prefetch module first adds the entry index information of the RMDA message specified by the message prefetch request to the record index memory and sets the entry information in-place state to be not in-place, and meanwhile initiates a memory access request for the entry information of the RMDA message specified by the message prefetch request to the main memory. The entry information in the RDMA message in the record index memory is set to be in-place after the entry information of the RDMA message specified by the message prefetch request is written from the main memory into the record cache memory. Thus, whether the entry information of the RDMA message is already in place in the record cache memory can be known through the entry information in-place state of the RDMA message.
And the miss access memory is used for initiating a memory access request to the main memory when the index matching module fails to index according to the received message prefetching request so as to write the entry information of the RMDA message specified by the message prefetching request into the record cache memory. The storage space of the record cache memory is limited, and the miss-target access module eliminates the entry information of one or more RDMA messages with the predicted access times of 0 in the record cache memory to make the storage space for the entry information to be written if the message record pre-fetching module judges that the storage space of the record cache memory is full before the entry information of the RMDA message specified by the message pre-fetching request is written into the record cache memory. The term "elimination" refers to the deletion of the entry information from the record cache memory, and since the entry index information in the record index memory corresponds to the entry information in the record cache memory one by one, when the entry information is deleted from the record cache memory, the entry index information stored in the record index memory correspondingly is also deleted. For the entry information of the RDMA message to be used subsequently, the message record pre-fetching module eliminates the RDMA message from the record cache memory and writes the entry information back to the main memory for use.
The message record calculation module comprises a calculation component for extracting the access target (namely the entry information of the RDMA message to which the RMDA message data packet belongs) from the record cache memory according to the received calculation request for performing message record calculation. The calculating component of the embodiment further comprises a matching unit, an accumulation unit and a comparison unit. The matching unit is used for matching the matching unit of the entry message ID and the request message ID, the accumulation unit is used for accumulating the length of the data packet to the length of the received data, and the comparison unit is used for comparing the length of the message data with the accumulation result of the accumulation unit. According to the received calculation request, the calculation component firstly uses a matching unit to match the matching unit of the item message ID and the request message ID, if the matching is successful, the accumulation unit is further used to accumulate the data packet length to the received data length, and finally, the comparison unit is used to compare the message data length with the accumulation result of the accumulation unit: if the RDMA message is equal to the RDMA message, the completion response Msg _ Ack needs to be generated; if the received length is smaller than the message length, the message is not transmitted completely; if the received length is greater than the message length, an error is indicated and an error response needs to be generated for that DataKpg.
Although embodiments of the present invention have been described, various changes or modifications may be made by one of ordinary skill in the art within the scope of the appended claims.

Claims (10)

1. A compute cache mechanism based on precision prefetching, comprising:
the record cache memory is used for storing the entry information of the RDMA message;
a message record prefetching module, configured to perform a message prefetching operation at the beginning of receiving an RDMA message packet at a network interface, to ensure that entry information of an RDMA message to which the RDMA message packet belongs is located in the record cache memory;
and the message record calculation module is used for extracting the entry information of the RDMA message to which the RMDA message data packet belongs from the record cache memory to perform message record calculation after the RMDA message data packet is written into the memory.
2. The precise prefetch-based compute cache apparatus of claim 1 wherein:
the message record pre-fetching module also comprises a record index memory and an index matching module;
the record index memory is used for storing the entry index information of the RDMA message;
the entry index information in the record index memory corresponds to the entry information in the record cache memory one by one;
the index matching module is used for indexing the entry index information of the RDMA message specified by the request in the record cache memory according to the received message pre-fetching request/message record request.
3. The apparatus according to claim 2, wherein the computing buffer based on accurate prestoring comprises:
the message record prefetching module further comprises an off-target access memory;
and the miss-target access memory is used for initiating a memory access request to a main memory when the index matching module fails to index according to the received message prefetching request so as to write the entry information of the RMDA message specified by the message prefetching request into the record cache memory.
4. The apparatus according to claim 3, wherein the computing buffer based on accurate prestore is:
the entry index information comprises the expected access times of the entry information and the in-place state of the entry information.
5. The apparatus according to claim 4, wherein the computing buffer based on accurate prestore is:
the initial value of the estimated access times of the entry information is zero;
every time the index matching module receives a message pre-fetching request, adding 1 to the value of the expected access times of the entry information of the RDMA message specified by the message pre-fetching request in the record index memory;
the index matching module decreases the value of the expected access times of the entry information of the RDMA message specified by the message record request in the record index memory by 1 each time a message record request is received.
6. The apparatus according to claim 5, wherein the computing buffer based on accurate prestore is:
before the entry information of the RMDA message specified by the message pre-fetching request is written into the record cache memory, if the message record pre-fetching module judges that the storage space of the record cache memory is full, the message record pre-fetching module eliminates the entry information of one or more RDMA messages with the expected access times of the entry information in the record cache memory being 0.
7. The apparatus according to claim 6, wherein the computing buffer based on accurate prestoring comprises:
the message record pre-fetching module writes one or more items of entry information of the eliminated RDMA messages back to the main memory after eliminating the entry information of one or more items of RDMA messages with the expected access times of 0 in the record cache memory.
8. The apparatus according to claim 5, wherein the computing buffer based on accurate prestore is:
when the index matching module fails to index according to the received message prefetching request, the message record prefetching module adds entry index information of the RMDA message specified by the message prefetching request in the record index memory and sets the entry information in-place state to be not in-place;
the message record prefetch module sets an entry information in-place state of the RDMA message in the record index memory to be in-place after entry information of the RDMA message specified by the message prefetch request is written from main memory into the record cache memory.
9. The apparatus according to claim 2, wherein the computing buffer based on accurate prestoring comprises:
the message record calculation module comprises a calculation component;
the index matching module is used for indexing the index information of the entry information of the RDMA message specified by the message recording request in the record index memory according to the received message recording request and initiating a calculation request to the calculation component after the entry information of the RDMA message is in-place;
and the computing component extracts the entry information of the RDMA message to which the RMDA message data packet belongs from the record cache memory according to the received computing request to perform message record computation.
10. The apparatus according to claim 1, wherein the computing buffer based on accurate prestoring comprises:
the entry information comprises an entry message ID and a received data length, and the message recording request comprises a request message ID, a data packet length and a message data length;
the calculation section includes a matching unit for matching the matching unit of the entry message ID and the request message ID, an accumulation unit for accumulating the packet length to the received data length, and a comparison unit for comparing the message data length and an accumulation result of the accumulation unit.
CN201910846690.5A 2019-09-09 2019-09-09 Calculation buffer memory device based on accurate prefetching Active CN110727612B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910846690.5A CN110727612B (en) 2019-09-09 2019-09-09 Calculation buffer memory device based on accurate prefetching

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910846690.5A CN110727612B (en) 2019-09-09 2019-09-09 Calculation buffer memory device based on accurate prefetching

Publications (2)

Publication Number Publication Date
CN110727612A true CN110727612A (en) 2020-01-24
CN110727612B CN110727612B (en) 2021-01-15

Family

ID=69217988

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910846690.5A Active CN110727612B (en) 2019-09-09 2019-09-09 Calculation buffer memory device based on accurate prefetching

Country Status (1)

Country Link
CN (1) CN110727612B (en)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050286513A1 (en) * 2004-06-24 2005-12-29 King Steven R Software assisted RDMA
CN1754158A (en) * 2003-01-27 2006-03-29 先进微装置公司 Method and apparatus for injecting write data into a cache
CN101017469A (en) * 2007-03-07 2007-08-15 威盛电子股份有限公司 Control device for direct memory access and method for controlling transmission thereof
CN102906738A (en) * 2010-06-24 2013-01-30 国际商业机器公司 Data access management in a hybrid memory server
US20180074983A1 (en) * 2016-09-14 2018-03-15 Fujitsu Limited Data transfer method, parallel processing device, and recording medium
CN109194721A (en) * 2018-08-15 2019-01-11 无锡江南计算技术研究所 A kind of asynchronous RDMA communication dynamic memory management method and system
CN110069431A (en) * 2018-01-24 2019-07-30 上海交通大学 Elastic Key-Value key-value pair data storage method based on RDMA and HTM
CN110109889A (en) * 2019-05-09 2019-08-09 重庆大学 A kind of distributed memory file management system

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1754158A (en) * 2003-01-27 2006-03-29 先进微装置公司 Method and apparatus for injecting write data into a cache
US20050286513A1 (en) * 2004-06-24 2005-12-29 King Steven R Software assisted RDMA
CN101017469A (en) * 2007-03-07 2007-08-15 威盛电子股份有限公司 Control device for direct memory access and method for controlling transmission thereof
CN102906738A (en) * 2010-06-24 2013-01-30 国际商业机器公司 Data access management in a hybrid memory server
US20180074983A1 (en) * 2016-09-14 2018-03-15 Fujitsu Limited Data transfer method, parallel processing device, and recording medium
CN110069431A (en) * 2018-01-24 2019-07-30 上海交通大学 Elastic Key-Value key-value pair data storage method based on RDMA and HTM
CN109194721A (en) * 2018-08-15 2019-01-11 无锡江南计算技术研究所 A kind of asynchronous RDMA communication dynamic memory management method and system
CN110109889A (en) * 2019-05-09 2019-08-09 重庆大学 A kind of distributed memory file management system

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
陈贵华: "基于RDMA高性能通信库的设计与实现", 《中国优秀硕士学位论文全文数据库 信息科技辑》 *

Also Published As

Publication number Publication date
CN110727612B (en) 2021-01-15

Similar Documents

Publication Publication Date Title
US7702857B2 (en) Adjusting parameters used to prefetch data from storage into cache
US8868846B2 (en) Method and system for maintaining data coherency across a network
US20120173840A1 (en) Sas expander connection routing techniques
CN105677580A (en) Method and device for accessing cache
CN108073527B (en) Cache replacement method and equipment
US20150143045A1 (en) Cache control apparatus and method
US11188256B2 (en) Enhanced read-ahead capability for storage devices
US9465743B2 (en) Method for accessing cache and pseudo cache agent
US7032068B2 (en) Disk cache management method of disk array device
US8539135B2 (en) Route lookup method for reducing overall connection latencies in SAS expanders
US20110258424A1 (en) Distributive Cache Accessing Device and Method for Accelerating to Boot Remote Diskless Computers
CN111694806B (en) Method, device, equipment and storage medium for caching transaction log
US20050228955A1 (en) Method, system, and program for prefetching data into cache
CN110727612B (en) Calculation buffer memory device based on accurate prefetching
US20140215163A1 (en) Processing read and write requests in a storage controller
CN110941565B (en) Memory management method and device for chip storage access
US8850159B2 (en) Method and system for latency optimized ATS usage
JPH07239808A (en) Distributed data managing system
CN116610262A (en) Method, device, equipment and medium for reducing SSD sequential reading delay
CN115982162A (en) Message forwarding table query method and electronic equipment
JP7170093B2 (en) Improved read-ahead capabilities for storage devices
CN115934583A (en) Hierarchical caching method, device and system
US20200409852A1 (en) Enhanced read-ahead capability for storage devices
CN112214178B (en) Storage system, data reading method and data writing method
CN113312275A (en) Data processing method, device and system of memory equipment

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant