CN112559436A - Context access method and system of RDMA communication equipment - Google Patents

Context access method and system of RDMA communication equipment Download PDF

Info

Publication number
CN112559436A
CN112559436A CN202011487278.8A CN202011487278A CN112559436A CN 112559436 A CN112559436 A CN 112559436A CN 202011487278 A CN202011487278 A CN 202011487278A CN 112559436 A CN112559436 A CN 112559436A
Authority
CN
China
Prior art keywords
module
context
information
rdma communication
request
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
CN202011487278.8A
Other languages
Chinese (zh)
Other versions
CN112559436B (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.)
Institute of Computing Technology of CAS
Original Assignee
Institute of Computing Technology of CAS
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 Institute of Computing Technology of CAS filed Critical Institute of Computing Technology of CAS
Priority to CN202011487278.8A priority Critical patent/CN112559436B/en
Publication of CN112559436A publication Critical patent/CN112559436A/en
Application granted granted Critical
Publication of CN112559436B publication Critical patent/CN112559436B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • G06F15/17306Intercommunication techniques
    • G06F15/17331Distributed shared memory [DSM], e.g. remote direct memory access [RDMA]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

The invention provides a method and a system for accessing context by RDMA communication equipment. And the cache module consists of a storage unit and a cache control unit and has the function of providing an interface for the RDMA communication equipment to access the non-critical fields of the context information. And the resident memory module has the function of storing the key field information of the context for the RDMA communication equipment to access. And the access management module has the function of performing read-write control on the context field information and ensuring the consistency of the context information accessed by a plurality of modules.

Description

Context access method and system of RDMA communication equipment
Technical Field
The present invention relates to the field of communications technologies, and in particular, to a method and a system for storing a context of a communication device supporting RDMA.
Background
Remote Direct Memory Access (RDMA) technology bypasses a Remote Central Processing Unit (CPU) by directly accessing a Remote Memory, reduces a time delay in a data transmission process, and reduces a load of the CPU of a server. In general, a server with RDMA functionality generally includes a CPU, a storage unit, and a Host Channel Adapter (HCA) supporting the RDMA functionality. The HCA is connected with HCAs of other servers through cables, so that RDMA communication between the servers is realized.
The following analyzes the problems of the current RDMA communication device during data transmission. Fig. 1 is a data transmission flow of an RDMA communication device. When the server is ready to send data, a doorbell message (1) is sent to the RDMA communication device. After receiving the doorbell, the RDMA communication device acquires Queue Pair Context (QPC) information (2, 3) from the memory according to the doorbell information. Next, the RDMA communication device reads descriptor information (4, 5) of the send data from the memory according to a partial field in QPC, and then the RDMA communication device acquires the data to be sent (6, 7) from the memory using QPC and the descriptor information and sends it out. After the RDMA communication device completes the data transmission process, it will acquire the Completion Queue Context (CQC) and Event Queue Context (EQC) information from the memory (8, 9), and finally write the Completion Event information to the Completion Queue and Event Queue (10).
Fig. 2 is a data reception flow of an RDMA communication device. When a remote data packet is received, the RDMA communication device first parses the data packet header and obtains QPC information (1, 2) for processing the data packet from the memory according to the information of the data packet header. Next, the RDMA communication device reads the descriptor (3, 4) of the received data from the memory according to the partial field in QPC; writing the received data packet into the memory (5) according to the QPC and the descriptor; finally, the CQC and EQC are read from memory (6, 7) and write completion event information to the completion queue and event queue (8).
As can be seen from the above flow, in the process of processing data, the RDMA communication device must acquire information of a partial field in a corresponding context (including but not limited to QPC, CQC, EQC), which increases processing latency of each packet. The existing design method adds a context caching module in the RDMA communication equipment, and the module caches the context information read for the first time to the RDMA communication equipment, so that the context does not need to be read from a memory when the context is reused for data transmission or reception next time, and the context reading delay is reduced.
However, the above method still has the following problems: 1. context information is cached in RDMA communication equipment, and as the number of queue pairs increases, on-chip storage resources of the RDMA communication equipment cannot store all contexts, so that the processing delay of part of the queue pairs is higher; 2. not all information in the context has a great influence on data transmission delay, and opening up a large cache storage context in RDMA communication equipment causes waste of on-chip storage resources.
Disclosure of Invention
In view of the above, it is an object of the present invention to provide a method and system for per-field context access for RDMA communication devices (e.g., HCAs), i.e., dividing the context into fields resident on the RDMA communication device chip and fields partially cached on the chip, according to how critical the respective fields affect latency. The part resident in the on-chip storage can effectively reduce the reading time delay of the context in the data transmission process; while the cached portion on the slice may reduce frequent memory reads by RDMA communication devices.
Aiming at the defects of the prior art, the invention provides a context access method of an RDMA communication device, which comprises the following steps:
step 1, creating a context item, storing a time delay key field of the context item to a resident storage module of a context management system in RDMA communication equipment, and adding the context item to a cache module of the context management system in the RDMA communication equipment;
step 2, the RDMA communication equipment sends a delay key field access request to the context management system according to the received doorbell information, the context management system returns the delay key field, reads the non-delay key information of the context entry from the memory and stores the non-delay key information in a cache unit, and meanwhile, the RDMA communication equipment acquires descriptor information from the memory by using the delay key field; judging whether the data transmission request in the descriptor information is a read request, if so, executing a step 3, otherwise, executing a step 4, if not, executing a write request;
step 3, the RDMA communication equipment interacts context information with a context management system, and simultaneously sends a reading request and obtains a response by utilizing the read descriptor information to realize data reading;
and 4, the RDMA communication equipment acquires the data to be sent from the memory according to the descriptor information, interacts context information with the context management system and sends the data to be sent out in order so as to realize data sending.
The context access method of the RDMA communication device, wherein the step 1 comprises: and writing the content of the items except the delay key field in the context item into a memory.
The context access method of the RDMA communication device, wherein the step 4 includes:
step 41, judging whether the write request is the first write to the context item, if so, setting the context item corresponding to the write request as valid, executing step 42, otherwise, directly jumping to step 42;
step 42, judging whether the write request needs to write the field in the resident storage module, if so, writing the information in the write request into the resident storage module, and executing step 43, otherwise, directly executing step 43;
and 43, judging whether the write request needs to write the field in the cache module, if so, writing the information in the write request into the cache module, otherwise, giving up executing the write request.
The context access method of the RDMA communication device, wherein the step 3 includes:
step 31, judging whether the context item accessed by the read request is valid, if so, executing step 32, otherwise, giving up executing the read request;
step 32, judging whether the read request needs to read the field in the resident storage module, if so, reading the field in the resident storage module, reading the corresponding item of the read request from the server memory to the cache module, and executing step 33, otherwise, directly executing step 33;
step 33, judging whether the read request needs to read the field in the cache module, if so, reading the field in the cache module, and executing step 34, otherwise, directly executing step 34;
step 34, returning the read information of step 32 and step 33 to the RDMA communication device.
Before the step 41 is executed, it is determined whether the write request is a request to cancel a context entry, if so, the corresponding entry resident in the memory module and the cache module is set as invalid, and the invalid entry is canceled, otherwise, the step 41 is executed.
The invention also provides a context access system of the RDMA communication device, which comprises the following components:
the module 1 is used for creating a context item, storing a time delay key field of the context item to a resident storage module of a context management system in the RDMA communication equipment, and adding the context item to a cache module of the context management system in the RDMA communication equipment;
a module 2, configured to enable the RDMA communication device to send a latency critical field access request to the context management system according to the received doorbell information, where the context management system returns the latency critical field, reads non-latency critical information of the context entry from a memory, and stores the non-latency critical information in a cache unit, and meanwhile, the RDMA communication device obtains descriptor information from the memory by using the latency critical field; judging whether the data transmission request in the descriptor information is a read request, if so, calling a module 3, otherwise, calling a module 4 if the data transmission request is a write request;
a module 3, configured to enable the RDMA communication device to exchange context information with a context management system, and send a read request and obtain a response to the RDMA communication device by using the read descriptor information, so as to implement data reading;
and the module 4 is used for enabling the RDMA communication equipment to acquire the data to be sent from the memory according to the descriptor information, and sending the data to be sent out in order by interacting context information with the context management system so as to realize data sending.
The context access system of the RDMA communication device, wherein the module 1 comprises: and writing the content of the items except the delay key field in the context item into a memory.
The context access system of the RDMA communication device, wherein the module 4 comprises:
module 41, determine whether the write request is the first write to a context entry, if so, set the context entry corresponding to the write request as valid, call module 42, otherwise, directly jump to module 42;
the module 42 judges whether the write request needs to write the field in the resident storage module, if so, the information in the write request is written into the resident storage module, and the module 43 is called, otherwise, the module 43 is directly called;
and the module 43 judges whether the write request needs to write the field in the cache module, if so, writes the information in the write request into the cache module, otherwise, abandons the execution of the write request.
The context access system of the RDMA communication device, wherein the module 3 comprises:
module 31, judge whether the context item accessed by the read request is valid, if it is valid, invoke module 32, otherwise abandon the execution of the read request;
the module 32 judges whether the read request needs to read the field in the resident storage module, if so, reads the field in the resident storage module, reads the corresponding item of the read request from the server memory to the cache module, and calls the module 33, otherwise, directly calls the module 33;
module 33, judge whether the read request needs to read the field in the cache module, if yes, read the field in the cache module and call module 34, otherwise directly call module 34;
module 34, return module 32 and module 33 to the RDMA communication device.
Before executing the module 41, the context access system of the RDMA communication device determines whether the write request is a request for canceling a context entry, if so, sets a corresponding entry in the resident storage module and the cache module as invalid, cancels the invalid entry, otherwise, executes the module 41.
According to the scheme, the invention has the advantages that:
1. after the context entry is created, the time delay key field information in the context entry information is stored on the resident storage module, and cache miss of the first time of context entry reading does not exist.
2. And all field information with key time delay in the context is stored in a resident storage module of the equipment, so that the time delay in the data transmission process is reduced, and the data processing rate is improved.
3. The context field information which is not critical to time delay is read into the equipment (in the cache module) when the resident module is read, so that the reading time delay under the condition of cache miss is hidden, the time delay under the condition of context cache miss is reduced, and the data processing speed is improved.
4. The field information which is not critical to time delay in the context adopts a strategy of partially buffering on the equipment, thereby avoiding frequent reading of the context and reducing the contention of the system bus bandwidth.
Drawings
FIG. 1 is a flow in a data transmission of a conventional RDMA communication device;
FIG. 2 is a flow in data reception for a conventional RDMA communication device;
FIG. 3 is a context access system architecture in an RDMA enabled communication device of the present invention;
FIG. 4 is a context access flow during a data transfer of an RDMA communication device in accordance with the present invention;
FIG. 5 is a context access flow in a RDMA communication device data reception process of the present invention;
FIG. 6 is a RDMA enabled communication device context read-write system access flow of the present invention;
FIG. 7 is an embodiment of a context access method of an RDMA communication device of the present invention;
FIG. 8 is an embodiment of a context access system architecture of the present invention;
FIG. 9 is an embodiment of a context item creation and deregistration process in a context access system of the present invention;
FIG. 10 is an embodiment of the access flow of a context item in the context access system of the present invention.
Detailed Description
In order to make the aforementioned features and effects of the present invention more comprehensible, embodiments accompanied with figures are described in detail below.
The overall system structure is shown in fig. 3, and includes: the device comprises a cache module, a resident storage module and an access management module. The system can effectively reduce the time delay in the data transmission process of the RDMA communication equipment.
The buffer module is characterized in that the buffer module is independent of the storage module outside the memory of the host and is a buffer attached to the RDMA communication equipment. The cache module comprises a storage unit and a cache control unit, and the storage unit is used for caching context information which may be used; the cache control unit is used for controlling the replacement strategy of the cache module. The content in the cache module is written in when the context is created, and partial entries in the cache are written in the memory by adopting a cache replacement mode when the cache space is full; when the context is read, if the storage unit does not have the context item to be read, the cache module reads the corresponding item from the memory to the storage unit.
A resident memory module whose function is to save the device-resident fields in context. These fields are written at the time of context creation and are always saved in the on-chip memory space of the device. When the context is logged off, it is invalidated.
An access management module for centrally controlling write operations or read operations of context resources by different modules in the RDMA communication device. And if the access type is write operation, the access management module writes the context information into the resident storage module or the cache module according to the field to be written. And if the access type is read operation, the access management module reads the context information from the resident storage module or the cache module according to the field to be read, and performs merging output.
The invention also relates to a context read-write method of the RDMA communication equipment, which introduces the access flow of the queue to the context of the RDMA communication equipment in the data transmission process:
step 410, the RDMA communication equipment receives the doorbell information, and then the process jumps to step 420; otherwise, step 410 is still executed;
step 420, reading the context information (located in the resident memory module) of the queue with critical time delay, completely storing the information on the equipment, and jumping to step 430;
step 430, according to the QPC information read in step 420, the descriptor information related to data transmission is read in the memory, and at the same time, the corresponding non-latency critical context information (including but not limited to QPC, CQC, EQC, and the like) is read and stored in the cache module for subsequent descriptor processing. At this time, the information of the designated QPC is all cached on the device, and the process jumps to step 440;
step 440, reading data to be sent from the memory according to the descriptor information, and jumping to step 450;
and 450, reading QPC information from the context access system for processing and sending data.
The invention also relates to a context read-write method of the RDMA communication equipment, which introduces the access flow of the queue to the context of the RDMA communication equipment in the data receiving process:
step 510, when the RDMA communication equipment receives the data packet of the far end, the step 520 is skipped; otherwise, go on to step 510;
step 520, reading QPC information (located in a resident memory module) with critical time delay, completely storing the information on the equipment, and jumping to step 530;
step 530, according to the QPC information read in step 520, reading descriptor information in a memory, and simultaneously reading non-latency critical context information (including but not limited to QPC, CQC, EQC, and the like), at this time, all the information of the specified context is cached on the device, and the process jumps to step 540;
and 540, writing the remote data into the memory according to the descriptor information and the context information acquired in 530.
The context read-write system of RDMA communication equipment related by the invention has the following internal context access processing flow:
step 610, if the context management system receives an access request of the RDMA communication equipment, jumping to step 620; otherwise, go to step 610;
step 620, judging whether the incoming access request is a write request, and if the incoming access request is the write request, jumping to step 630; otherwise, it is a read request, and go to step 660;
step 630, determine whether the write request is the first write to the context entry, if so, set the entry as valid, and go to step 640; otherwise, directly jumping to step 640;
step 640, judging whether the write request needs to write the field in the resident storage module, if the field needs to be written in, writing the corresponding information in the request into the resident storage module, and jumping to step 650; otherwise, directly jumping to step 650;
step 650, judging whether the write request needs to write the field in the cache module, if the field needs to be written in, writing the corresponding information in the request into the cache module, and jumping to step 610; otherwise, abandoning the execution of the write request, and directly jumping to the step 610;
step 660, judging whether the context item accessed by the read request is valid or not, if so, jumping to step 670; otherwise, the read request is abandoned and the process goes to step 610;
step 670, judging whether the read request needs to read the field in the resident storage module, if the field needs to be read, reading the corresponding field in the resident storage module, reading the content of the item to be read by the read request from the memory to the cache module, and jumping to step 680; otherwise, go to step 680 directly;
step 680, judging whether the read request needs to read the field in the cache module, if the field needs to be read, reading the field in the cache module, and skipping to step 690; otherwise, go directly to step 690;
step 690, merge the read context information, return a context read response to the RDMA communication device, and jump to step 610.
An embodiment of the context access system on an RDMA communication device is shown in fig. 7. Included in the RDMA communication device are: RDMA engine, control plane management system, context access system, transmission interface, system bus controller.
The RDMA engine is used for RDMA related protocol processing, and context information can be used in the data sending and receiving processes; the control plane management system is used for managing the work of creating, distributing, canceling and the like of various resources on the RDMA communication equipment; a context access system for managing access to context resources on an RDMA communication device; a transport interface comprising a link layer and a physical layer of an RDMA communication device, including but not limited to being an ethernet or InfiniBand link; a system bus controller for controlling data transmission between the CPU and the RDMA communication device, in this embodiment, a Peripheral Component Interconnect Express (PCIe) is used as a system bus for the RDMA communication device and the CPU.
The following describes a flow of accessing context resources during data transmission by an RDMA device, taking the RDMA communication device in fig. 7 as an example. First, a control plane system in an RDMA communication device writes context entry information sent from a CPU to a context access system (1); next, the RDMA engine receives a data transmission request, which may be a data transmission request sent by the CPU or a data packet arriving from a remote end; subsequently, the RDMA engine sends a queue pair address reading request (2) to the context access system, and accesses the descriptor information of the queue pair in the memory by using the memory address; finally, the RDMA engine reads and writes other context fields (including but not limited to a queue pair status field, a destination queue pair number, a send data packet sequence number, etc.) from the context access system to complete the data transmission process.
Fig. 8 is an embodiment of a context access system architecture. This case contains three modules: the system comprises an access management module, a cache module and a resident storage module. The access management module is used for controlling the RDMA engine and the control plane management system to read and write access to the context; the buffer module comprises a storage unit and a buffer control unit, and is used for storing queue pair state fields and destination end queue pairs, sending data packet sequence numbers, receiving data packet sequence numbers and other information in the embodiment; the resident storage module, in this embodiment, is configured to store a send queue memory first address and a receive queue memory first address in the context, and a context entry valid flag bit.
The invention relates to a process for creating and logging off a context item in a context access system, which comprises the following steps:
step 910, the context access system determines whether a write request from the control plane management system is received, and if so, jumps to step 920; otherwise, still execute step 910;
step 920, if the request is a request for creating a context entry, go to step 930; otherwise, the request is a context entry logout request, and step 950 is skipped;
step 930, setting the valid position of the corresponding entry in the resident storage module to 1, indicating that the entry is a valid entry, and simultaneously writing in the queue address information, and jumping to step 940;
step 940, writing the information of the item into the cache module, and if the cache is full, writing the item after replacing an item;
step 950, setting the valid bit of the corresponding entry in the resident storage module to 0, indicating that the cache entry is invalid at present, and jumping to step 960;
step 960. if the entry is in the cache, the valid bit of the cache entry is set to 0, indicating that the cache unit can write a new entry.
The read-write flow of the context item in the context access system comprises the following steps:
step 1010, the context access system judges whether a context read-write request from the RDMA engine is received, and if so, the step 1020 is skipped; otherwise, go to step 1010;
step 1020, reading the valid bit of the request entry from the resident storage module, and jumping to step 1030 if the valid bit is 1; otherwise, jumping to step 1010;
step 1030, in this embodiment, if the request is a request for reading a queue memory address, including a sending queue address, a receiving queue address, and the like, then step 1040 is skipped; otherwise, go to step 1060;
step 1040, returning the requested queue address information from the resident memory cell, and jumping to step 1050;
and 1050, writing the data read from the memory into the cache module by the cache module. If the cache module is full, replacing one context item in the cache module into the memory module by adopting a replacement strategy;
the context access request of the RDMA engine will access the context information in the cache module, step 1060.
The following are system examples corresponding to the above method examples, and this embodiment can be implemented in cooperation with the above embodiments. The related technical details mentioned in the above embodiments are still valid in this embodiment, and are not described herein again in order to reduce repetition. Accordingly, the related-art details mentioned in the present embodiment can also be applied to the above-described embodiments.
The invention also provides a context access system of the RDMA communication device, which comprises the following components:
the module 1 is used for creating a context item, storing a time delay key field of the context item to a resident storage module of a context management system in the RDMA communication equipment, and adding the context item to a cache module of the context management system in the RDMA communication equipment;
a module 2, configured to enable the RDMA communication device to send a latency critical field access request to the context management system according to the received doorbell information, where the context management system returns the latency critical field, reads non-latency critical information of the context entry from a memory, and stores the non-latency critical information in a cache unit, and meanwhile, the RDMA communication device obtains descriptor information from the memory by using the latency critical field; judging whether the data transmission request in the descriptor information is a read request, if so, calling a module 3, otherwise, calling a module 4 if the data transmission request is a write request;
a module 3, configured to enable the RDMA communication device to exchange context information with a context management system, and send a read request and obtain a response to the RDMA communication device by using the read descriptor information, so as to implement data reading;
and the module 4 is used for enabling the RDMA communication equipment to acquire the data to be sent from the memory according to the descriptor information, and sending the data to be sent out in order by interacting context information with the context management system so as to realize data sending.
The context access system of the RDMA communication device, wherein the module 1 comprises: and writing the content of the items except the delay key field in the context item into a memory.
The context access system of the RDMA communication device, wherein the module 4 comprises:
module 41, determine whether the write request is the first write to a context entry, if so, set the context entry corresponding to the write request as valid, call module 42, otherwise, directly jump to module 42;
the module 42 judges whether the write request needs to write the field in the resident storage module, if so, the information in the write request is written into the resident storage module, and the module 43 is called, otherwise, the module 43 is directly called;
and the module 43 judges whether the write request needs to write the field in the cache module, if so, writes the information in the write request into the cache module, otherwise, abandons the execution of the write request.
The context access system of the RDMA communication device, wherein the module 3 comprises:
module 31, judge whether the context item accessed by the read request is valid, if it is valid, invoke module 32, otherwise abandon the execution of the read request;
the module 32 judges whether the read request needs to read the field in the resident storage module, if so, reads the field in the resident storage module, reads the corresponding item of the read request from the server memory to the cache module, and calls the module 33, otherwise, directly calls the module 33;
module 33, judge whether the read request needs to read the field in the cache module, if yes, read the field in the cache module and call module 34, otherwise directly call module 34;
module 34, return module 32 and module 33 to the RDMA communication device.
Before executing the module 41, the context access system of the RDMA communication device determines whether the write request is a request for canceling a context entry, if so, sets a corresponding entry in the resident storage module and the cache module as invalid, cancels the invalid entry, otherwise, executes the module 41.

Claims (10)

1. A method of context access for an RDMA communication device, comprising:
step 1, creating a context item, storing a time delay key field of the context item to a resident storage module of a context management system in RDMA communication equipment, and adding the context item to a cache module of the context management system in the RDMA communication equipment;
step 2, the RDMA communication equipment sends a delay key field access request to the context management system according to the received doorbell information, the context management system returns the delay key field, reads the non-delay key information of the context entry from the memory and stores the non-delay key information in a cache unit, and meanwhile, the RDMA communication equipment acquires descriptor information from the memory by using the delay key field; judging whether the data transmission request in the descriptor information is a read request, if so, executing a step 3, otherwise, executing a step 4, if not, executing a write request;
step 3, the RDMA communication equipment interacts context information with a context management system, and simultaneously sends a reading request and obtains a response by utilizing the read descriptor information to realize data reading;
and 4, the RDMA communication equipment acquires the data to be sent from the memory according to the descriptor information, interacts context information with the context management system and sends the data to be sent out in order so as to realize data sending.
2. The RDMA communication device context access method of claim 1, wherein step 1 comprises: and writing the content of the items except the delay key field in the context item into a memory.
3. The RDMA communication device context access method of claim 1, wherein the step 4 comprises:
step 41, judging whether the write request is the first write to the context item, if so, setting the context item corresponding to the write request as valid, executing step 42, otherwise, directly jumping to step 42;
step 42, judging whether the write request needs to write the field in the resident storage module, if so, writing the information in the write request into the resident storage module, and executing step 43, otherwise, directly executing step 43;
and 43, judging whether the write request needs to write the field in the cache module, if so, writing the information in the write request into the cache module, otherwise, giving up executing the write request.
4. The RDMA communication device context access method of claim 3, wherein step 3 comprises:
step 31, judging whether the context item accessed by the read request is valid, if so, executing step 32, otherwise, giving up executing the read request;
step 32, judging whether the read request needs to read the field in the resident storage module, if so, reading the field in the resident storage module, reading the corresponding item of the read request from the server memory to the cache module, and executing step 33, otherwise, directly executing step 33;
step 33, judging whether the read request needs to read the field in the cache module, if so, reading the field in the cache module, and executing step 34, otherwise, directly executing step 34;
step 34, returning the read information of step 32 and step 33 to the RDMA communication device.
5. The RDMA communication device context access method of claim 3, wherein before performing the step 41, determining whether the write request is a request to unregister a context entry, if so, setting a corresponding entry in the resident memory module and the cache module as invalid, and unregistering the invalid entry, otherwise performing the step 41.
6. A context access system for an RDMA communication device, comprising:
the module 1 is used for creating a context item, storing a time delay key field of the context item to a resident storage module of a context management system in the RDMA communication equipment, and adding the context item to a cache module of the context management system in the RDMA communication equipment;
a module 2, configured to enable the RDMA communication device to send a latency critical field access request to the context management system according to the received doorbell information, where the context management system returns the latency critical field, reads non-latency critical information of the context entry from a memory, and stores the non-latency critical information in a cache unit, and meanwhile, the RDMA communication device obtains descriptor information from the memory by using the latency critical field; judging whether the data transmission request in the descriptor information is a read request, if so, calling a module 3, otherwise, calling a module 4 if the data transmission request is a write request;
a module 3, configured to enable the RDMA communication device to exchange context information with a context management system, and send a read request and obtain a response to the RDMA communication device by using the read descriptor information, so as to implement data reading;
and the module 4 is used for enabling the RDMA communication equipment to acquire the data to be sent from the memory according to the descriptor information, and sending the data to be sent out in order by interacting context information with the context management system so as to realize data sending.
7. The RDMA communication device context access system of claim 1, wherein the module 1 comprises: and writing the content of the items except the delay key field in the context item into a memory.
8. The RDMA communication device context access system of claim 1, wherein the module 4 comprises:
module 41, determine whether the write request is the first write to a context entry, if so, set the context entry corresponding to the write request as valid, call module 42, otherwise, directly jump to module 42;
the module 42 judges whether the write request needs to write the field in the resident storage module, if so, the information in the write request is written into the resident storage module, and the module 43 is called, otherwise, the module 43 is directly called;
and the module 43 judges whether the write request needs to write the field in the cache module, if so, writes the information in the write request into the cache module, otherwise, abandons the execution of the write request.
9. The RDMA communication device context access system of claim 3, wherein the module 3 comprises:
module 31, judge whether the context item accessed by the read request is valid, if it is valid, invoke module 32, otherwise abandon the execution of the read request;
the module 32 judges whether the read request needs to read the field in the resident storage module, if so, reads the field in the resident storage module, reads the corresponding item of the read request from the server memory to the cache module, and calls the module 33, otherwise, directly calls the module 33;
module 33, judge whether the read request needs to read the field in the cache module, if yes, read the field in the cache module and call module 34, otherwise directly call module 34;
module 34, return module 32 and module 33 to the RDMA communication device.
10. The RDMA communication device context access system of claim 3, wherein before executing the module 41, it is determined whether the write request is a request to unregister a context entry, if so, the corresponding entry resident in the memory module and the cache module is set to invalid, the invalid entry is unregistered, otherwise the module 41 is executed.
CN202011487278.8A 2020-12-16 2020-12-16 Context access method and system of RDMA communication equipment Active CN112559436B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011487278.8A CN112559436B (en) 2020-12-16 2020-12-16 Context access method and system of RDMA communication equipment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011487278.8A CN112559436B (en) 2020-12-16 2020-12-16 Context access method and system of RDMA communication equipment

Publications (2)

Publication Number Publication Date
CN112559436A true CN112559436A (en) 2021-03-26
CN112559436B CN112559436B (en) 2023-11-03

Family

ID=75064084

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011487278.8A Active CN112559436B (en) 2020-12-16 2020-12-16 Context access method and system of RDMA communication equipment

Country Status (1)

Country Link
CN (1) CN112559436B (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113572582A (en) * 2021-07-15 2021-10-29 中国科学院计算技术研究所 Data transmission and retransmission control method and system, storage medium and electronic device
CN115934625A (en) * 2023-03-15 2023-04-07 珠海星云智联科技有限公司 Doorbell knocking method, device and medium for remote direct memory access
CN116303173A (en) * 2023-05-19 2023-06-23 深圳云豹智能有限公司 Method, device and system for reducing RDMA engine on-chip cache and chip
CN118069570A (en) * 2024-04-19 2024-05-24 沐曦集成电路(上海)有限公司 Doorbell type chip access system, device and method

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6742075B1 (en) * 2001-12-03 2004-05-25 Advanced Micro Devices, Inc. Arrangement for instigating work in a channel adapter based on received address information and stored context information
US20050120360A1 (en) * 2003-12-02 2005-06-02 International Business Machines Corporation RDMA completion and retransmit system and method
CN101377788A (en) * 2008-09-28 2009-03-04 中国科学院计算技术研究所 Method and system of caching management in cluster file system
CN103902486A (en) * 2014-04-08 2014-07-02 华为技术有限公司 System, device and method for implementation of remote direct memory access
CN110191194A (en) * 2019-06-13 2019-08-30 华中科技大学 A kind of Distributed File System Data transmission method and system based on RDMA network

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6742075B1 (en) * 2001-12-03 2004-05-25 Advanced Micro Devices, Inc. Arrangement for instigating work in a channel adapter based on received address information and stored context information
US20050120360A1 (en) * 2003-12-02 2005-06-02 International Business Machines Corporation RDMA completion and retransmit system and method
CN101377788A (en) * 2008-09-28 2009-03-04 中国科学院计算技术研究所 Method and system of caching management in cluster file system
CN103902486A (en) * 2014-04-08 2014-07-02 华为技术有限公司 System, device and method for implementation of remote direct memory access
CN110191194A (en) * 2019-06-13 2019-08-30 华中科技大学 A kind of Distributed File System Data transmission method and system based on RDMA network

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
马留英;蔡杰明;刘浏;刘振军;: "一种加速广域文件系统读写访问的缓存策略", 计算机研究与发展 *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113572582A (en) * 2021-07-15 2021-10-29 中国科学院计算技术研究所 Data transmission and retransmission control method and system, storage medium and electronic device
CN115934625A (en) * 2023-03-15 2023-04-07 珠海星云智联科技有限公司 Doorbell knocking method, device and medium for remote direct memory access
CN115934625B (en) * 2023-03-15 2023-05-16 珠海星云智联科技有限公司 Doorbell knocking method, equipment and medium for remote direct memory access
CN116303173A (en) * 2023-05-19 2023-06-23 深圳云豹智能有限公司 Method, device and system for reducing RDMA engine on-chip cache and chip
CN116303173B (en) * 2023-05-19 2023-08-08 深圳云豹智能有限公司 Method, device and system for reducing RDMA engine on-chip cache and chip
CN118069570A (en) * 2024-04-19 2024-05-24 沐曦集成电路(上海)有限公司 Doorbell type chip access system, device and method

Also Published As

Publication number Publication date
CN112559436B (en) 2023-11-03

Similar Documents

Publication Publication Date Title
CN112559436B (en) Context access method and system of RDMA communication equipment
US9569366B2 (en) System and method to provide non-coherent access to a coherent memory system
US7870306B2 (en) Shared memory message switch and cache
US7260104B2 (en) Deferred queuing in a buffered switch
US7603429B2 (en) Network adapter with shared database for message context information
WO2020236275A1 (en) System and method for facilitating dynamic command management in a network interface controller (nic)
WO2015078219A1 (en) Information caching method and apparatus, and communication device
US7505410B2 (en) Method and apparatus to support efficient check-point and role-back operations for flow-controlled queues in network devices
US7111092B1 (en) Buffer management technique for a hypertransport data path protocol
US8943507B2 (en) Packet assembly module for multi-core, multi-thread network processors
US7117308B1 (en) Hypertransport data path protocol
US20110225168A1 (en) Hash processing in a network communications processor architecture
CN113225307B (en) Optimization method, system and terminal for pre-reading descriptors in uninstalling engine network card
US9311265B2 (en) Techniques for improving throughput and performance of a distributed interconnect peripheral bus connected to a host controller
US9596186B2 (en) Multiple processes sharing a single infiniband connection
JP2004536515A (en) Switch fabric with dual port memory emulation
US9336162B1 (en) System and method for pre-fetching data based on a FIFO queue of packet messages reaching a first capacity threshold
CN115934625B (en) Doorbell knocking method, equipment and medium for remote direct memory access
CN115248795A (en) Peripheral Component Interconnect Express (PCIE) interface system and method of operating the same
JP2008097646A (en) Data processor and trace signal generation method
US9176912B2 (en) Processor to message-based network interface using speculative techniques
US11093405B1 (en) Shared mid-level data cache
CN115955441A (en) Management scheduling method and device based on TSN queue
EP1628209A1 (en) System controller, speculative fetching method, and information processing apparatus for executing speculative fetch depending on hardware resource availability.
US8737393B2 (en) Communication apparatus, control method for communication apparatus, and computer program

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