[go: up one dir, main page]

CN114050998A - Method, device, electronic equipment and medium for realizing remote direct memory access - Google Patents

Method, device, electronic equipment and medium for realizing remote direct memory access Download PDF

Info

Publication number
CN114050998A
CN114050998A CN202210014679.4A CN202210014679A CN114050998A CN 114050998 A CN114050998 A CN 114050998A CN 202210014679 A CN202210014679 A CN 202210014679A CN 114050998 A CN114050998 A CN 114050998A
Authority
CN
China
Prior art keywords
host
address information
hosts
address
rdma
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.)
Pending
Application number
CN202210014679.4A
Other languages
Chinese (zh)
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.)
Alibaba China Co Ltd
Original Assignee
Alibaba China Co Ltd
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 Alibaba China Co Ltd filed Critical Alibaba China Co Ltd
Priority to CN202210014679.4A priority Critical patent/CN114050998A/en
Publication of CN114050998A publication Critical patent/CN114050998A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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]

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)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

The embodiment of the disclosure discloses a method, a device, an electronic device and a medium for realizing Remote Direct Memory Access (RDMA) based on a network, wherein the method comprises the following steps: acquiring address information from a plurality of hosts, wherein the address information comprises first address information, second address information and third address information, the first address information comprises the address of the host, the second address information comprises the address of a logical host on the host, and the third address information comprises the address of a virtual network card corresponding to the logical host; sending address information of the plurality of hosts to the hosts, wherein the hosts use the address information of the plurality of hosts to transfer RDMA messages between the hosts over the network.

Description

Method, device, electronic equipment and medium for realizing remote direct memory access
Technical Field
The present disclosure relates to the field of computer technologies, and in particular, to a method, an apparatus, an electronic device, and a medium for implementing remote direct memory access.
Background
Remote Direct Memory Access (RDMA) is a technology that implements zero-copy and kernel bypass through hardware to provide high-performance network data Access. When using RDMA techniques, the CPUs of the two end devices participating in the communication hardly participate in the data transfer process, but only in the control plane process. When the local network card and the opposite network card both support the RDMA technology, the local network card directly reads user mode memory data from the memory of the local device, then assembles each layer of messages, and sends the messages to the opposite network card through a physical link. And after the opposite-end network card receives the data, stripping the message header and the check code of each layer, and directly writing the data into the user mode memory data. The RDMA RoCEv2 (RDMA over converted Ethernet, RDMA based on aggregation Ethernet) technical form can provide low latency, high throughput, and low CPU overhead on Ethernet, and thus has been applied to physical machines of related products such as cloud computing and cloud storage, and RDMA is implemented in a scenario of an underlying network (underrlay). However, RDMA is not currently implemented in a virtualization scenario of a virtual network, such as an upper network (Overlay).
Disclosure of Invention
In order to solve the problems in the related art, embodiments of the present disclosure provide a method, an apparatus, an electronic device, and a medium for implementing remote direct memory access.
In a first aspect, an embodiment of the present disclosure provides a method for implementing remote direct memory access RDMA based on a network, including:
acquiring address information from a plurality of hosts, wherein the address information comprises first address information, second address information and third address information, the first address information comprises the address of the host, the second address information comprises the address of a logical host on the host, and the third address information comprises the address of a virtual network card corresponding to the logical host;
sending address information of the plurality of hosts to the hosts, wherein the hosts use the address information of the plurality of hosts to transfer RDMA messages between the hosts over the network.
With reference to the first aspect, the present disclosure provides in a first implementation manner of the first aspect:
the first address information comprises an Internet Protocol (IP) address of the host, the second address information comprises an IP address of a logic host on the host, and the third address information comprises a Media Access Control (MAC) address of a virtual network card corresponding to the logic host on the host;
the virtual network card corresponding to the logic host on the host is used for reading and writing data of the virtual memory of the logic host;
the method further comprises the following steps:
acquiring the corresponding relation between the first address information and the third address information of the host and the corresponding relation between the second address information and the third address information of the host from the plurality of hosts.
In a second aspect, an embodiment of the present disclosure provides a method for implementing RDMA over a network, where the method is implemented by a first host, and the method includes:
acquiring address information of a plurality of hosts, wherein the address information comprises first address information, second address information and third address information, the first address information comprises addresses of the hosts, the second address information comprises addresses of logical hosts on the hosts, and the third address information comprises addresses of virtual network cards corresponding to the logical hosts; packaging third address information of a second host in an RDMA message, wherein the third address information of the second host comprises an address of a second virtual network card corresponding to a second logical host on the second host;
sending, over the network, the RDMA message from the first host to a second virtual network card corresponding to a second logical host on the second host based on the address information of the plurality of hosts.
With reference to the second aspect, the present disclosure provides in a first implementation manner of the first aspect:
the first host is provided with a first logic host and a first virtual network card, and the first virtual network card is used for reading data from a virtual memory of the first logic host;
the second virtual network card is used for writing data into the virtual memory of the second logic host;
and the RDMA message is packaged with the data read by the first virtual network card from the virtual memory of the first logical host.
With reference to the first implementation manner of the second aspect, in a second implementation manner of the second aspect, the method further includes:
encapsulating the RDMA message according to a packet format of the network using the address information of the first host and the address information of the second host.
With reference to the second aspect, in a third implementation manner of the second aspect, the method further includes:
and sending the address information of the first host to the control nodes of the plurality of hosts.
In a third aspect, an embodiment of the present disclosure provides a method for implementing RDMA over a network, where the method is implemented by a second host, and the method includes:
acquiring an RDMA (remote direct memory access) message sent by a first host through the network, wherein third address information of the second host is encapsulated in the RDMA message;
identifying a second virtual network card corresponding to a second logic host on the second host according to third address information of the second host;
and writing the data in the RDMA message into a virtual memory of a second logic host on the second host through the second virtual network card.
With reference to the third aspect, in a first implementation manner of the third aspect, the data in the RDMA message is read from a virtual memory of a first logical host by a first virtual network card corresponding to the first logical host on the first host.
In a fourth aspect, an apparatus for implementing RDMA based on a network is provided in an embodiment of the present disclosure, including:
a first obtaining module configured to obtain address information from a plurality of hosts, where the address information includes first address information, second address information, and third address information, the first address information includes an address of the host, the second address information includes an address of a logical host on the host, and the third address information includes an address of a virtual network card corresponding to the logical host;
a first sending module configured to send address information of the plurality of hosts to the hosts, wherein the hosts use the address information of the plurality of hosts to transfer RDMA messages between the hosts over the network.
With reference to the fourth aspect, the present disclosure provides in a first implementation manner of the fourth aspect:
the first address information comprises an Internet Protocol (IP) address of the host, the second address information comprises an IP address of a logic host on the host, and the third address information comprises a Media Access Control (MAC) address of a virtual network card corresponding to the logic host on the host;
the virtual network card corresponding to the logic host on the host is used for reading and writing data of the virtual memory of the logic host;
the device further comprises:
a second obtaining module configured to obtain, from the plurality of hosts, a correspondence between first address information and third address information of the hosts, and a correspondence between second address information and third address information of the hosts.
In a fifth aspect, an embodiment of the present disclosure provides an apparatus for implementing RDMA over a network, the apparatus being implemented by a first host, the apparatus including:
a third obtaining module configured to obtain address information of a plurality of hosts, where the address information includes first address information, second address information, and third address information, the first address information includes an address of the host, the second address information includes an address of a logical host on the host, and the third address information includes an address of a virtual network card corresponding to the logical host;
a first encapsulation module configured to encapsulate third address information of a second host in an RDMA message, the third address information of the second host including an address of a second virtual network card corresponding to a second logical host on the second host;
a second sending module configured to send the RDMA message from the first host to a second virtual network card corresponding to a second logical host on the second host over the network based on the address information of the plurality of hosts.
With reference to the fifth aspect, the present disclosure provides in a first implementation manner of the fourth aspect:
the first host is provided with a first logic host and a first virtual network card, and the first virtual network card is used for reading data from a virtual memory of the first logic host;
the second virtual network card is used for writing data into the virtual memory of the second logic host;
and the RDMA message is packaged with the data read by the first virtual network card from the virtual memory of the first logical host.
With reference to the first implementation manner of the fifth aspect, in a second implementation manner of the fifth aspect, the apparatus further includes:
a second encapsulation module configured to encapsulate the RDMA message according to a packet format of the network using the address information of the first host and the address information of the second host.
With reference to the fifth aspect, in a third implementation manner of the fifth aspect, the apparatus further includes:
a third sending module configured to send address information of the first host to a control node of the plurality of hosts.
In a sixth aspect, an embodiment of the present disclosure provides an apparatus for implementing RDMA over a network, where the apparatus is implemented by a second host, and the apparatus includes:
a fourth obtaining module, configured to obtain an RDMA message sent by a first host through the network, wherein the RDMA message encapsulates third address information of the second host;
the identification module is configured to identify a second virtual network card corresponding to a second logical host on the second host according to third address information of the second host;
a write module configured to write the data in the RDMA message to a virtual memory of a second logical host on the second host via the second virtual network card.
With reference to the sixth aspect, in a first implementation manner of the sixth aspect, the data in the RDMA message is read from a virtual memory of a first logical host by a first virtual network card corresponding to the first logical host on the first host.
In a seventh aspect, the disclosed embodiments provide an electronic device, including a memory and a processor, where the memory is configured to store one or more computer instructions, where the one or more computer instructions are executed by the processor to implement the method according to any one of the first implementation manners of the first aspect to the third aspect.
In an eighth aspect, an embodiment of the present disclosure provides a computer-readable storage medium having stored thereon computer instructions, which, when executed by a processor, implement the method according to any one of the first implementation manners of the first aspect to the third aspect.
In a ninth aspect, the present disclosure provides, in an embodiment, a computer program product comprising computer instructions that, when executed by a processor, implement the method steps as set forth in any one of the first implementation manners of the first to third aspects.
According to the technical scheme provided by the embodiment of the disclosure, address information is acquired from a plurality of hosts, the address information comprises first address information, second address information and third address information, the first address information comprises addresses of the hosts, the second address information comprises addresses of logical hosts on the hosts, the third address information comprises addresses of virtual network cards corresponding to the logical hosts, the address information of the hosts is sent to the hosts, the hosts use the address information of the hosts and transmit RDMA (remote direct memory Access) messages between the hosts through the network, the RDMA based on the network according to the embodiment of the disclosure can be applied to virtual network scenes, and high-performance network requirements under virtualization scenes are met.
It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the disclosure.
Drawings
Other features, objects, and advantages of the present disclosure will become more apparent from the following detailed description of non-limiting embodiments when taken in conjunction with the accompanying drawings. The following is a description of the drawings.
Fig. 1 illustrates a flow diagram of a method of implementing remote direct memory access RDMA according to an embodiment of the present disclosure.
FIG. 2 illustrates a flow diagram of a method of implementing RDMA over a network according to an embodiment of the present disclosure.
FIG. 3 illustrates a flow diagram of a method of implementing RDMA over a network according to an embodiment of the present disclosure.
FIG. 4A illustrates a method for creating a Pod that can implement RDMA over networks using K8S and SR-IOV techniques.
FIG. 4B illustrates a method for network-based implementation of RDMA based on K8S and SR-IOV technologies.
Fig. 5 illustrates a block diagram of a structure of an apparatus implementing RDMA according to an embodiment of the present disclosure.
Fig. 6 illustrates a block diagram of another apparatus implementing RDMA according to an embodiment of the present disclosure.
Fig. 7 illustrates a block diagram of a further apparatus for implementing RDMA according to an embodiment of the present disclosure.
Fig. 8 shows a block diagram of an electronic device according to an embodiment of the present disclosure.
FIG. 9 shows a schematic block diagram of a computer system suitable for use in implementing a method according to an embodiment of the present disclosure.
Detailed Description
Hereinafter, exemplary embodiments of the present disclosure will be described in detail with reference to the accompanying drawings so that those skilled in the art can easily implement them. Also, for the sake of clarity, parts not relevant to the description of the exemplary embodiments are omitted in the drawings.
In the present disclosure, it is to be understood that terms such as "including" or "having," etc., are intended to indicate the presence of the disclosed features, numbers, steps, behaviors, components, parts, or combinations thereof, and are not intended to preclude the possibility that one or more other features, numbers, steps, behaviors, components, parts, or combinations thereof may be present or added.
It should be further noted that the embodiments and features of the embodiments in the present disclosure may be combined with each other without conflict. The present disclosure will be described in detail below with reference to the accompanying drawings in conjunction with embodiments.
In the present disclosure, the acquisition of the user information or the user data is an operation that is authorized, confirmed, or actively selected by the user.
First, noun terms to which one or more embodiments of the present disclosure relate are explained.
Rdma (remote direct memory access): remote direct memory access is a technology for providing high-performance network data access by realizing zero copy and kernel bypass technologies through hardware.
RoCEv 2: RDMA is a standard over Ethernet.
SR-IOV (Single Root I/O Virtualization): a hardware virtualization technique. The SR-IOV is initially applied to a network card, and a plurality of lightweight PCI-e physical devices are virtualized for one physical network card, so that the SR-IOV can be allocated to a virtual machine for use. The network card supporting the SR-IOV function is called a physical network card pf (physical function), and the corresponding virtualized network card is called a virtual network card vf (virtual function).
Overlay (upper layer network): virtual networks are constructed on the basis of physical networks by means of certain techniques, such as tunneling.
Underlay (Underlay network): physical networks such as conventional IP networks for carrying user traffic.
VxLan (virtual eXtensible LAN): the two-layer virtual network is constructed based on a three-layer network structure, and is an implementation of the Overlay technology. The VxLAN uses a tunnel technology on a bottom-layer physical network underlay, and a virtual network constructed by a User Datagram Protocol (UDP) layer is used for decoupling the virtual network from the physical network, so that flexible networking requirements are met.
Kubernetes: also known as K8S or simply "kube," is an open source platform that can automatically implement Linux container operations. Kubernetes has control nodes (Master nodes) which are management control centers of Node clusters, and nodes (nodes) which may be, for example, physical machines, provide Kubernetes runtime environments, and maintain Pod.
Pod: pod is the basic unit managed by K8S, and is a container implemented on Node, and one or more containers can be encapsulated in Pod. A Pod corresponds to a logical host, having virtual memory for storing data of containers encapsulated in the Pod. If the Pod needs to provide the service to the outside, the Pod may be allocated with a virtual network card VF, so that the Pod may receive and transmit the data packet through the VF, thereby providing the service to the outside.
CNI (container network interface): and the network standard is used for realizing the intercommunication of the container network.
Kubelet: the agent (agent) running on each Node is responsible for the maintenance of the local Pod.
Device plug: and a component in the device plug-in K8S for managing system hardware resources (such as GPU, FPGA, high-performance NIC and the like) and issuing related resource information to the kubel.
As mentioned above, RDMA is a technique for implementing zero-copy and kernel bypass by hardware to provide high performance network data access. When using RDMA techniques, the CPUs of the two end devices participating in the communication hardly participate in the data transfer process, but only in the control plane process. When the local network card and the opposite network card both support the RDMA technology, the local network card directly reads user mode memory data from the memory of the local device, then assembles each layer of messages, and sends the messages to the opposite network card through a physical link. And after the opposite-end network card receives the data, stripping the message header and the check code of each layer, and directly writing the data into the user mode memory data. The technical form of RoCEv2 of RDMA can provide low latency, high throughput and low CPU overhead on Ethernet, so the RDMA technology has been applied to physical machines of related products such as cloud computing and cloud storage, and realizes RDMA in the scene of an underlying network. However, RDMA is not currently implemented in virtual networks.
In view of this, the present disclosure provides a method for implementing RDMA based on a network, where address information is obtained from a plurality of hosts, the address information includes first address information, second address information and third address information, the first address information includes an address of the host, the second address information includes an address of a logical host on the host, the third address information includes an address of a virtual network card corresponding to the logical host, the address information of the plurality of hosts is sent to the hosts, and the hosts transmit RDMA messages between the hosts through the network using the address information of the plurality of hosts.
Fig. 1 illustrates a flow diagram of a method of implementing remote direct memory access RDMA according to an embodiment of the present disclosure. As shown in fig. 1, the method comprises the following steps S101-S102:
in step S101, address information is obtained from a plurality of hosts, where the address information includes first address information, second address information, and third address information, the first address information includes an address of the host, the second address information includes an address of a logical host on the host, and the third address information includes an address of a virtual network card corresponding to the logical host;
in step S102, address information of the plurality of hosts is sent to the hosts, wherein the hosts use the address information of the plurality of hosts to transfer RDMA messages between the hosts over the network.
According to an embodiment of the present disclosure, the first address information includes an internet protocol IP address of the host, the second address information includes an IP address of a logical host on the host, the third address information includes an MAC address of a virtual network card corresponding to the logical host on the host, and the virtual network card corresponding to the logical host on the host is configured to read and write data from and into a virtual memory of the logical host.
In an embodiment of the present disclosure, the method for implementing RDMA may be performed by a Master Node in a K8S cluster, and the host may be a Node in a K8S cluster, as described with reference to fig. 1. The obtaining of the address information from the multiple hosts may be that an SR-IOV Device plug-in is set in the multiple Node nodes, where the SR-IOV Device plug-in is used to discover and monitor the address information of the Node, and report the address information to the Master Node through a kubel of the Node. The logical host may be a container in a Node, such as a Pod or other container. The Node address information comprises first, second and third address information, the first address information comprises an IP address of the Node, the second address information comprises an IP address of a logic host Pod on the Node, the third address information comprises an MAC address of a virtual network card corresponding to the logic host Pod on the Node, and the virtual network card corresponding to the logic host Pod on the Node is used for reading and writing data of a virtual memory of the Pod. Meanwhile, the SR-IOV Device plug-in may also be configured to discover and monitor all virtual network card resource information of the Node, for example, the number of available virtual network cards, and report the virtual network card resource information to the Master Node through a kubel of the Node, where the Master Node obtains address information and virtual network card resource information from the multiple hosts. When a logical host (e.g., Pod) with a virtual network card needs to be created, the Master Node may determine which Node the logical host is created on according to the number of available virtual network cards on each Node, so that the newly created logical host may be bound with the available virtual network cards on the Node nodes.
According to an embodiment of the present disclosure, the method further comprises: and acquiring the corresponding relationship between the first address information and the third address information of the hosts from the multiple hosts, for example, each Node sends the corresponding relationship between the IP address of the Node and the MAC address of the virtual network card on the Node to the Master Node, and the corresponding relationship between the IP address of the Pod on the Node and the MAC address of the virtual network card corresponding to the Pod. The Master sends the corresponding relation of the nodes and the address information of the hosts to each Node. According to an embodiment of the present disclosure, after receiving address information of a plurality of hosts, the hosts may generate flow tables according to the address information of the plurality of hosts. The flow table is the basis of data forwarding of the host, one flow table contains a series of flow table entries, and the flow table entries contain three fields: header fields (headers) including a MAC address of a source virtual network card transmitting the data packet and a MAC address of a destination virtual network card receiving the data packet; counters (counters) for counting data traffic related information, which may be maintained for each flow table, each data flow, each device port, and each forwarding queue in the switch; action table (actions): indicating the next operations that should be performed by the packet matching the flow entry, including dropping, add/de-encapsulate, and forward. The generating of the flow tables according to the address information of the plurality of hosts may be that, in the Node, an SR-IOV-Net plug-in is used to generate the flow tables based on the address information of the plurality of hosts, and the flow tables are used as a basis for data forwarding of the Node. For example, when the Node receives a packet, the Node determines to perform operations such as forwarding, dropping, or adding/removing encapsulation to other nodes on the packet according to its own flow table. In a VxLan scenario, specifically, after the Node nodes collect address information of each Node, the Node nodes can master a topology structure of a physical network formed by each Node in the K8S cluster, form a flow table according to the topology structure of the physical network, and each Node in the K8S forms its own flow table, so that data transmission through a network constructed on the physical network formed by each Node can be realized.
According to the embodiment of the disclosure, in a scenario of implementing RDMA based on a network, assuming that data in a virtual memory of a first logical host on a first Node (i.e., a first host) needs to be written into a virtual memory of a second logical host on a second Node (i.e., a second host), a first virtual network card reads the data from the virtual memory of the first logical host and sends the data to a physical network card of the first host, the physical network card of the first host encapsulates the data and a MAC address of the second virtual network card corresponding to the second logical host in an RDMA message according to a data packet format of the network, and the RDMA message is transmitted to the second Node through the network according to a flow table. When the embodiment of the invention is applied to the virtual network realized by VxLan, the physical network card of the first host encapsulates the read data and the MAC address of the second virtual network card in RDMA (remote direct memory Access) information according to the data packet format of VxLan, and the RDMA information is sent to the second Node through the tunnel according to the flow table. After receiving the RDMA message, the second Node decapsulates the DRMA message according to a flow table of the second Node, identifies a second virtual network card according to an MAC address of the second virtual network card encapsulated in the RDMA message, and writes data in the RDMA message into a virtual memory of a second logic host through the second virtual network card.
According to the technical scheme provided by the embodiment of the disclosure, RDMA between the first logic host on the first host and the second logic host on the second host is realized, the RDMA based on the network according to the embodiment of the disclosure can be applied to a virtual network scene, and the high-performance network requirement under the virtual network scene is met.
FIG. 2 illustrates a flow diagram of a method of implementing RDMA over a network according to an embodiment of the present disclosure. As shown in fig. 2, the method comprises the following steps S201-S203:
in step S201, address information of a plurality of hosts is obtained, where the address information includes first address information, second address information, and third address information, the first address information includes an address of the host, the second address information includes an address of a logical host on the host, and the third address information includes an address of a virtual network card corresponding to the logical host;
in step S202, encapsulating third address information of a second host in an RDMA message, where the third address information of the second host includes an address of a second virtual network card corresponding to a second logical host on the second host;
in step S203, the RDMA message is sent from the first host to a second virtual network card corresponding to a second logical host on the second host via the network based on the address information of the plurality of hosts.
In the embodiment of the present disclosure, in a scenario of implementing RDMA based on a network, assuming that data in a virtual memory of a first logical host on a first Node (i.e., a first host) needs to be written into a virtual memory of a second logical host on a second Node (i.e., a second host), the method for implementing RDMA with remote direct memory access described with reference to fig. 2 may be executed by the first Node in a K8S cluster, where the first Node may be provided with an SR-IOV-Net plug-in for generating flow tables based on address information of the multiple hosts, and the flow tables are used as a basis for data forwarding by the Node.
According to the embodiment of the present disclosure, the first host has a first logical host and a first virtual network card, and the first virtual network card is configured to read data from a virtual memory of the first logical host; the second virtual network card is used for writing data into the virtual memory of the second logic host; and the RDMA message is packaged with the data read by the first virtual network card from the virtual memory of the first logical host.
According to the embodiment of the disclosure, in a scenario of implementing RDMA based on a network, assuming that data in a virtual memory of a first logical host on a first Node (i.e., a first host) needs to be written into a virtual memory of a second logical host on a second Node (i.e., a second host), a first virtual network card reads the data from the virtual memory of the first logical host and sends the data to a physical network card of the first host, the physical network card of the first host encapsulates the data and a MAC address of the second virtual network card corresponding to the second logical host in an RDMA message according to a data packet format of the network by using address information of the first host and address information of the second host, and the RDMA message is transmitted to the second Node through the network according to a flow table. When the embodiment of the disclosure is applied to a virtual network implemented by using VxLan, the physical network card of the first host encapsulates read data and the MAC address of the second virtual network card in RDMA (remote direct memory Access) messages according to the data packet format of VxLan by using the address information of the first host and the address information of the second host, and sends the RDMA messages to the second Node through a tunnel according to the flow table. After receiving the RDMA message, the second Node decapsulates the DRMA message according to a flow table of the second Node, identifies a second virtual network card according to an MAC address of the second virtual network card encapsulated in the RDMA message, and writes data in the RDMA message into a virtual memory of a second logic host through the second virtual network card.
According to the technical scheme provided by the embodiment of the disclosure, RDMA between the first logic host on the first host and the second logic host on the second host is realized, the RDMA based on the network according to the embodiment of the disclosure can be applied to a virtual network scene, and the high-performance network requirement under the virtual network scene is met.
FIG. 3 illustrates a flow diagram of a method of implementing RDMA over a network according to an embodiment of the present disclosure. As shown in fig. 3, the method comprises the following steps S301-S303:
in step S301, obtaining an RDMA message sent by a first host through the network, wherein the RDMA message encapsulates third address information of the second host;
in step S302, a second virtual network card corresponding to a second logical host on the second host is identified according to third address information of the second host;
in step S303, the data in the RDMA message is written into the virtual memory of the second logical host on the second host through the second virtual network card.
In this embodiment of the present disclosure, in a scenario of implementing RDMA based on a network, assuming that data in a virtual memory of a first logical host on a first Node (i.e., a first host) needs to be written into a virtual memory of a second logical host on a second Node (i.e., a second host), the method for implementing RDMA described with reference to fig. 3 may be executed by the second Node in a K8S cluster, where the second Node may have an SR-IOV-Net plug-in for generating flow tables based on address information of the multiple hosts, and the flow tables are used as a basis for data forwarding by the Node.
According to the embodiment of the disclosure, in a scenario of implementing RDMA based on a network, assuming that data in a virtual memory of a first logical host on a first Node (i.e., a first host) needs to be written into a virtual memory of a second logical host on a second Node (i.e., a second host), a first virtual network card reads the data from the virtual memory of the first logical host and sends the data to a physical network card of the first host, the physical network card of the first host encapsulates the data and a MAC address of the second virtual network card corresponding to the second logical host in an RDMA message according to a data packet format of the network by using address information of the first host and address information of the second host, and the RDMA message is transmitted to the second Node through the network according to a flow table. When the embodiment of the disclosure is applied to a virtual network implemented by using VxLan, the physical network card of the first host encapsulates read data and the MAC address of the second virtual network card in RDMA (remote direct memory Access) messages according to the data packet format of VxLan by using the address information of the first host and the address information of the second host, and sends the RDMA messages to the second Node through a tunnel according to the flow table. After receiving the RDMA message, the second Node decapsulates the DRMA message according to a flow table of the second Node, identifies a second virtual network card according to an MAC address of the second virtual network card encapsulated in the RDMA message, and writes data in the RDMA message into a virtual memory of a second logic host through the second virtual network card.
According to the technical scheme provided by the embodiment of the disclosure, RDMA between the first logic host on the first host and the second logic host on the second host is realized, the RDMA based on the network according to the embodiment of the disclosure can be applied to a virtual network scene, and the high-performance network requirement under the virtual network scene is met.
FIG. 4A illustrates a method for creating a Pod that can implement RDMA over networks using K8S and SR-IOV techniques.
As shown in fig. 4A, an SR-IOV Device plug-in may be set in each Node of K8S, where the SR-IOV Device plug-in is used to discover and monitor address information such as resource information of all virtual network cards of the Node, IP addresses of the Node nodes, IP addresses of Pod on the Node nodes, MAC addresses of virtual network cards on the Node nodes, correspondence between the IP addresses of the Node nodes and the MAC addresses of the virtual network cards on the Node nodes, and correspondence between the IP addresses of Pod on the Node nodes and the MAC addresses of the virtual network cards on the Node nodes, and report the resource information and the address information of the virtual network cards to a Master Node through a kubel of the Node. And when the Master Node receives the notice of creating the Pod with the virtual network card resource, scheduling the corresponding creating action to the proper Node according to the received virtual network card resource information of each Node, and sending the creating message to the Kubelet of the proper Node. When selecting the appropriate Node, in addition to considering whether the availability of the CPU and the memory resources on the conventional Node meets the operation requirement of the Pod object to be created, whether a storage volume dependent on the Pod is available at the Node, and other factors, it is also necessary to consider whether the availability of the virtual network card resources on the Node meets the operation requirement of the Pod object to be created. And after receiving the creation message, the Kubelet allocates available virtual network card resources, and links the CNI plug-in SR-IOV through the management function of the Multus multi-network plug-in the Node, sets the corresponding virtual network card resources in the created Pod, and completes the configuration work of a network layer. Meanwhile, in order to realize RDMA based on a network, each Node of the K8S is also provided with an SR-IOV-Net plug-in used for receiving address information of each Node in the K8S cluster from a Master Node and generating a flow table for the Node based on the address information.
FIG. 4B illustrates a method for implementing RDMA over virtual networks based on K8S and SR-IOV techniques.
As shown in fig. 4B, in the K8S cluster, when the Pod1 in the Node1 needs to perform RDMA communication with the Pod2 in the Node n, for example, designated data in the virtual memory of the Pod1 is copied into the virtual memory of the Pod2, first, the MAC address of the virtual network card corresponding to the Pod2 is determined based on the correspondence between the Pod2 received from the Master Node and the MAC address of the virtual network card corresponding thereto. Then, at the RNIC of the Node1 Node, the specified data and the MAC address of the virtual network card corresponding to the Pod2 are encapsulated in an RDMA message using the slave Pod according to the packet format of the virtual network. The RNIC of the node N node receives the RDMA message through a virtual network realized by Vxlan, decapsulates the RDMA message to analyze the MAC address of the virtual network card corresponding to the Pod2, and writes the data in the RDMA message into the virtual memory of the Pod2 through the virtual network card of the Pod2, so that the RDMA between the Pod1 and the Pod2 is realized.
Fig. 5 is a block diagram illustrating a structure of a device for implementing remote direct memory access RDMA over a network according to an embodiment of the present disclosure. The apparatus may be implemented as part or all of an electronic device through software, hardware, or a combination of both.
As shown in fig. 5, the apparatus 500 includes:
a first obtaining module 510 configured to obtain address information from a plurality of hosts, where the address information includes first address information, second address information, and third address information, the first address information includes an address of the host, the second address information includes an address of a logical host on the host, and the third address information includes an address of a virtual network card corresponding to the logical host;
a first sending module 520 configured to send address information of the plurality of hosts to the hosts, wherein the hosts use the address information of the plurality of hosts to transfer RDMA messages between the hosts over the network.
According to an embodiment of the present disclosure, the first address information includes an internet protocol IP address of the host, the second address information includes an IP address of a logical host on the host, and the third address information includes a MAC address of a virtual network card corresponding to the logical host on the host;
the virtual network card corresponding to the logic host on the host is used for reading and writing data of the virtual memory of the logic host;
the apparatus 500 further comprises:
a second obtaining module 530 configured to obtain, from the plurality of hosts, a correspondence between first address information and third address information of the hosts, and a correspondence between second address information and third address information of the hosts.
Fig. 6 illustrates a block diagram of a network-based apparatus for implementing remote direct memory access RDMA according to an embodiment of the present disclosure. The apparatus may be implemented as part or all of an electronic device through software, hardware, or a combination of both.
As shown in fig. 6, the apparatus 600 may be implemented by a first host, the apparatus 600 comprising:
a third obtaining module 610 configured to obtain address information of a plurality of hosts, where the address information includes first address information, second address information, and third address information, the first address information includes an address of the host, the second address information includes an address of a logical host on the host, and the third address information includes an address of a virtual network card corresponding to the logical host;
a first encapsulation module 620 configured to encapsulate third address information of a second host in an RDMA message, the third address information of the second host including an address of a second virtual network card corresponding to a second logical host on the second host;
a second sending module 630 configured to send the RDMA message from the first host to a second virtual network card corresponding to a second logical host on the second host over the network based on the address information of the plurality of hosts.
According to the embodiment of the present disclosure, the first host has a first logical host and a first virtual network card, and the first virtual network card is configured to read data from a virtual memory of the first logical host;
the second virtual network card is used for writing data into the virtual memory of the second logic host;
and the RDMA message is packaged with the data read by the first virtual network card from the virtual memory of the first logical host.
According to an embodiment of the present disclosure, the apparatus 600 further comprises:
a second encapsulation module 640 configured to encapsulate the RDMA message according to a packet format of the network using the address information of the first host and the address information of the second host.
According to an embodiment of the present disclosure, the apparatus 600 further comprises:
a third sending module 650 configured to send address information of the first host to a control node of the plurality of hosts.
Fig. 7 is a block diagram illustrating a structure of a device for implementing remote direct memory access RDMA over a network according to an embodiment of the present disclosure. The apparatus may be implemented as part or all of an electronic device through software, hardware, or a combination of both.
As shown in fig. 7, the apparatus 700 may be implemented by a second host, the apparatus 700 comprising:
a fourth obtaining module 710 configured to obtain an RDMA message sent by a first host through the network, wherein the RDMA message encapsulates third address information of the second host;
the identifying module 720 is configured to identify a second virtual network card corresponding to a second logical host on the second host according to third address information of the second host;
a write module 730 configured to write the data in the RDMA message to a virtual memory of a second logical host on the second host via the second virtual network card.
According to an embodiment of the present disclosure, the data in the RDMA message is read from the virtual memory of the first logical host by the first virtual network card corresponding to the first logical host on the first host.
The present disclosure also discloses an electronic device, and fig. 8 shows a block diagram of the electronic device according to an embodiment of the present disclosure.
As shown in fig. 8, the electronic device 800 comprises a memory 801 and a processor 802, wherein the memory 801 is configured to store one or more computer instructions, wherein the one or more computer instructions are executed by the processor 802 to implement a method according to an embodiment of the present disclosure.
The embodiment of the disclosure provides a method for realizing Remote Direct Memory Access (RDMA) based on a network, which comprises the following steps:
acquiring address information from a plurality of hosts, wherein the address information comprises first address information, second address information and third address information, the first address information comprises the address of the host, the second address information comprises the address of a logical host on the host, and the third address information comprises the address of a virtual network card corresponding to the logical host;
sending address information of the plurality of hosts to the hosts, wherein the hosts use the address information of the plurality of hosts to transfer RDMA messages between the hosts over the network.
According to an embodiment of the present disclosure, wherein:
the first address information comprises an Internet Protocol (IP) address of the host, the second address information comprises an IP address of a logic host on the host, and the third address information comprises a Media Access Control (MAC) address of a virtual network card corresponding to the logic host on the host;
the virtual network card corresponding to the logic host on the host is used for reading and writing data of the virtual memory of the logic host;
the method further comprises the following steps:
acquiring the corresponding relation between the first address information and the third address information of the host and the corresponding relation between the second address information and the third address information of the host from the plurality of hosts.
The embodiment of the disclosure provides a method for realizing RDMA (remote direct memory access) based on a network, which is realized by a first host, and the method comprises the following steps:
acquiring address information of a plurality of hosts, wherein the address information comprises first address information, second address information and third address information, the first address information comprises addresses of the hosts, the second address information comprises addresses of logical hosts on the hosts, and the third address information comprises addresses of virtual network cards corresponding to the logical hosts; packaging third address information of a second host in an RDMA message, wherein the third address information of the second host comprises an address of a second virtual network card corresponding to a second logical host on the second host;
sending, over the network, the RDMA message from the first host to a second virtual network card corresponding to a second logical host on the second host based on the address information of the plurality of hosts.
According to an embodiment of the present disclosure, wherein:
the first host is provided with a first logic host and a first virtual network card, and the first virtual network card is used for reading data from a virtual memory of the first logic host;
the second virtual network card is used for writing data into the virtual memory of the second logic host;
and the RDMA message is packaged with the data read by the first virtual network card from the virtual memory of the first logical host.
According to an embodiment of the present disclosure, the method further comprises:
encapsulating the RDMA message according to a packet format of the network using the address information of the first host and the address information of the second host.
According to an embodiment of the present disclosure, the method further comprises:
and sending the address information of the first host to the control nodes of the plurality of hosts.
The embodiment of the disclosure provides a method for implementing RDMA (remote direct memory access) based on a network, which is implemented by a second host, and the method comprises the following steps:
acquiring an RDMA (remote direct memory access) message sent by a first host through the network, wherein third address information of the second host is encapsulated in the RDMA message;
identifying a second virtual network card corresponding to a second logic host on the second host according to third address information of the second host;
and writing the data in the RDMA message into a virtual memory of a second logic host on the second host through the second virtual network card.
According to the embodiment of the disclosure, the data in the RDMA message is read from the virtual memory of the first logical host by the first virtual network card corresponding to the first logical host on the first host.
FIG. 9 shows a schematic block diagram of a computer system suitable for use in implementing a method according to an embodiment of the present disclosure.
As shown in fig. 9, the computer system 900 includes a processing unit 901 which can execute various processes in the above-described embodiments according to a program stored in a Read Only Memory (ROM) 902 or a program loaded from a storage section 908 into a Random Access Memory (RAM) 903. In the RAM 903, various programs and data necessary for the operation of the computer system 900 are also stored. The processing unit 901, the ROM 902, and the RAM 903 are connected to each other via a bus 904. An input/output (I/O) interface 905 is also connected to bus 904.
The following components are connected to the I/O interface 905: an input portion 906 including a keyboard, a mouse, and the like; an output section 907 including components such as a Cathode Ray Tube (CRT), a Liquid Crystal Display (LCD), and the like, and a speaker; a storage portion 908 including a hard disk and the like; and a communication section 909 including a network interface card such as a LAN card, a modem, or the like. The communication section 909 performs communication processing via a network such as the internet. The drive 910 is also connected to the I/O interface 905 as necessary. A removable medium 911 such as a magnetic disk, an optical disk, a magneto-optical disk, a semiconductor memory, or the like is mounted on the drive 910 as necessary, so that a computer program read out therefrom is mounted into the storage section 908 as necessary. The processing unit 901 may be implemented as a CPU, a GPU, a TPU, an FPGA, an NPU, or other processing units.
In particular, the above described methods may be implemented as computer software programs according to embodiments of the present disclosure. For example, embodiments of the present disclosure include a computer program product comprising computer instructions that, when executed by a processor, implement the method steps described above. In such an embodiment, the computer program product may be downloaded and installed from a network through the communication section 909, and/or installed from the removable medium 911.
The flowchart and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods and computer program products according to various embodiments of the present disclosure. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that, in some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, can be implemented by special purpose hardware-based systems which perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.
The units or modules described in the embodiments of the present disclosure may be implemented by software or by programmable hardware. The units or modules described may also be provided in a processor, and the names of the units or modules do not in some cases constitute a limitation of the units or modules themselves.
As another aspect, the present disclosure also provides a computer-readable storage medium, which may be a computer-readable storage medium included in the electronic device or the computer system in the above embodiments; or it may be a separate computer readable storage medium not incorporated into the device. The computer readable storage medium stores one or more programs for use by one or more processors in performing the methods described in the present disclosure.
The foregoing description is only exemplary of the preferred embodiments of the disclosure and is illustrative of the principles of the technology employed. It will be appreciated by those skilled in the art that the scope of the invention in the present disclosure is not limited to the specific combination of the above-mentioned features, but also encompasses other embodiments in which any combination of the above-mentioned features or their equivalents is possible without departing from the inventive concept. For example, the above features and (but not limited to) the features disclosed in this disclosure having similar functions are replaced with each other to form the technical solution.

Claims (14)

1. A method for implementing Remote Direct Memory Access (RDMA) based on a network comprises the following steps:
acquiring address information from a plurality of hosts, wherein the address information comprises first address information, second address information and third address information, the first address information comprises the address of the host, the second address information comprises the address of a logical host on the host, and the third address information comprises the address of a virtual network card corresponding to the logical host;
sending address information of the plurality of hosts to the hosts, wherein the hosts use the address information of the plurality of hosts to transfer RDMA messages between the hosts over the network.
2. The method of claim 1, wherein:
the network is a virtual network;
the first address information comprises an Internet Protocol (IP) address of the host, the second address information comprises an IP address of a logic host on the host, and the third address information comprises a Media Access Control (MAC) address of a virtual network card corresponding to the logic host on the host;
the virtual network card corresponding to the logic host on the host is used for reading and writing data of the virtual memory of the logic host;
the method further comprises the following steps:
acquiring the corresponding relation between the first address information and the third address information of the host and the corresponding relation between the second address information and the third address information of the host from the plurality of hosts.
3. A method for implementing RDMA over a network, the method implemented by a first host, the method comprising:
acquiring address information of a plurality of hosts, wherein the address information comprises first address information, second address information and third address information, the first address information comprises addresses of the hosts, the second address information comprises addresses of logical hosts on the hosts, and the third address information comprises addresses of virtual network cards corresponding to the logical hosts; packaging third address information of a second host in an RDMA message, wherein the third address information of the second host comprises an address of a second virtual network card corresponding to a second logical host on the second host;
sending, over the network, the RDMA message from the first host to a second virtual network card corresponding to a second logical host on the second host based on the address information of the plurality of hosts.
4. The method of claim 3, wherein:
the first host is provided with a first logic host and a first virtual network card, and the first virtual network card is used for reading data from a virtual memory of the first logic host;
the second virtual network card is used for writing data into the virtual memory of the second logic host;
and the RDMA message is packaged with the data read by the first virtual network card from the virtual memory of the first logical host.
5. The method of claim 4, further comprising:
encapsulating the RDMA message according to a packet format of the network using the address information of the first host and the address information of the second host.
6. The method of claim 3, further comprising:
and sending the address information of the first host to the control nodes of the plurality of hosts.
7. A method for implementing RDMA over a network, the method implemented by a second host, the method comprising:
acquiring an RDMA (remote direct memory access) message sent by a first host through the network, wherein third address information of the second host is encapsulated in the RDMA message;
identifying a second virtual network card corresponding to a second logic host on the second host according to third address information of the second host;
and writing the data in the RDMA message into a virtual memory of a second logic host on the second host through the second virtual network card.
8. The method of claim 7, wherein the data in the RDMA message is read from virtual memory of a first logical host by a first virtual network card corresponding to the first logical host on the first host.
9. An apparatus for implementing Remote Direct Memory Access (RDMA) over a network, comprising:
a first obtaining module configured to obtain address information from a plurality of hosts, where the address information includes first address information, second address information, and third address information, the first address information includes an address of the host, the second address information includes an address of a logical host on the host, and the third address information includes an address of a virtual network card corresponding to the logical host;
a first sending module configured to send address information of the plurality of hosts to the hosts, wherein the hosts use the address information of the plurality of hosts to transfer RDMA messages between the hosts over the network.
10. An apparatus for implementing RDMA over a network, the apparatus being implemented by a first host, the apparatus comprising:
a third obtaining module configured to obtain address information of a plurality of hosts, where the address information includes first address information, second address information, and third address information, the first address information includes an address of the host, the second address information includes an address of a logical host on the host, and the third address information includes an address of a virtual network card corresponding to the logical host;
a first encapsulation module configured to encapsulate third address information of a second host in an RDMA message, the third address information of the second host including an address of a second virtual network card corresponding to a second logical host on the second host;
a second sending module configured to send the RDMA message from the first host to a second virtual network card corresponding to a second logical host on the second host over the network based on the address information of the plurality of hosts.
11. An apparatus for implementing RDMA over a network, the apparatus being implemented by a second host, the apparatus comprising:
a fourth obtaining module, configured to obtain an RDMA message sent by a first host through the network, wherein the RDMA message encapsulates third address information of the second host;
the identification module is configured to identify a second virtual network card corresponding to a second logical host on the second host according to third address information of the second host;
a write module configured to write the data in the RDMA message to a virtual memory of a second logical host on the second host via the second virtual network card.
12. An electronic device comprising a memory and a processor; wherein the memory is configured to store one or more computer instructions, wherein the one or more computer instructions are executed by the processor to implement the method steps of any of claims 1-8.
13. A readable storage medium having stored thereon computer instructions which, when executed by a processor, carry out the method steps of any of claims 1-8.
14. A computer program product comprising computer instructions which, when executed by a processor, carry out the method steps of any of claims 1 to 8.
CN202210014679.4A 2022-01-07 2022-01-07 Method, device, electronic equipment and medium for realizing remote direct memory access Pending CN114050998A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210014679.4A CN114050998A (en) 2022-01-07 2022-01-07 Method, device, electronic equipment and medium for realizing remote direct memory access

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210014679.4A CN114050998A (en) 2022-01-07 2022-01-07 Method, device, electronic equipment and medium for realizing remote direct memory access

Publications (1)

Publication Number Publication Date
CN114050998A true CN114050998A (en) 2022-02-15

Family

ID=80213437

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210014679.4A Pending CN114050998A (en) 2022-01-07 2022-01-07 Method, device, electronic equipment and medium for realizing remote direct memory access

Country Status (1)

Country Link
CN (1) CN114050998A (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114640678A (en) * 2022-03-14 2022-06-17 明阳产业技术研究院(沈阳)有限公司 Pod management method, device and medium based on SR-IOV
CN115934624A (en) * 2023-03-14 2023-04-07 珠海星云智联科技有限公司 Method, apparatus and medium for multi-host remote direct memory access network management
CN118264617A (en) * 2024-05-31 2024-06-28 济南浪潮数据技术有限公司 Overlapping network data transmission method, system, device and storage medium
WO2024244557A1 (en) * 2023-06-01 2024-12-05 苏州元脑智能科技有限公司 Inter-node communication method and apparatus, electronic device, and storage medium
CN119383157A (en) * 2024-12-30 2025-01-28 苏州元脑智能科技有限公司 Storage cluster node interconnection method and device

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103530167A (en) * 2013-09-30 2014-01-22 华为技术有限公司 Virtual machine memory data migration method and relevant device and cluster system
WO2017152633A1 (en) * 2016-03-09 2017-09-14 中兴通讯股份有限公司 Port binding implementation method and device
CN110071900A (en) * 2018-01-23 2019-07-30 华为技术有限公司 Data sending method and device
CN111193653A (en) * 2019-12-31 2020-05-22 腾讯科技(深圳)有限公司 Data transmission method, device, equipment and storage medium
CN113497767A (en) * 2020-03-20 2021-10-12 华为技术有限公司 Method and device for transmitting data, computing equipment and storage medium
CN113746749A (en) * 2020-05-29 2021-12-03 阿里巴巴集团控股有限公司 Network connection device

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103530167A (en) * 2013-09-30 2014-01-22 华为技术有限公司 Virtual machine memory data migration method and relevant device and cluster system
WO2017152633A1 (en) * 2016-03-09 2017-09-14 中兴通讯股份有限公司 Port binding implementation method and device
CN110071900A (en) * 2018-01-23 2019-07-30 华为技术有限公司 Data sending method and device
CN111193653A (en) * 2019-12-31 2020-05-22 腾讯科技(深圳)有限公司 Data transmission method, device, equipment and storage medium
CN113497767A (en) * 2020-03-20 2021-10-12 华为技术有限公司 Method and device for transmitting data, computing equipment and storage medium
CN113746749A (en) * 2020-05-29 2021-12-03 阿里巴巴集团控股有限公司 Network connection device

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114640678A (en) * 2022-03-14 2022-06-17 明阳产业技术研究院(沈阳)有限公司 Pod management method, device and medium based on SR-IOV
CN115934624A (en) * 2023-03-14 2023-04-07 珠海星云智联科技有限公司 Method, apparatus and medium for multi-host remote direct memory access network management
WO2024244557A1 (en) * 2023-06-01 2024-12-05 苏州元脑智能科技有限公司 Inter-node communication method and apparatus, electronic device, and storage medium
CN118264617A (en) * 2024-05-31 2024-06-28 济南浪潮数据技术有限公司 Overlapping network data transmission method, system, device and storage medium
CN119383157A (en) * 2024-12-30 2025-01-28 苏州元脑智能科技有限公司 Storage cluster node interconnection method and device
CN119383157B (en) * 2024-12-30 2025-07-18 苏州元脑智能科技有限公司 Node interconnection method and device of storage cluster

Similar Documents

Publication Publication Date Title
CN114050998A (en) Method, device, electronic equipment and medium for realizing remote direct memory access
US8806025B2 (en) Systems and methods for input/output virtualization
CN108293022B (en) Method, device and system for transmitting message
US8954992B2 (en) Distributed and scaled-out network switch and packet processing
CN113326228B (en) Message forwarding method, device and equipment based on remote direct data storage
US20240045824A1 (en) Remote Mapping Method, Apparatus and Device for Computing Resources, and Storage Medium
JP4150336B2 (en) Configuration to create multiple virtual queue pairs from compressed queue pairs based on shared attributes
CN103942087B (en) Live migration of virtual machine method and relevant apparatus and group system
US9910687B2 (en) Data flow affinity for heterogenous virtual machines
CN108984465A (en) A kind of method for message transmission and equipment
CN112187612A (en) High performance, scalable and drop-free data center switching fabric
CN111130838B (en) Method and device for dynamic expansion of process-level service instances and network bandwidth limitation
US20170359198A1 (en) Non-transitory computer-readable storage medium, communication control method, and communication control device
CN115701063B (en) Message transmission method and communication device
CN112583655B (en) Data transmission method, device, electronic device and readable storage medium
CN107276826A (en) A kind of capacitor network collocation method and device
CN115269174A (en) Data transmission method, data processing method and related products
CN110636149B (en) Remote access method, device, router and storage medium
HK40067488A (en) Method and device for realizing remote direct memory access, electronic equipment and medium
CN117354867A (en) Data transmission method, device and storage medium
CN117041147A (en) Intelligent network card equipment, host equipment, method and system
CN106161439B (en) A kind of information processing method and electronic equipment
CN110891031B (en) Synchronous information parallel writing method and network equipment
CN119292969B (en) A hardware implementation method for single-root virtualization of RDMA network cards supporting Ethernet
CN114928589B (en) Data transmission method, data transmission device, computer readable medium and apparatus

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
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40067488

Country of ref document: HK

RJ01 Rejection of invention patent application after publication

Application publication date: 20220215

RJ01 Rejection of invention patent application after publication