Unilateral multicast data transmission method and device based on RDMA reliable connection mode and electronic equipment

By introducing leading memory nodes for unilateral parallel replication in the reliable connection mode of RDMA technology, the problem that RDMA technology cannot achieve unilateral multicast is solved, data transmission efficiency and throughput are improved, and network resource consumption and CPU burden are reduced.

CN119299403AActive Publication Date: 2025-01-10TSINGHUA UNIVERSITY
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
CN202411283742.X
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-09-12
Publication Date
2025-01-10
Estimated Expiration
2044-09-12

AI Technical Summary

Technical Problem

RDMA technology only supports one-to-one data transmission in reliable connection mode, and cannot achieve unilateral multicast, resulting in low data transmission efficiency and insufficient utilization of network resources.

Method used

By introducing leading memory nodes into the target multicast group, using their free network card resources to perform unilateral parallel replication of target data, and updating the completion status table, avoiding independent write operations of calculation nodes to each sub-memory node, realizing RDMA-based Single-side multicast in reliable connection mode.

Benefits of technology

It reduces the consumption of IOPS and network bandwidth resources required for data transmission, improves data transmission efficiency and data center throughput, reduces the CPU burden of memory nodes, and is suitable for decoupled memory architecture.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119299403A_ABST
    Figure CN119299403A_ABST
Patent Text Reader

Abstract

The invention relates to a unilateral multicast data transmission method and device based on an RDMA reliable connection mode and electronic equipment, and the method comprises the steps: responding to a target group unilateral multicast request of a computing node, and receiving target data from the computing node based on an RDMA RC mode through employing a leader memory node in a target multicast group; using idle network card resources of the leader memory node to copy the target data to each sub-memory node in a unilateral parallel manner, and updating a completion state table of the leader memory node; and in response to the unilateral reading request of the computing node, determining a response result corresponding to the unilateral multicast request of the target group, and returning the response result to the computing node. According to the embodiment of the invention, the RDMA unilateral multicast can be realized in the RC mode, the idle network card resources of the memory node are fully utilized, the data transmission efficiency and the throughput of the data center are improved, the network resource burden of the computing node is reduced, and the CPU burden of the memory node is prevented from being increased.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to the field of computer network technology, and in particular to a unilateral multicast data transmission method, device and electronic device based on an RDMA reliable connection mode. Background Art

[0002] Remote Direct Memory Access (RDMA) technology allows direct memory access operations between different nodes in a data center. However, RDMA technology only supports one-to-one data transmission in reliable connection (RC) mode, and cannot implement one-to-many data transmission. Therefore, when data needs to be transferred from one node to multiple nodes, it must be implemented through multiple independent write operations, which increases the consumption of computing node network resources and limits the throughput of the data transmission system. In data centers, the network egress resources of memory nodes are usually idle, indicating that the resources are not fully utilized. Summary of the invention

[0003] In view of this, the present disclosure proposes a technical solution of a unilateral multicast data transmission method, device and electronic device based on RDMA reliable connection mode.

[0004] According to one aspect of the present disclosure, a unilateral multicast data transmission method based on an RDMA reliable connection mode is provided, comprising: in response to a unilateral multicast request of a target group of a computing node, using a leader memory node in the target multicast group, receiving target data from the computing node based on an RDMA reliable connection mode, wherein the target multicast group includes one leader memory node and at least one child memory node; using idle network card resources of the leader memory node, unilaterally copying the target data to each child memory node in parallel, and updating a completion status table of the leader memory node, wherein the completion status table is used to record the completion status of each unilateral multicast request for the target multicast group, and the highest request identifier, wherein the highest request identifier indicates the request identifier corresponding to the last unilateral multicast request among multiple unilateral multicast requests that are currently completed in succession; in response to a unilateral read request of the computing node, determining a response result corresponding to the unilateral multicast request of the target group, and returning the response result to the computing node, wherein the response result is used to indicate the completion status of the unilateral multicast request of the target group.

[0005] In a possible implementation manner, the target data is determined by the computing node based on a unilateral multicast request of the target group.

[0006] In one possible implementation, determining a response result corresponding to the target group unilateral multicast request includes: receiving a unilateral read request from the computing node, wherein the read position corresponding to the unilateral read request is the completion status table, including a request identifier corresponding to the target group unilateral multicast request; determining, in the completion status table, a completion status corresponding to the target group unilateral multicast request according to the request identifier corresponding to the target group unilateral multicast request; and determining the response result according to the completion status corresponding to the target group unilateral multicast request.

[0007] In one possible implementation, determining the response result corresponding to the unilateral multicast request of the target group includes: receiving a unilateral read request from the computing node, wherein the read position corresponding to the unilateral read request is the completion status table, including the request identifier corresponding to the unilateral multicast request of the target group; determining the highest request identifier in the completion status table according to the unilateral read request; and determining the response result according to the highest request identifier.

[0008] In a possible implementation, determining the response result based on the highest request identifier includes: comparing the request identifier corresponding to the target group unilateral multicast request and the highest request identifier to determine a comparison result; when the comparison result is that the request identifier corresponding to the target group unilateral multicast request is less than or equal to the highest request identifier, determining the response result to indicate that the completion status corresponding to the target group unilateral multicast request is completed; when the comparison result is that the request identifier corresponding to the target group unilateral multicast request is greater than the highest request identifier, determining the response result to indicate that the completion status corresponding to the target group unilateral multicast request is not completed.

[0009] In a possible implementation, the method further includes: using the leader memory node to determine the target multicast group and a group identifier corresponding to the target multicast group; and registering the target multicast group on the computing node according to the group identifier.

[0010] In a possible implementation manner, the method further includes: disbanding the target multicast group when all unilateral multicast requests for the target multicast group are completed.

[0011] According to another aspect of the present disclosure, a data transmission device for RDMA unilateral multicast is provided, comprising: a data transmission module, for responding to a unilateral multicast request of a target group of a computing node, using a leader memory node in the target multicast group, and receiving target data from the computing node based on a reliable connection mode of RDMA, wherein the target multicast group includes one leader memory node and at least one child memory node; an intra-group propagation module, for using idle network card resources of the leader memory node to unilaterally and parallelly copy the target data to each child memory node, and update a completion status table of the leader memory node, wherein the completion status table is used to record the completion status of each unilateral multicast request for the target multicast group, and the highest request identifier, wherein the highest request identifier indicates the request identifier corresponding to the last unilateral multicast request among multiple unilateral multicast requests that are currently completed continuously; a response result determination module, for responding to a unilateral read request of the computing node, determining a response result corresponding to the unilateral multicast request of the target group, and returning the response result to the computing node, wherein the response result is used to indicate the completion status of the unilateral multicast request of the target group.

[0012] According to another aspect of the present disclosure, an electronic device is provided, comprising: a processor; and a memory for storing processor-executable instructions; wherein the processor is configured to implement the above method when executing the instructions stored in the memory.

[0013] According to another aspect of the present disclosure, a non-volatile computer-readable storage medium is provided, on which computer program instructions are stored, wherein the computer program instructions implement the above method when executed by a processor.

[0014] In an embodiment of the present disclosure, in response to a unilateral multicast request of a target group of a computing node, a leader memory node in the target multicast group can be used to receive target data from the computing node based on a reliable connection mode of RDMA, wherein the target multicast group includes a leader memory node and at least one child memory node; using the idle network card resources of the leader memory node, the target data can be unilaterally and parallelly copied to each child memory node, and a completion status table of the leader memory node is updated, wherein the completion status table is used to record the completion status of each unilateral multicast request for the target multicast group, and the highest request identifier, wherein the highest request identifier indicates the request identifier corresponding to the last unilateral multicast request among multiple unilateral multicast requests currently completed continuously, thereby avoiding the unilateral multicast request of the computing node. A unilateral write request is sent to each child memory node independently to reduce the number of read and write operations; and the idle network card resources of the leading memory node are fully utilized to reduce the IOPS and network bandwidth resource consumption required for data transmission, thereby improving the efficiency of data transmission and the throughput of the data center; and the writing process of the target data and the unilateral parallel copying process of the target data do not require the participation of the CPU corresponding to the leading memory node or the child memory node, which can reduce the CPU burden of the memory node and is suitable for a decoupled memory architecture; in response to the unilateral read request of the computing node, the response result corresponding to the unilateral multicast request of the target group can be determined, and the response result is returned to the computing node to indicate the completion status of the unilateral multicast request of the target group, thereby improving the reliability of the unilateral multicast.

[0015] Further features and aspects of the present disclosure will become apparent from the following detailed description of exemplary embodiments with reference to the attached drawings. BRIEF DESCRIPTION OF THE DRAWINGS

[0016] The accompanying drawings, which are incorporated in and constitute a part of the specification, illustrate exemplary embodiments, features, and aspects of the disclosure and, together with the description, serve to explain the principles of the disclosure.

[0017] Figure 1 A flowchart of a unilateral multicast data transmission method based on an RDMA reliable connection mode according to an embodiment of the present disclosure is shown;

[0018] Figure 2 A schematic diagram showing a unilateral multicast data transmission method based on an RDMA reliable connection mode according to an embodiment of the present disclosure;

[0019] Figure 3 A schematic diagram showing performance comparisons corresponding to different data transmission methods according to an embodiment of the present disclosure;

[0020] Figure 4 A schematic diagram showing a unilateral multicast data transmission method based on an RDMA reliable connection mode according to an embodiment of the present disclosure;

[0021] Figure 5 A block diagram of a unilateral multicast data transmission device based on an RDMA reliable connection mode according to an embodiment of the present disclosure is shown;

[0022] Figure 6 A block diagram of an electronic device according to an embodiment of the present disclosure is shown. DETAILED DESCRIPTION

[0023] Various exemplary embodiments, features and aspects of the present disclosure will be described in detail below with reference to the accompanying drawings. The same reference numerals in the accompanying drawings represent elements with the same or similar functions. Although various aspects of the embodiments are shown in the accompanying drawings, the drawings are not necessarily drawn to scale unless otherwise specified.

[0024] The word “exemplary” is used exclusively herein to mean “serving as an example, example, or illustration.” Any embodiment described herein as “exemplary” is not necessarily to be construed as preferred or advantageous over other embodiments.

[0025] The term "and / or" herein is only a description of the association relationship of the associated objects, indicating that there may be three relationships. For example, A and / or B can represent: A exists alone, A and B exist at the same time, and B exists alone. In addition, the term "at least one" herein represents any combination of at least two of any one or more of a plurality of. For example, including at least one of A, B, and C can represent including any one or more elements selected from the set consisting of A, B, and C.

[0026] In addition, in order to better illustrate the present disclosure, numerous specific details are given in the following specific embodiments. It should be understood by those skilled in the art that the present disclosure can also be implemented without certain specific details. In some examples, methods, means, components and circuits well known to those skilled in the art are not described in detail in order to highlight the main purpose of the present disclosure.

[0027] Remote Direct Memory Access (RDMA) technology is a commonly used network communication technology. Compared with TCP / IP protocol stack technology, it has the advantages of low latency and high bandwidth. For example, the RDMA network card Mellanox ConnectX-6 can provide 200Gbps bandwidth and less than 600ns latency. RDMA supports both bilateral and unilateral communication modes. Among them, the unilateral communication mode can include memory read (write), write (read), compare and swap (compare_and_swap, CAS) and fetch_and_add, FAA) operations, etc. These operations can directly access the remote memory of the target object (including hardware devices or server nodes, etc.) without going through the central processing unit (CPU) corresponding to the target object.

[0028] As the system scale of data centers and the demand for data processing increase, existing technologies usually adopt a decoupled memory architecture with high scalability and high resource optimization capabilities to build data centers. In the decoupled memory architecture commonly used in existing technologies, data is distributed on multiple independent, pooled memory nodes. The computing nodes corresponding to the data center can directly access each memory node based on RDMA technology, which can improve the scalability of the data center and improve the utilization of network resources and CPU resources.

[0029] RDMA technology mainly includes two data transmission modes, namely Reliable Connection (RC) mode and Unreliable Datagram (UD) mode. Among them, in RC mode, RDMA technology can achieve reliable data transmission, ensuring that the target data to be transmitted can be transmitted from the computing node to the memory node in sequence according to the sending order, avoiding the loss of target data. However, in RC mode, RDMA technology only supports unilateral one-to-one data transmission, and does not support unilateral multicast (one-to-many). Therefore, when the target data needs to be transmitted from the computing node to multiple different memory nodes, the computing node can only be achieved through multiple independent unilateral write operations, which increases the number of input / output operations per second (IOPS) of the entire data center, and may require a large amount of network bandwidth resources, limiting the throughput of the data center.

[0030] In UD mode, RDMA technology can achieve bilateral multicast, but this mode requires the active participation of the receiving end of the target data (such as the memory node), that is, the CPU corresponding to the receiving end of the target data needs to participate in the reception and processing of the target data. This mode will consume additional computing resources and is not suitable for decoupled memory architectures that need to control the CPU burden of memory nodes; in addition, this mode has poor reliability, and the target data may be lost during transmission, or fail to arrive in the order of sending, which cannot meet the application scenarios with high requirements for data transmission reliability.

[0031] In view of this, the present disclosure provides a unilateral multicast data transmission method based on the RDMA reliable connection mode, which can also be called a unilateral multicast primitive (GWrite) based on the RDMA reliable connection mode. The method can implement RDMA unilateral multicast in RC mode, reduce the number of unilateral read and write operations of computing nodes on memory nodes, thereby reducing the IOPS and network bandwidth resource consumption required for data transmission, improving the efficiency of data transmission and the throughput of data centers, and can reduce the CPU burden of memory nodes, which is suitable for decoupled memory architecture. The unilateral multicast data transmission method based on the RDMA reliable connection mode provided by the present disclosure is described in detail below.

[0032] Figure 1 A flowchart of a unilateral multicast data transmission method based on the RDMA reliable connection mode according to an embodiment of the present disclosure is shown. The unilateral multicast data transmission method based on the RDMA reliable connection mode can be executed by a computer with an RDMA network card, and the unilateral multicast data transmission method based on the RDMA reliable connection mode can be implemented by a processor calling a computer-readable instruction stored in a memory. Figure 1 As shown, the unilateral multicast data transmission method based on the RDMA reliable connection mode includes:

[0033] In step S11, in response to the target group unilateral multicast request of the computing node, the leader memory node in the target multicast group is used to receive the target data from the computing node based on the reliable connection mode of RDMA, wherein the target multicast group includes a leader memory node and at least one child memory node.

[0034] The specific form of the target group unilateral multicast request here can refer to the common RDMA unilateral write operation, and the present disclosure does not make specific limitations on this. The target data can represent data that needs to be written to multiple memory nodes by the computing node, and its specific form can be flexibly set according to actual usage requirements, and the present disclosure does not make specific limitations on this.

[0035] In a possible implementation, the target data is determined by the computing node based on a unilateral multicast request of the target group.

[0036] Specifically, the user can initiate a unilateral multicast request for the target group through the client corresponding to the computing node. The computing node can determine the target data based on the unilateral multicast request for the target group, and send the unilateral multicast request for the target group and the target data to the memory space of the leading memory node in the target multicast group.

[0037] In response to the target group unilateral multicast request of the computing node, the leader memory node (Leader) in the target multicast group can receive the target data from the computing node based on the reliable connection mode of RDMA, without the need for the CPU corresponding to the leader memory node to participate in the writing process of the target data. Among them, the target multicast group can represent a group space composed of multiple different memory nodes, and can include a leader memory node and at least one child memory node (Followers).

[0038] The leading memory node may be any one of the multiple memory nodes included in the data center, and is used to directly receive data from the computing node. The specific method of determining the leading memory node can be flexibly set according to actual usage requirements, and the present disclosure does not make specific limitations on this.

[0039] In one example, the hardware performance corresponding to each memory node in the data center can be determined, and the memory node with the best hardware performance can be determined as the leading memory node. The specific content of the hardware performance here can be flexibly set according to actual usage requirements, and the present disclosure does not make specific limitations on this. Any sub-memory node can be a memory node in the data center that does not directly receive data from the computing node, but implements data writing through the leading memory node. The specific method of determining the sub-memory node can be flexibly set according to actual usage requirements, and the present disclosure does not make specific limitations on this.

[0040] The target multicast group will be described in detail later in conjunction with possible implementations of the present disclosure, and will not be elaborated here.

[0041] In step S12, the target data is unilaterally and parallelly copied to each child memory node by utilizing the idle network card resources of the leader memory node, and the completion status table of the leader memory node is updated, wherein the completion status table is used to record the completion status of each unilateral multicast request for the target multicast group, and the highest request identifier, wherein the highest request identifier indicates the request identifier corresponding to the last unilateral multicast request among the multiple unilateral multicast requests that are currently completed continuously.

[0042] By utilizing the idle network card resources on the RDMA-based network hardware device corresponding to the leader memory node, the target data can be copied in parallel to each child memory node in the target multicast group corresponding to the leader memory node without the intervention of the CPU corresponding to other memory nodes. The specific form of the RDMA-based network hardware device can be flexibly set according to actual usage requirements, for example, it can include an RDMA network interface card (RNIC), a scalable RDMA network interface card (SRNIC), etc., and the present disclosure does not make specific limitations on this.

[0043] Figure 2 A schematic diagram of a unilateral multicast data transmission method based on an RDMA reliable connection mode according to an embodiment of the present disclosure is shown. Figure 2 As shown, the orange square represents the target data; the leader memory node L1, the sub-memory node F11 and the sub-memory node F12 constitute a target multicast group; the leader memory node L2 and the sub-memory node F21 constitute a target multicast group. The computing node can send a target group unilateral multicast request W11 to the leader memory node L1 and a target group unilateral multicast request W12 to the leader memory node L2, and write the target data into the leader memory node L1 and the leader memory node L2 respectively; the leader memory node L1 can copy the target data in parallel to the sub-memory node F11 and the sub-memory node F12, and determine whether each sub-memory node has successfully completed the parallel copy; the leader memory node L2 can copy the target data in parallel to the sub-memory node F21, and determine whether the sub-memory node F21 has successfully completed the parallel copy.

[0044] By replicating data on the child memory nodes through the leader memory node, the computing node can avoid sending unilateral write requests to each child memory node individually, thereby reducing the IOPS and network bandwidth resource consumption required for data transmission, improving the efficiency of data transmission and the throughput of the data center. Figure 2 For example, Figure 2 As shown, through the data transmission method of the embodiment of the present disclosure, only two unilateral multicast requests of the target group are required to realize data writing to 5 different memory nodes.

[0045] Figure 3 A schematic diagram showing a performance comparison of different data transmission methods according to an embodiment of the present disclosure. Figure 3As shown, the blue solid line indicates the change of the throughput (MOP / s) of the data center with the number of redundant transactions when the data center adopts the RDMA unilateral multicast data transmission method provided by the embodiment of the present disclosure; the orange dotted line indicates the change of the throughput of the data center with the number of redundant transactions when the data center adopts the unilateral read and write method commonly used in the prior art. The smallbank benchmark test includes more write transactions, and the tatp benchmark test includes more read transactions.

[0046] like Figure 3 As shown in (a), in the smallbank benchmark test, when the RDMA unilateral multicast data transmission method provided by the embodiment of the present disclosure is adopted, the throughput corresponding to the data center can be improved compared with the unilateral reading and writing method commonly used in the prior art; and the larger the number of redundancies, the better the improvement effect of the throughput corresponding to the data center.

[0047] like Figure 3 As shown in (b), in the tatp benchmark test, when the RDMA unilateral multicast data transmission method provided by the embodiment of the present disclosure is adopted, compared with the unilateral reading and writing method commonly used in the prior art, the corresponding throughput of the data center can be improved and has higher stability.

[0048] The leader memory node may determine the completion status table corresponding to the target multicast group in the process of determining the target multicast group, so as to record the completion status corresponding to each unilateral multicast request for the target multicast group and the highest request identifier. The highest request identifier may represent the request identifier corresponding to the last unilateral multicast request among the multiple unilateral multicast requests that are currently completed continuously. The completion status table is stored in the memory of the leader memory node, so that the computing node can directly access the completion status table without the participation of the CPU corresponding to the leader memory node.

[0049] The specific form of the completion status table, the completion status corresponding to any unilateral multicast request, and the highest request identifier can be flexibly set according to actual usage requirements, and the present disclosure does not make specific limitations on this.

[0050] In one example, the completion status table includes multiple record data with a length of 64 bits and the highest request identifier currently completed continuously. Any record data may include a request identifier corresponding to a unilateral multicast request and a completion status corresponding to the unilateral multicast request. Specifically, for any record data, the first 56 bits are the request identifier corresponding to the unilateral multicast request, and the last 8 bits are the completion status corresponding to the unilateral multicast request; when the last 8 bits of the record data are all 1, it can be indicated that the completion status corresponding to the unilateral multicast request is that all sub-memory nodes have received the target data and the unilateral multicast process is completed; when the last 8 bits of the record data are all 0, it can be indicated that the completion status corresponding to the unilateral multicast request is that at least one sub-memory node has not received the target data, or an error occurs in the process of the leading memory node copying the target data to at least one sub-memory node, and the unilateral multicast process is not completed or fails.

[0051] In one example, the computing node sends unilateral multicast requests 1 to unilateral multicast requests 7 to the leading memory node in sequence according to the data processing requirements. Among them, unilateral multicast requests 1 to unilateral multicast requests 3, unilateral multicast request 5 and unilateral multicast request 7 are in the completed state, and unilateral multicast request 4 and unilateral multicast request 6 are in the uncompleted state. At this time, based on the order and continuity of the request identifiers, it can be determined that the highest request identifier record is 3, and is recorded in the completion status table.

[0052] In step S13, in response to the unilateral read request of the computing node, a response result corresponding to the target group unilateral multicast request is determined, and the response result is returned to the computing node, wherein the response result is used to indicate the completion status of the target group unilateral multicast request.

[0053] In order to ensure the reliability of data transmission, the leading memory node can determine the response result corresponding to the unilateral multicast request of the target group after the target data is successfully copied to each child memory node in parallel, so as to indicate the completion status of the unilateral multicast request of the target group, reflecting whether the target data is successfully written to all child memory nodes in the target multicast group; and respond to the unilateral read request of the computing node, and return the response result to the computing node. Among them, the specific form of the response result can be flexibly set according to the actual use requirements, and this disclosure does not make specific limitations on this.

[0054] The process of determining the response result corresponding to the unilateral multicast request of the target group will be described in detail later in conjunction with possible implementation methods of the present disclosure, and will not be described in detail here.

[0055] In an embodiment of the present disclosure, in response to a unilateral multicast request of a target group of a computing node, a leader memory node in the target multicast group can be used to receive target data from the computing node based on a reliable connection mode of RDMA, wherein the target multicast group includes a leader memory node and at least one child memory node; using the idle network card resources of the leader memory node, the target data can be unilaterally and parallelly copied to each child memory node, and a completion status table of the leader memory node is updated, wherein the completion status table is used to record the completion status of each unilateral multicast request for the target multicast group, and the highest request identifier, wherein the highest request identifier indicates the request identifier corresponding to the last unilateral multicast request among multiple unilateral multicast requests currently completed continuously, thereby avoiding computing node failure. The computing node sends a unilateral write request to each child memory node separately to reduce the number of read and write operations; and fully utilizes the idle network card resources of the leading memory node to reduce the IOPS and network bandwidth resource consumption required for data transmission, thereby improving the efficiency of data transmission and the throughput of the data center; and the writing process of the target data and the unilateral parallel copying process of the target data do not require the participation of the CPU corresponding to the child memory node, which can reduce the CPU burden of the memory node and is suitable for decoupled memory architecture; in response to the unilateral read request of the computing node, the response result corresponding to the unilateral multicast request of the target group can be determined, and the response result can be returned to the computing node to indicate the completion status of the unilateral multicast request of the target group, thereby improving the reliability of unilateral multicast.

[0056] In a possible implementation, the method further includes: using the leader memory node to determine the target multicast group and a group identifier corresponding to the target multicast group; and registering the target multicast group on the computing node according to the group identifier.

[0057] Specifically, the leader memory node can initialize a new group space and map the memory segment to each child memory node, thereby determining the target multicast group and the group identifier (also referred to as group ID) corresponding to the target multicast group. This process can be referred to as creating a new group (NewGroup). The group identifier is used to distinguish different multicast groups to avoid data transmission errors. Its specific form can be flexibly set according to actual usage requirements, and this disclosure does not specifically limit this.

[0058] After completing the creation of the target multicast group, the leader memory node can register the target multicast group on the computing node according to the group identifier corresponding to the target multicast group, and associate the queue pair (Queue Pair, QP) corresponding to the leader memory node, so that the computing node can directly write the target data into the memory of the leader memory node. This process can be called registering the group (RegisterGroup). The specific method of registering the target multicast group on the computing node can refer to the implementation method in the relevant technology, and the present disclosure does not make specific limitations on this.

[0059] In a possible implementation manner, the method further includes: disbanding the target multicast group when all unilateral multicast requests for the target multicast group are completed.

[0060] Specifically, when all unilateral multicast requests for the target multicast group are completed and no data needs to be written to the target multicast group, the target multicast group can be disbanded using the leader memory node and deregistered on the computing node. This process can be called UnGroup.

[0061] Through the above process of creating a new group, registering a group, and canceling a group, group management of the target multicast group throughout its life cycle can be achieved.

[0062] In one possible implementation, determining a response result corresponding to a unilateral multicast request of a target group includes: receiving a unilateral read request from a computing node, wherein a read position corresponding to the unilateral read request is a completion status table, including a request identifier corresponding to the unilateral multicast request of the target group; determining a completion status corresponding to the unilateral multicast request of the target group in the completion status table according to the request identifier corresponding to the unilateral multicast request of the target group; and determining a response result according to the completion status corresponding to the unilateral multicast request of the target group.

[0063] In response to the target group unilateral multicast request of the computing node, the leading memory node will determine the request identifier (request ID) corresponding to the target group unilateral multicast request, and return the request identifier corresponding to the target group unilateral multicast request to the computing node, so that the computing node can obtain the response result corresponding to the target group unilateral multicast request through a unilateral read request including the request identifier corresponding to the target group unilateral multicast request. Among them, the specific form of the request identifier corresponding to the target group unilateral multicast request can be flexibly set according to actual usage requirements, and this disclosure does not make specific restrictions on this; the specific form of the unilateral read request can refer to the common RDMA unilateral read operation, and this disclosure does not make specific restrictions on this.

[0064] In one example, the request identifier can be set as a monotonically increasing digital number, and the request identifier corresponding to the first unilateral multicast request sent by the computing node to the leading memory node is determined to be 1, then the unilateral multicast request can be called unilateral multicast request 1; the request identifier corresponding to the second unilateral multicast request sent by the computing node to the leading memory node is determined to be 2, then the unilateral multicast request can be called unilateral multicast request 2, and so on. On this basis, using the computing node, a unilateral read request 1 for unilateral multicast request 1 can be sent to the leading memory node to obtain a response result corresponding to unilateral multicast request 1; a unilateral read request 2 for unilateral multicast request 2 can be sent to the leading memory node to obtain a response result corresponding to unilateral multicast request 2.

[0065] Since the completion status table records the completion status of all unilateral multicast requests for the target multicast group, the completion status corresponding to the target group unilateral multicast request can be obtained in the completion status table according to the request identifier corresponding to the target group unilateral multicast request, and then the response result corresponding to the target group unilateral multicast request is returned to the computing node.

[0066] With the above Figure 2 For example, Figure 2 As shown, for the target group unilateral multicast request W11, the computing node sends a unilateral read request R11 to the leading memory node L1 according to the request identifier W11 corresponding to the target group unilateral multicast request W11; in response to the unilateral read request R11, the leading memory node L1 returns the response result corresponding to the target group unilateral multicast request W11 to the computing node. For the target group unilateral multicast request W12, the computing node sends a unilateral read request R12 to the leading memory node L2 according to the request identifier W12 corresponding to the target group unilateral multicast request W12; in response to the unilateral read request R12, the leading memory node L2 returns the response result corresponding to the target group unilateral multicast request W12 to the computing node.

[0067] Furthermore, when a data center or a computing node processes multiple different data operations in batches, in order to improve processing efficiency, realize operation parallelization, and reduce the time and network resource consumption required to confirm the response result of each unilateral multicast request, the embodiment of the present disclosure can construct a corresponding network protocol (GWrap) based on the aforementioned method for determining the response result corresponding to the unilateral multicast request of the target group, and confirm the response results of multiple unilateral multicast requests with a pipeline batch processing mechanism, so that the computing node can complete the sending of any unilateral multicast request and continue to execute other data operations without having to continue waiting for the response result of the unilateral multicast request to be determined.

[0068] Figure 4 A schematic diagram of a unilateral multicast data transmission method based on an RDMA reliable connection mode according to an embodiment of the present disclosure is shown. Figure 4As shown, the orange square represents the target data 1, the blue square represents the target data 2, the purple square represents the target data 3, and the green square represents the target data 4; the leader memory node L1, the sub-memory node F11 and the sub-memory node F12 constitute a target multicast group; the leader memory node L2 and the sub-memory node F21 constitute a target multicast group. In the pipeline batch processing process, after the computing node sends the target group unilateral multicast request W11 to the leader memory node L1 and the target group unilateral multicast request W12 to the leader memory node L2, the target data 1 can be written into the leader memory node L1 and the leader memory node L2 respectively; the leader memory node L1 can copy the target data 1 to the sub-memory node F11 and the sub-memory node F12 in parallel, and determine whether each sub-memory node has successfully completed the parallel copy; the leader memory node L2 can copy the target data 1 to the sub-memory node F21 in parallel, and determine whether the sub-memory node F21 has successfully completed the parallel copy.

[0069] During the parallel replication of target data 1, the computing node can send a target group unilateral multicast request W21 to the leader memory node L1 and a target group unilateral multicast request W22 to the leader memory node L2, so as to write target data 2 to the leader memory node L1 and the leader memory node L2 respectively, without additional waiting time. During the parallel replication of target data 2, the response result corresponding to the target group unilateral multicast request W11 can be determined based on the leader memory node L1 according to the unilateral read request R11 for the target group unilateral multicast request W11; and the response result corresponding to the target group unilateral multicast request W12 can be determined based on the leader memory node L2 according to the unilateral read request R12 for the target group unilateral multicast request W12.

[0070] During the process of the target group unilateral multicast request 2, the computing node may send a target group unilateral multicast request W31 to the leader memory node L1 and a target group unilateral multicast request W32 to the leader memory node L2, so as to write the target data 3 into the leader memory node L1 and the leader memory node L2 respectively. During the parallel replication of the target data 3, the response result corresponding to the target group unilateral multicast request W21 may be determined based on the leader memory node L1 according to the unilateral read request R21 for the leader memory node L1; and the response result corresponding to the target group unilateral multicast request W22 may be determined based on the leader memory node L2 according to the unilateral read request R22 for the leader memory node L2. Furthermore, if the response results of the target group unilateral multicast request W11 and the target group unilateral multicast request W12 have not yet been determined, the specific contents of the unilateral read request R21 and the unilateral read request R22 can be flexibly set to determine the response results of the target group unilateral multicast request W11 and the target group unilateral multicast request W12 through the unilateral read request R21 and the unilateral read request R22.

[0071] By using pipeline batch processing, the concurrency performance of the RDMA unilateral multicast data transmission provided by the embodiment of the present disclosure when executing multiple data operations can be improved, and the average delay of data processing can be reduced by reducing the time and network resource consumption required to confirm the response result of each unilateral multicast request.

[0072] In one possible implementation, determining a response result corresponding to a unilateral multicast request of a target group includes: receiving a unilateral read request from a computing node, wherein a read position corresponding to the unilateral read request is a completion status table, including a request identifier corresponding to the unilateral multicast request of the target group; determining a highest request identifier in the completion status table according to the unilateral read request; and determining a response result according to the highest request identifier.

[0073] Specifically, when a data center or computing node batch processes multiple different data operations, the highest request identifier can be determined in the completion status table through a unilateral read request; using the highest request identifier, the response results corresponding to multiple different unilateral multicast requests can be quickly determined.

[0074] In one example, the request identifier corresponding to the target group unilateral multicast request can be compared with the request identifier corresponding to each unilateral multicast request in the completed state to determine whether the target group unilateral multicast request is in the completed state, thereby determining the response result corresponding to the target group unilateral multicast request.

[0075] In a possible implementation, determining a response result based on the highest request identifier includes: comparing the request identifier corresponding to the target group unilateral multicast request and the highest request identifier to determine a comparison result; when the comparison result is that the request identifier corresponding to the target group unilateral multicast request is less than or equal to the highest request identifier, determining the response result to indicate that the completion status corresponding to the target group unilateral multicast request is completed; when the comparison result is that the request identifier corresponding to the target group unilateral multicast request is greater than the highest request identifier, determining the response result to indicate that the completion status corresponding to the target group unilateral multicast request is not completed.

[0076] When a data center or computing node batch processes multiple different data operations, the highest request identifier and the request identifier corresponding to the target group's unilateral multicast request can be compared, so that based on the comparison result, the order and continuity of the request identifiers can be used to quickly determine the response result corresponding to the target group's unilateral multicast request.

[0077] Specifically, when the comparison result is that the request identifier corresponding to the target group unilateral multicast request is less than or equal to the highest request identifier, it means that the target group unilateral multicast request is one of the multiple unilateral multicast requests that are completed continuously, and the response result can be determined to indicate that the completion status corresponding to the target group unilateral multicast request is completed; when the comparison result is that the request identifier corresponding to the target group unilateral multicast request is greater than the highest request identifier, it means that the target group unilateral multicast request does not belong to the multiple unilateral multicast requests that are completed continuously, and the response result can be determined to indicate that the completion status corresponding to the target group unilateral multicast request is not completed

[0078] In one example, the computing node sends unilateral multicast requests 1 to unilateral multicast requests 7 to the leading memory node in sequence according to the needs of data processing. Among them, unilateral multicast requests 1 to unilateral multicast requests 3, unilateral multicast request 5 and unilateral multicast request 7 are in a completed state, and unilateral multicast request 4 and unilateral multicast request 6 are in an uncompleted state. At this time, the highest request identifier record in the completion status table is 3, and it can be confirmed whether the request identifier corresponding to the target group unilateral multicast request of the response result is less than or equal to 3, so as to judge the completion status corresponding to the target group unilateral multicast request based on the order and continuity of the request identifier, and determine the response result. On this basis, by comparing the size relationship between the request identifiers corresponding to multiple different unilateral multicast requests and 3, the response results corresponding to multiple different unilateral multicast requests can be quickly determined.

[0079] In an embodiment of the present disclosure, in response to a unilateral multicast request of a target group of a computing node, a leader memory node in the target multicast group can be used to receive target data from the computing node based on a reliable connection mode of RDMA, wherein the target multicast group includes a leader memory node and at least one child memory node; using the idle network card resources of the leader memory node, the target data can be unilaterally and parallelly copied to each child memory node, and a completion status table of the leader memory node is updated, wherein the completion status table is used to record the completion status of each unilateral multicast request for the target multicast group, and the highest request identifier, wherein the highest request identifier indicates the request identifier corresponding to the last unilateral multicast request among multiple unilateral multicast requests currently completed continuously, thereby avoiding the unilateral multicast request of the computing node. A unilateral write request is sent to each child memory node independently to reduce the number of read and write operations; and the idle network card resources of the leading memory node are fully utilized to reduce the IOPS and network bandwidth resource consumption required for data transmission, thereby improving the efficiency of data transmission and the throughput of the data center; and the writing process of the target data and the unilateral parallel copying process of the target data do not require the participation of the CPU corresponding to the leading memory node or the child memory node, which can reduce the CPU burden of the memory node and is suitable for a decoupled memory architecture; in response to the unilateral read request of the computing node, the response result corresponding to the unilateral multicast request of the target group can be determined, and the response result is returned to the computing node to indicate the completion status of the unilateral multicast request of the target group, thereby improving the reliability of the unilateral multicast.

[0080] It can be understood that the above-mentioned various method embodiments mentioned in the present disclosure can be combined with each other to form a combined embodiment without violating the principle logic. Due to space limitations, the present disclosure will not repeat them. It can be understood by those skilled in the art that in the above-mentioned method of the specific implementation method, the specific execution order of each step should be determined according to its function and possible internal logic.

[0081] In addition, the present disclosure also provides an RDMA unilateral multicast data transmission device, an electronic device and a computer-readable storage medium, all of which can be used to implement any RDMA unilateral multicast data transmission method provided by the present disclosure. The corresponding technical solutions and descriptions are referred to in the corresponding records of the method part and will not be repeated here.

[0082] Figure 5 A block diagram of a unilateral multicast data transmission device based on an RDMA reliable connection mode according to an embodiment of the present disclosure is shown. Figure 5 As shown, the device 500 includes:

[0083] The data transmission module 501 is used to respond to the target group unilateral multicast request of the computing node, and use the leader memory node in the target multicast group to receive the target data from the computing node based on the reliable connection mode of RDMA, wherein the target multicast group includes a leader memory node and at least one child memory node;

[0084] The intra-group propagation module 502 is used to use the idle network card resources of the leader memory node to unilaterally and parallelly copy the target data to each child memory node, and update the completion status table of the leader memory node, wherein the completion status table is used to record the completion status of each unilateral multicast request for the target multicast group, and the highest request identifier, the highest request identifier indicating the request identifier corresponding to the last unilateral multicast request among the multiple unilateral multicast requests that are currently completed continuously;

[0085] The response result determination module 503 is used to respond to the unilateral read request of the computing node, determine the response result corresponding to the target group unilateral multicast request, and return the response result to the computing node, wherein the response result is used to indicate the completion status of the target group unilateral multicast request.

[0086] In a possible implementation, the target data is determined by the computing node based on a unilateral multicast request of the target group.

[0087] In one possible implementation, the response result determination module 503 is used to: receive a unilateral read request from a computing node, wherein the read position corresponding to the unilateral read request is a completion status table, including a request identifier corresponding to the target group unilateral multicast request; determine the completion status corresponding to the target group unilateral multicast request in the completion status table according to the request identifier corresponding to the target group unilateral multicast request; and determine the response result according to the completion status corresponding to the target group unilateral multicast request.

[0088] In one possible implementation, the response result determination module 503 is also used to: receive a unilateral read request from a computing node, wherein the read position corresponding to the unilateral read request is a completion status table, including a request identifier corresponding to the target group unilateral multicast request; determine the highest request identifier in the completion status table based on the unilateral read request; and determine the response result based on the highest request identifier.

[0089] In a possible implementation, the response result determination module 503 is specifically used to: compare the request identifier corresponding to the target group unilateral multicast request and the highest request identifier to determine the comparison result; when the comparison result is that the request identifier corresponding to the target group unilateral multicast request is less than or equal to the highest request identifier, determine the response result to indicate that the completion status corresponding to the target group unilateral multicast request is completed; when the comparison result is that the request identifier corresponding to the target group unilateral multicast request is greater than the highest request identifier, determine the response result to indicate that the completion status corresponding to the target group unilateral multicast request is not completed.

[0090] In a possible implementation, the device 500 further includes a multicast group management module: using the leader memory node, determining the target multicast group and the group identifier corresponding to the target multicast group; and registering the target multicast group on the computing node according to the group identifier.

[0091] In a possible implementation manner, the multicast group management module is further configured to: disband the target multicast group when all unilateral multicast requests for the target multicast group are completed.

[0092] In some embodiments, the functions or modules included in the device provided by the embodiments of the present disclosure can be used to execute the method described in the above method embodiments. The specific implementation can refer to the description of the above method embodiments, and for the sake of brevity, it will not be repeated here.

[0093] The embodiment of the present disclosure also provides a computer-readable storage medium on which computer program instructions are stored, and the computer program instructions implement the above method when executed by a processor. The computer-readable storage medium can be a volatile or non-volatile computer-readable storage medium.

[0094] An embodiment of the present disclosure further proposes an electronic device, comprising: a processor; and a memory for storing instructions executable by the processor; wherein the processor is configured to implement the above method when executing the instructions stored in the memory.

[0095] Figure 6 1900 is a block diagram of an electronic device according to an embodiment of the present disclosure. For example, the apparatus 1900 may be provided as a server or a terminal device. Figure 6 , the apparatus 1900 includes a processing component 1922, which further includes one or more processors, and a memory resource represented by a memory 1932 for storing instructions, such as an application, that can be executed by the processing component 1922. The application stored in the memory 1932 may include one or more modules, each corresponding to a set of instructions. In addition, the processing component 1922 is configured to execute instructions to perform the above method.

[0096] The device 1900 may also include a power supply component 1926 configured to perform power management of the device 1900, a wired or wireless network interface 1950 configured to connect the device 1900 to a network, and an input / output interface 1958 (I / O interface). The device 1900 may operate based on an operating system stored in the memory 1932, such as Windows Server 2000. TM , MacOS X TM , Unix TM ,Linux TM , FreeBSD TM or similar.

[0097] In an exemplary embodiment, a non-volatile computer-readable storage medium is also provided, such as a memory 1932 including computer program instructions, which can be executed by the processing component 1922 of the device 1900 to perform the above method.

[0098] The present disclosure may be a system, a method and / or a computer program product. The computer program product may include a computer-readable storage medium carrying computer-readable program instructions for causing a processor to implement various aspects of the present disclosure.

[0099] A computer-readable storage medium may be a tangible device that can hold and store instructions used by an instruction execution device. A computer-readable storage medium may be, for example, but not limited to, an electrical storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination of the foregoing. More specific examples of computer-readable storage media (a non-exhaustive list) include: a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), a static random access memory (SRAM), a portable compact disk read-only memory (CD-ROM), a digital versatile disk (DVD), a memory stick, a floppy disk, a mechanical encoding device, such as a punch card or a raised structure in a groove on which instructions are stored, and any suitable combination of the foregoing. As used herein, a computer-readable storage medium is not to be interpreted as a transient signal per se, such as a radio wave or other freely propagating electromagnetic wave, an electromagnetic wave propagating through a waveguide or other transmission medium (e.g., a light pulse through a fiber optic cable), or an electrical signal transmitted through a wire.

[0100] The computer-readable program instructions described herein can be downloaded from a computer-readable storage medium to each computing / processing device, or downloaded to an external computer or external storage device via a network, such as the Internet, a local area network, a wide area network, and / or a wireless network. The network can include copper transmission cables, optical fiber transmissions, wireless transmissions, routers, firewalls, switches, gateway computers, and / or edge servers. The network adapter card or network interface in each computing / processing device receives the computer-readable program instructions from the network and forwards the computer-readable program instructions for storage in the computer-readable storage medium in each computing / processing device.

[0101] The computer program instructions for performing the operation of the present disclosure may be assembly instructions, instruction set architecture (ISA) instructions, machine instructions, machine-related instructions, microcode, firmware instructions, state setting data, or source code or object code written in any combination of one or more programming languages, including object-oriented programming languages, such as Smalltalk, C++, etc., and conventional procedural programming languages, such as "C" language or similar programming languages. Computer-readable program instructions may be executed completely on a user's computer, partially on a user's computer, as an independent software package, partially on a user's computer, partially on a remote computer, or completely on a remote computer or server. In the case of a remote computer, the remote computer may be connected to the user's computer via any type of network, including a local area network (LAN) or a wide area network (WAN), or may be connected to an external computer (e.g., using an Internet service provider to connect via the Internet). In some embodiments, an electronic circuit, such as a programmable logic circuit, a field programmable gate array (FPGA), or a programmable logic array (PLA), may be customized by utilizing the state information of the computer-readable program instructions, and the electronic circuit may execute the computer-readable program instructions, thereby realizing various aspects of the present disclosure.

[0102] Various aspects of the present disclosure are described herein with reference to the flowcharts and / or block diagrams of the methods, devices (systems) and computer program products according to the embodiments of the present disclosure. It should be understood that each box in the flowchart and / or block diagram and the combination of each box in the flowchart and / or block diagram can be implemented by computer-readable program instructions.

[0103] These computer-readable program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, or other programmable data processing device, thereby producing a machine, so that when these instructions are executed by the processor of the computer or other programmable data processing device, a device that implements the functions / actions specified in one or more boxes in the flowchart and / or block diagram is generated. These computer-readable program instructions can also be stored in a computer-readable storage medium, and these instructions cause the computer, programmable data processing device, and / or other equipment to work in a specific manner, so that the computer-readable medium storing the instructions includes a manufactured product, which includes instructions for implementing various aspects of the functions / actions specified in one or more boxes in the flowchart and / or block diagram.

[0104] Computer-readable program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other device so that a series of operating steps are performed on the computer, other programmable data processing apparatus, or other device to produce a computer-implemented process, thereby causing the instructions executed on the computer, other programmable data processing apparatus, or other device to implement the functions / actions specified in one or more boxes in the flowchart and / or block diagram.

[0105] The flow chart and block diagram in the accompanying drawings show the possible architecture, function and operation of the system, method and computer program product according to multiple embodiments of the present disclosure. In this regard, each square box in the flow chart or block diagram can represent a part of a module, program segment or instruction, and a part of the module, program segment or instruction includes one or more executable instructions for realizing the specified logical function. In some alternative implementations, the function marked in the square box can also occur in a sequence different from that marked in the accompanying drawings. For example, two continuous square boxes can actually be executed substantially in parallel, and they can sometimes be executed in reverse order, depending on the functions involved. It should also be noted that each square box in the block diagram and / or flow chart, and the combination of the square boxes in the block diagram and / or flow chart can be implemented with a dedicated hardware-based system that performs the specified function or action, or can be implemented with a combination of special hardware and computer instructions.

[0106] The embodiments of the present disclosure have been described above, and the above description is exemplary, not exhaustive, and is not limited to the disclosed embodiments. Many modifications and changes will be apparent to those of ordinary skill in the art without departing from the scope and spirit of the described embodiments. The selection of terms used herein is intended to best explain the principles of the embodiments, practical applications, or technical improvements in the market, or to enable other persons of ordinary skill in the art to understand the embodiments disclosed herein.

Claims

1. A unilateral multicast data transmission method based on RDMA reliable connection mode, characterized in that: include: In response to a target group unilateral multicast request of a computing node, using a leader memory node in the target multicast group, receiving target data from the computing node based on a reliable connection mode of RDMA, wherein the target multicast group includes one leader memory node and at least one child memory node; Utilizing the idle network card resources of the leader memory node, unilaterally and parallelly copying the target data to each child memory node, and updating the completion status table of the leader memory node, wherein the completion status table is used to record the completion status of each unilateral multicast request for the target multicast group, and the highest request identifier, wherein the highest request identifier indicates the request identifier corresponding to the last unilateral multicast request among the multiple unilateral multicast requests that are currently completed continuously; In response to the unilateral read request of the computing node, a response result corresponding to the unilateral multicast request of the target group is determined, and the response result is returned to the computing node, wherein the response result is used to indicate the completion status of the unilateral multicast request of the target group.

2. The method according to claim 1, characterized in that The target data is determined by the computing node based on the unilateral multicast request of the target group.

3. The method according to claim 1 or 2, characterized in that: The determining a response result corresponding to the target group unilateral multicast request includes: Receiving a unilateral read request from the computing node, wherein the read position corresponding to the unilateral read request is the completion status table, including a request identifier corresponding to the target group unilateral multicast request; Determine, in the completion status table, a completion status corresponding to the target group unilateral multicast request according to a request identifier corresponding to the target group unilateral multicast request; The response result is determined according to a completion status corresponding to the target group unilateral multicast request.

4. The method according to claim 1 or 2, characterized in that: The determining a response result corresponding to the target group unilateral multicast request includes: Receiving a unilateral read request from the computing node, wherein the read position corresponding to the unilateral read request is the completion status table, including a request identifier corresponding to the target group unilateral multicast request; Determining the highest request identifier in the completion status table according to the unilateral read request; The response result is determined according to the highest request identifier.

5. The method according to claim 4, characterized in that The determining the response result according to the highest request identifier includes: Compare the request identifier corresponding to the target group unilateral multicast request and the highest request identifier to determine a comparison result; When the comparison result is that the request identifier corresponding to the target group unilateral multicast request is less than or equal to the highest request identifier, determining that the response result indicates that the completion status corresponding to the target group unilateral multicast request is completed; When the comparison result is that the request identifier corresponding to the target group unilateral multicast request is greater than the highest request identifier, the response result is determined to indicate that the completion status corresponding to the target group unilateral multicast request is incomplete.

6. The method according to claim 1 or 2, characterized in that: The method further comprises: Determine the target multicast group and the group identifier corresponding to the target multicast group by using the leader memory node; According to the group identifier, the target multicast group is registered on the computing node.

7. The method according to claim 6, characterized in that The method further comprises: When all unilateral multicast requests for the target multicast group are completed, the target multicast group is dissolved.

8. A unilateral multicast data transmission device based on RDMA reliable connection mode, characterized in that: include: A data transmission module, configured to respond to a target group unilateral multicast request of a computing node, and receive target data from the computing node using a leader memory node in the target multicast group based on a reliable connection mode of RDMA, wherein the target multicast group includes one leader memory node and at least one child memory node; An intra-group propagation module, used to utilize the idle network card resources of the leader memory node to unilaterally and parallelly copy the target data to each child memory node, and update the completion status table of the leader memory node, wherein the completion status table is used to record the completion status of each unilateral multicast request for the target multicast group, and the highest request identifier, wherein the highest request identifier indicates the request identifier corresponding to the last unilateral multicast request among the multiple unilateral multicast requests that are currently completed continuously; A response result determination module is used to determine the response result corresponding to the target group unilateral multicast request in response to the unilateral read request of the computing node, and return the response result to the computing node, wherein the response result is used to indicate the completion status of the target group unilateral multicast request.

9. An electronic device, characterized in that: include: processor; a memory for storing processor-executable instructions; The processor is configured to implement the method described in any one of claims 1 to 7 when executing the instructions stored in the memory.

10. A non-volatile computer-readable storage medium having computer program instructions stored thereon, characterized in that: When the computer program instructions are executed by a processor, the method according to any one of claims 1 to 7 is implemented.

Citation Information

Patent Citations

  • Data transmission method and device based on RDMA, equipment and storage medium

    CN115174484A

  • Method and device for realizing reliable multicast of RDMA network, storage medium and equipment

    CN115442318A

  • RDMA accelerated multicast method and device, equipment and storage medium

    CN117812027A

  • Third party, broadcast, multicast and conditional RDMA operations

    US20060045099A1