Address management method and device of RDMA network card and electronic equipment

By creating a Pod in a container scenario and deploying a virtual network card, and configuring the IP address using the auxiliary address information in the network resources, the request pressure problem caused by triggered application of RDMA auxiliary IP is solved, and the efficiency of address configuration and the initialization rate of large-scale training are improved.

CN119854265APending Publication Date: 2025-04-18BEIJING BAIDU NETCOM SCI & TECH CO LTD
View PDF 0 Cites 1 Cited by

Patent Information

Application Number
CN202411981453.7
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-12-30
Publication Date
2025-04-18

AI Technical Summary

Technical Problem

In container scenarios, the triggered application of RDMA auxiliary IP will cause great request pressure on RDMA auxiliary IP-related APIs, resulting in inefficiency.

Method used

By creating a basic deployment unit Pod and deploying the respective virtual network cards of different RDMA network cards in the pod, the auxiliary address information in the network resources is determined, so as to configure the IP address of the virtual network card without putting too much pressure on the API.

Benefits of technology

It improves the rate and configuration efficiency of virtual network cards to obtain address information, reduces the request pressure on RDMA auxiliary IP-related APIs, and improves the initialization rate of large-scale training tasks.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119854265A_ABST
    Figure CN119854265A_ABST
Patent Text Reader

Abstract

The invention provides an address management method and device of an RDMA network card and electronic equipment, and relates to the technical field of computer storage. According to the specific implementation scheme, a basic deployment unit Pod is created; virtual network cards of different RDMA network cards are deployed in the Pod; determining a network resource set of the RDMA network card, wherein the auxiliary address information allocated for the RDMA network card is cached in the network resource set; and reading the available auxiliary address information from the network resource set of the RDMA network card, and configuring the virtual network card of the RDMA network card based on the available auxiliary address information.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to the field of computer storage technology, and in particular to an address management method, device and electronic device for an RDMA network card. Background Art

[0002] In traditional container scenarios, using the Remote Direct Memory Access (RDMA) Internet Protocol Address (IP) method through the container network requires applying for the RDMA IP in the basic deployment unit Pod, and implementing a triggered application by requesting the RDMA auxiliary IP through the Application Programming Interface (API). However, the triggered application of the RDMA auxiliary IP will cause a very large request pressure on the RDMA auxiliary IP related API. Summary of the invention

[0003] The present disclosure provides an address management method, device and electronic device for an RDMA network card.

[0004] According to one aspect of the present disclosure, a method for address management of an RDMA network card is provided, comprising: creating a basic deployment unit Pod; deploying virtual network cards of different RDMA network cards in the Pod; determining a network resource set of the RDMA network card, wherein auxiliary address information allocated to the RDMA network card has been cached in the network resource set; reading available auxiliary address information from the network resource set of the RDMA network card, and configuring the virtual network card of the RDMA network card based on the available auxiliary address information.

[0005] According to another aspect of the present disclosure, an address management device for an RDMA network card is provided, comprising: a creation module, used to create a basic deployment unit Pod; a deployment module, used to deploy virtual network cards of different RDMA network cards in the Pod; a determination module, used to determine a network resource set of the RDMA network card, wherein the network resource set has cached auxiliary address information allocated to the RDMA network card; and a configuration module, used to read available auxiliary address information from the network resource set of the RDMA network card, and configure the virtual network card of the RDMA network card based on the available auxiliary address information.

[0006] According to another aspect of the present disclosure, an electronic device is provided, comprising: at least one processor; and a memory communicatively connected to the at least one processor; wherein the memory stores instructions executable by the at least one processor, and the instructions are executed by the at least one processor so that the at least one processor can execute the address management method of the RDMA network card described in the above-mentioned first embodiment.

[0007] According to another aspect of the present disclosure, a non-transitory computer-readable storage medium storing computer instructions is provided, on which a computer program / instructions are stored, and the computer instructions are used to enable the computer to execute the address management method of the RDMA network card described in the above-mentioned embodiment.

[0008] According to another aspect of the present disclosure, a computer program product is provided, including a computer program / instruction, wherein when the computer program / instruction is executed by a processor, the address management method of the RDMA network card described in the above-mentioned embodiment is implemented.

[0009] It should be understood that the content described in this section is not intended to identify the key or important features of the embodiments of the present disclosure, nor is it intended to limit the scope of the present disclosure. Other features of the present disclosure will become easily understood through the following description. BRIEF DESCRIPTION OF THE DRAWINGS

[0010] The accompanying drawings are used to better understand the present solution and do not constitute a limitation of the present disclosure.

[0011] Figure 1 A flowchart of an address management method for an RDMA network card provided in an embodiment of the present disclosure;

[0012] Figure 2 A flowchart of another RDMA network card address management method provided by an embodiment of the present disclosure;

[0013] Figure 3 A schematic diagram of allocating auxiliary address information to a cloud server provided in an embodiment of the present disclosure;

[0014] Figure 4 A flowchart of another RDMA network card address management method provided by an embodiment of the present disclosure;

[0015] Figure 5 A schematic diagram of a process for managing the address of an RDMA network card provided in an embodiment of the present disclosure;

[0016] Figure 6 A schematic diagram of the structure of an address management device for an RDMA network card provided in an embodiment of the present disclosure;

[0017] Figure 7The present invention is a block diagram of an electronic device for implementing the address management method of the RDMA network card according to an embodiment of the present disclosure. DETAILED DESCRIPTION

[0018] The following is a description of exemplary embodiments of the present disclosure in conjunction with the accompanying drawings, including various details of the embodiments of the present disclosure to facilitate understanding, which should be considered as merely exemplary. Therefore, it should be recognized by those of ordinary skill in the art that various changes and modifications may be made to the embodiments described herein without departing from the scope and spirit of the present disclosure. Similarly, for the sake of clarity and conciseness, descriptions of well-known functions and structures are omitted in the following description.

[0019] The following describes the address management method, device and electronic device of the RDMA network card according to the embodiments of the present disclosure with reference to the accompanying drawings.

[0020] Figure 1 A flowchart of an address management method for an RDMA network card provided in an embodiment of the present disclosure.

[0021] like Figure 1 As shown, the address management method of the RDMA network card may include:

[0022] S101, create a basic deployment unit Pod.

[0023] It should be noted that the execution subject of the address management method of the RDMA network card in the embodiment of the present disclosure may be a hardware device with data processing capabilities and / or the necessary software required to drive the hardware device to work. Optionally, the execution subject may include a server, a user terminal and other intelligent devices. Optionally, the user terminal includes but is not limited to a mobile phone, a computer, an intelligent voice interaction device, etc. Optionally, the server includes but is not limited to a network server, an application server, and may also be a server of a distributed system, or a server combined with a blockchain, etc. The embodiment of the present disclosure is not specifically limited.

[0024] In some embodiments, a basic deployment unit Pod may be created on a node in the cluster based on a creation instruction.

[0025] In some embodiments, configuration information of the Pod may also be set, and the Pod may be created based on the configuration information and the creation instructions.

[0026] S102, deploy virtual network cards of different RDMA network cards in the Pod.

[0027] In some embodiments, different Remote Direct Memory Access (RDMA) network cards are virtualized by network virtualization technology to obtain respective virtual network cards of the RDMA network cards. Further, the virtual network cards are deployed in the Pod.

[0028] In some embodiments, by identifying the RDMA network card, multiple different RDMA network cards are identified, and then the RDMA network card is virtualized to obtain virtual network cards of different RDMA network cards. For example, the macvlan technology can be used to virtualize the virtual network card of the RDMA network card.

[0029] In some embodiments, before deploying the virtual network card into the Pod, the virtual network card may also be verified to ensure that the virtual network card is correctly deployed.

[0030] S103, determining a network resource set of the RDMA network card, in which auxiliary address information allocated to the RDMA network card has been cached.

[0031] In some embodiments, by pre-establishing a correspondence between different candidate RDMA network cards and candidate network resource sets, after different RDMA network cards are determined, the network resource set of the RDMA network card can be determined by querying the correspondence.

[0032] In some embodiments, a corresponding relationship can be established based on the identification information of the candidate RDMA network card and the identification information of the candidate network resource set. In other words, by determining the identification information of the RDMA network card and querying the corresponding relationship, the identification information of the network resource set is determined, thereby determining the network resource set of the RDMA network card.

[0033] Optionally, the network resource set can cache the auxiliary address information of the RDMA network card. The auxiliary address information of the RDMA network card is allocated by the cloud server to the RDMA network card.

[0034] S104, read available auxiliary address information from the network resource set of the RDMA network card, and configure the virtual network card of the RDMA network card based on the available auxiliary address information.

[0035] In some embodiments, by determining the status mark of the auxiliary address information in the network resource set, if the status mark of the auxiliary address information is unused, it can be determined that the auxiliary address information is available auxiliary address information; if the status mark of the auxiliary address information is used, it can be determined that the auxiliary address information is unavailable auxiliary address information.

[0036] That is, in the process of configuring the virtual network card of the RDMA network card using the auxiliary address information, the state of the auxiliary address information may be marked after the configuration is completed to determine the state mark of the auxiliary address information.

[0037] In some embodiments, there are different information domains in the network resource set, and used auxiliary address information and unused auxiliary address information can be written into different information domains, and the auxiliary address information can be read from the information domain corresponding to the unused auxiliary address information as available auxiliary address information.

[0038] Exemplarily, there are information domain A and information domain B, wherein information domain A caches used auxiliary address information, and information domain B caches unused auxiliary address information, and the auxiliary address information can be read from information domain B to obtain available auxiliary address information.

[0039] Furthermore, after obtaining the available auxiliary address information, the parameters such as the Internet Protocol Address (IP address), subnet mask, gateway, etc. of the virtual network card can be configured based on the available auxiliary address information to configure the virtual network card of the RDMA network card.

[0040] In some embodiments, after the virtual network card is configured using the available auxiliary address information, the status mark of the available auxiliary address information can be modified to used to avoid using the used auxiliary address information for subsequent configuration of the virtual network card.

[0041] Exemplarily, the available auxiliary address information may also be deleted from information field B and added to information field A.

[0042] According to the address management method of the RDMA network card provided by the embodiment of the present disclosure, a Pod is created and a virtual network card of the RDMA network card is deployed in the Pod. The available auxiliary address information is further obtained from the network resource set corresponding to the RDMA network card to configure the virtual network card using the available auxiliary address information. By obtaining the address information from the cache, the rate at which the virtual network card obtains the address information is increased, thereby improving the efficiency of configuring the virtual network card. Using the method of the embodiment of the present disclosure, the rate at which address information is obtained during large-scale training tasks can be increased, and the initialization rate of training can be further increased.

[0043] Figure 2 A flowchart of an address management method for an RDMA network card provided in an embodiment of the present disclosure.

[0044] like Figure 2 As shown, the address management method of the RDMA network card may include:

[0045] S201, obtaining the auxiliary address information allocated by the cloud server to the RDMA network card.

[0046] In some embodiments, before creating a Pod, the auxiliary address information of the RDMA network card can be requested from the cloud server, so that after the Pod is created, the cached auxiliary address information can be used for communication immediately without waiting for address allocation, thereby reducing communication delays.

[0047] In some embodiments, an address application request can be sent to the cloud server based on the interface of the cloud server to receive auxiliary address information allocated by the cloud server. Based on the interface of the cloud server, an automated process of address application can be implemented, manual operations can be reduced, and address allocation efficiency can be improved.

[0048] In some embodiments, the RDMA network card can call a high performance computing (HPC) interface through an Infrastructure as a Service (Iaas) application programming interface (API) to send an address application request to the cloud server. Further, the cloud server can receive auxiliary address information allocated to the RDMA network card.

[0049] In some embodiments, the cloud server may also allocate primary address information to the RDMA network card.

[0050] Optionally, the cloud server may allocate different amounts of auxiliary address information to different RDMA network cards, or may allocate the same amount of auxiliary address information to different RDMA network cards.

[0051] For example, Figure 3 Shown is a schematic diagram of cloud server allocation of auxiliary address information. Figure 3 There are N RDMA network cards in the system, and the process of applying for auxiliary address information for each RDMA network card is the same. Taking RDMA network card 1 as an example, the HPC interface is called through IaasAPI to send an address application request to the cloud server. After receiving the address application request, the cloud server can allocate M IP address information for RDMA network card 1, where the M address information includes 1 primary IP address information and M-1 auxiliary IP address information.

[0052] In some embodiments, the auxiliary address information allocated by the cloud server to the RDMA network card is stored in the network resource set of each RDMA network card, that is, each RDMA network card has its corresponding network resource set.

[0053] In some embodiments, if a new node is added to the cluster, a corresponding network resource set can be created for the RDMA network card in the new node to ensure that RDMA communication can be carried out efficiently and reliably. Optionally, since each RDMA network card has its corresponding network resource set, a network resource set can be created based on the RDMA network card.

[0054] That is, in response to the emergence of a new node in the cluster, the number of RDMA network cards in the new node is determined, and based on the number of RDMA network cards, the same number of network resource sets are created, and corresponding network resource sets are initialized for the RDMA network cards.

[0055] In some embodiments, in order to ensure that the RDMA network card can correctly identify, access and use the auxiliary address information in the network resource set for efficient communication, the network resource set corresponding to the initialization of the RDMA network card may be initialized.

[0056] Optionally, the network resource set may be initialized based on the identification information of the RDMA network card. The identification information of the RDMA network card is determined, and the corresponding network resource set is initialized for the RDMA network card according to the identification information of the RDMA network card.

[0057] S202, centrally cache auxiliary address information in the network resources of the RDMA network card.

[0058] It is understood that a network resource set refers to a collection of resources and information configured in a network environment to support network communication and data transmission. An information domain refers to an area or range in a network resource set for storing specific types of information.

[0059] That is, the network resource set includes different information domains, each of which can store auxiliary address information. The first information domain of the network resource set can be determined, and the auxiliary address information can be written into the first information domain. In other words, the auxiliary address information stored in the first information domain has not been used. By storing the auxiliary address information in the first information domain, network communication can be accelerated, communication delay can be reduced, and the reliability and efficiency of communication can be improved.

[0060] S203, create a basic deployment unit Pod.

[0061] S204, deploying virtual network cards of different RDMA network cards in the Pod.

[0062] S205, determining a network resource set of the RDMA network card, wherein the network resource set has cached auxiliary address information allocated to the RDMA network card.

[0063] S206, read available auxiliary address information from the network resource set of the RDMA network card, and configure the virtual network card of the RDMA network card based on the available auxiliary address information.

[0064] The relevant contents of steps S203 - S206 can be found in the above embodiment and will not be described again here.

[0065] According to the address management method of the RDMA network card provided by the embodiment of the present disclosure, before creating a Pod, the auxiliary address information of each RDMA network card is obtained based on the cloud server, and the auxiliary address information is stored in the network resource set corresponding to the RDMA network card. After the Pod is created, the RDMA network card can immediately use the cached auxiliary address information for communication without waiting for address allocation, thereby reducing communication delays.

[0066] Figure 4 A flowchart of an address management method for an RDMA network card provided in an embodiment of the present disclosure.

[0067] like Figure 4 As shown, the address management method of the RDMA network card may include:

[0068] S401, create a basic deployment unit Pod.

[0069] S402, deploy virtual network cards of different RDMA network cards in the Pod.

[0070] S403, determining a network resource set of the RDMA network card, in which auxiliary address information allocated to the RDMA network card has been cached.

[0071] The relevant contents of steps S401 - S403 can be found in the above embodiment and will not be described again here.

[0072] S404: Determine the first auxiliary address information that has been used in the network resource set.

[0073] In some embodiments, the network resource set includes a first information domain and a second information domain, wherein the first information domain stores unused second auxiliary information and the second information domain stores used first auxiliary address information, thereby improving the flexibility and convenience of address information management.

[0074] That is, the second information field in the network resource set may be read to read the first auxiliary address information from the second information field.

[0075] S405: Determine unused second auxiliary address information in the network resource set according to the first auxiliary address information.

[0076] In some embodiments, by comparing the first auxiliary address information with the remaining auxiliary address information in the network resource set, the auxiliary address information different from the first auxiliary address information can be used as the unused second auxiliary address information.

[0077] S406: Select one from the second auxiliary address information as available auxiliary address information.

[0078] In some embodiments, in response to any auxiliary address information being used, any auxiliary address information is determined to be the first auxiliary address information that has been used. The first auxiliary address information is then written into the second information field in the network resource set, and the first auxiliary address information is deleted from the first information field. By updating the use status of the auxiliary address information in real time, the RDMA network card can obtain the correct auxiliary address information, avoiding the repeated use of the auxiliary address information.

[0079] In some embodiments, since unused second auxiliary information is stored in the first information field, one piece of second auxiliary address information currently remaining in the first information field may be selected as available auxiliary address information.

[0080] In some embodiments, the auxiliary address information that has been used can also be marked to clarify the auxiliary address information that has been used and the auxiliary address information that has not been used in the network resource set. In response to any auxiliary address information being used, any auxiliary address information is determined to be the first auxiliary address information that has been used, and a status mark is performed on any auxiliary address information.

[0081] That is, the status mark of the auxiliary address information in the network resource set can be obtained, and the unused second auxiliary address information in the network resource set can be determined according to the status mark of the auxiliary address information, and then one of the second auxiliary address information can be selected as the available auxiliary address information.

[0082] Optionally, if the status of the auxiliary address information is marked as unused, it can be determined that the auxiliary address information is the second auxiliary address information; if the status of the auxiliary address information is marked as used, it can be determined that the auxiliary address information is the first auxiliary address information.

[0083] S407: Configure the virtual network card of the RDMA network card based on the available auxiliary address information.

[0084] The relevant contents of step S407 can be found in the above embodiment and will not be described again here.

[0085] In some embodiments, after configuring the virtual network card of the RDMA network card using the available auxiliary address information, the available auxiliary address information is marked as the first auxiliary address information and written into the second information field to avoid repeated use of the auxiliary address information.

[0086] According to the address management method of the RDMA network card provided by the embodiment of the present disclosure, when obtaining available auxiliary address information from the network resource set corresponding to the RDMA network card, the second auxiliary address information can be obtained in the first information field of the network resource set, so that any second auxiliary address information can be used as available auxiliary address information, and the available auxiliary address information can be further used to configure the virtual network card. By separately storing the unused second auxiliary information and the used first auxiliary address information, the flexibility and convenience of address information management are improved.

[0087] Figure 5 The figure shows a flow chart of managing the address of the RDMA network card.

[0088] S1, add a new node to the cluster, create a network resource set according to the number of RDMA network cards in the new node, and initialize the network resource set;

[0089] The network agent may input a creation instruction into a network resource set custom resource definition (CRD) to create a network resource set according to the number of RDMA network cards in the newly added node;

[0090] S2, based on the Iaas API, calls the HPC interface to obtain the auxiliary address information from the cloud server, and writes the auxiliary address information into the first information field of the network resource set;

[0091] Among them, the network operator can call the HPC interface through the Iaas API to send an address application request to the cloud server and receive the auxiliary address information allocated to the RDMA network card by the cloud server;

[0092] S3.1, create a Pod and deploy the virtual network cards of different RDMA network cards to the Pod;

[0093] Figure 5 There are three RDMA network cards in the Pod: RDMA network card 1, RDMA network card 2, and RDMA network card 3. Then, there are three RDMA network cards in the Pod, and the corresponding virtual network cards are virtual network card 1, virtual network card 2, and virtual network card 3.

[0094] S3.2, determine the network resource set of the RDMA network card in S3.1;

[0095] S3.3, apply to read available auxiliary address information from the network resource set in S3.2;

[0096] S3.4, based on the application information in S3.3, determining available auxiliary address information from the network resource set in the network resource set CRD;

[0097] Wherein, the available auxiliary address information can be read from the first information field of the network resource set;

[0098] S4, configuring the virtual network card using the available auxiliary address information obtained;

[0099] S5, marking the available auxiliary address information as used, and writing the available auxiliary address information into the second information field.

[0100] Corresponding to the address management methods of the RDMA network cards provided in the above-mentioned embodiments, an embodiment of the present disclosure further provides an address management device for an RDMA network card. Since the address management device for the RDMA network card provided in the embodiment of the present disclosure corresponds to the address management methods for the RDMA network cards provided in the above-mentioned embodiments, the implementation methods of the address management methods for the above-mentioned RDMA network cards are also applicable to the address management device for the RDMA network card provided in the embodiment of the present disclosure, and will not be described in detail in the following embodiments.

[0101] Figure 6 A schematic diagram of the structure of an address management device for an RDMA network card provided in an embodiment of the present disclosure.

[0102] like Figure 6 As shown, the address management device 600 of the RDMA network card according to the embodiment of the present disclosure includes: a creation module 601 , a deployment module 602 , a determination module 603 and a configuration module 604 .

[0103] A creation module 601 is used to create a basic deployment unit Pod;

[0104] A deployment module 602 is used to deploy virtual network cards of different RDMA network cards in the Pod;

[0105] A determination module 603 is used to determine a network resource set of the RDMA network card, in which auxiliary address information allocated to the RDMA network card has been cached;

[0106] The configuration module 604 is used to read the available auxiliary address information from the network resource set of the RDMA network card, and configure the virtual network card of the RDMA network card based on the available auxiliary address information.

[0107] In one embodiment of the present disclosure, the creation module 601 is further used to: obtain the auxiliary address information allocated by the cloud server to the RDMA network card; and centrally cache the auxiliary address information to the network resources of the RDMA network card.

[0108] In one embodiment of the present disclosure, the creation module 601 is further used to: in response to the appearance of a new node in the cluster, determine the number of RDMA network cards in the new node; based on the number of the RDMA network cards, create the same number of network resource sets, and initialize the corresponding network resource sets for the RDMA network cards.

[0109] In one embodiment of the present disclosure, the creation module 601 is further used to: determine identification information of the RDMA network card; and initialize the corresponding network resource set for the RDMA network card according to the identification information of the RDMA network card.

[0110] In one embodiment of the present disclosure, the creation module 601 is also used to: call the high-performance computing HPC interface through the Infrastructure as a Service Iaas application program interface API to send an address application request to the cloud server; receive the auxiliary address information allocated to the RDMA network card by the cloud server.

[0111] In one embodiment of the present disclosure, the configuration module 604 is also used to: determine the first auxiliary address information that has been used in the network resource set; determine the second auxiliary address information that is not used in the network resource set based on the first auxiliary address information; and select one from the second auxiliary address information as the available auxiliary address information.

[0112] In one embodiment of the present disclosure, the creation module 601 is further used to: determine a first information field of the network resource set, and write the auxiliary address information into the first information field.

[0113] In one embodiment of the present disclosure, the configuration module 604 is further configured to: read the second information field in the network resource set to read the first auxiliary address information from the second information field.

[0114] In one embodiment of the present disclosure, the configuration module 604 is further configured to: mark the available auxiliary address information as the first auxiliary address information, and write the available auxiliary address information into the second information field.

[0115] In one embodiment of the present disclosure, the configuration module 604 is also used to: in response to any auxiliary address information being used, determine that any auxiliary address information is the first auxiliary address information that has been used; write the first auxiliary address information into the second information field in the network resource set, and delete the first auxiliary address information from the first information field; select one from the second auxiliary address information currently remaining in the first information field as the available auxiliary address information.

[0116] In one embodiment of the present disclosure, the device also includes: in response to any auxiliary address information being used, determining that any auxiliary address information is the first auxiliary address information that has been used, and marking the status of any auxiliary address information; the configuration module 604 is also used to: obtain the status mark of the auxiliary address information in the network resource set; determine the second auxiliary address information that is not used in the network resource set according to the status mark of the auxiliary address information; and select one from the second auxiliary address information as the available auxiliary address information.

[0117] According to the address management device of the RDMA network card provided by the embodiment of the present disclosure, a Pod is created and a virtual network card of the RDMA network card is deployed in the Pod. The available auxiliary address information is further obtained from the network resource set corresponding to the RDMA network card to configure the virtual network card using the available auxiliary address information. By obtaining the address information from the cache, the rate at which the virtual network card obtains the address information is increased, thereby improving the efficiency of configuring the virtual network card. Using the method of the embodiment of the present disclosure, the rate at which address information is obtained during large-scale training tasks can be increased, and the initialization rate of training can be further increased.

[0118] In the technical solution disclosed herein, the acquisition, storage and application of user personal information involved are in compliance with the provisions of relevant laws and regulations and do not violate public order and good morals.

[0119] According to an embodiment of the present disclosure, the present disclosure also provides an electronic device, a readable storage medium and a computer program product.

[0120] Figure 7A schematic block diagram of an example electronic device 700 that can be used to implement an embodiment of the present disclosure is shown. The electronic device is intended to represent various forms of digital computers, such as laptop computers, desktop computers, workstations, personal digital assistants, servers, blade servers, mainframe computers, and other suitable computers. The electronic device can also represent various forms of mobile devices, such as personal digital processing, cellular phones, smart phones, wearable devices, and other similar computing devices. The components shown herein, their connections and relationships, and their functions are merely examples and are not intended to limit the implementation of the present disclosure described and / or required herein.

[0121] like Figure 7 As shown, the device 700 includes a computing unit 701, which can perform various appropriate actions and processes according to a computer program / instruction stored in a read-only memory (ROM) 702 or a computer program / instruction loaded from a storage unit 706 to a random access memory (RAM) 703. In the RAM 703, various programs and data required for the operation of the device 700 can also be stored. The computing unit 701, the ROM 702, and the RAM 703 are connected to each other via a bus 704. An input / output (I / O) interface 705 is also connected to the bus 704.

[0122] A number of components in the device 700 are connected to the I / O interface 705, including: an input unit 706 such as a keyboard, a mouse, etc.; an output unit 707 such as various types of displays, speakers, etc.; a storage unit 708 such as a disk, an optical disk, etc.; and a communication unit 709 such as a network card, a modem, a wireless communication transceiver, etc. The communication unit 709 allows the device 700 to exchange information / data with other devices through a computer network such as the Internet and / or various telecommunication networks.

[0123] The computing unit 701 may be a variety of general and / or special processing components with processing and computing capabilities. Some examples of the computing unit 701 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various dedicated artificial intelligence (AI) computing chips, various computing units running machine learning model algorithms, digital signal processors (DSPs), and any appropriate processors, controllers, microcontrollers, etc. The computing unit 701 performs the various methods and processes described above, such as the address management method of the RDMA network card. For example, in some embodiments, the address management method of the RDMA network card may be implemented as a computer software program, which is tangibly included in a machine-readable medium, such as a storage unit 706. In some embodiments, part or all of the computer program / instructions may be loaded and / or installed on the device 700 via the ROM 702 and / or the communication unit 709. When the computer program / instructions are loaded into the RAM 703 and executed by the computing unit 701, one or more steps of the address management method of the RDMA network card described above may be performed. Alternatively, in other embodiments, the computing unit 701 may be configured to execute the address management method of the RDMA network card in any other appropriate manner (for example, by means of firmware).

[0124] Various implementations of the systems and techniques described above herein can be implemented in digital electronic circuit systems, integrated circuit systems, field programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), application specific standard products (ASSPs), systems on chips (SOCs), load programmable logic devices (CPLDs), computer hardware, firmware, software, and / or combinations thereof. These various implementations can include: being implemented in one or more computer programs / instructions that can be executed and / or interpreted on a programmable system including at least one programmable processor, which can be a special purpose or general purpose programmable processor that can receive data and instructions from a storage system, at least one input device, and at least one output device, and transmit data and instructions to the storage system, the at least one input device, and the at least one output device.

[0125] The program code for implementing the method of the present disclosure may be written in any combination of one or more programming languages. These program codes may be provided to a processor or controller of a general-purpose computer, a special-purpose computer, or other programmable data processing device, so that the program code, when executed by the processor or controller, enables the functions / operations specified in the flow chart and / or block diagram to be implemented. The program code may be executed entirely on the machine, partially on the machine, partially on the machine and partially on a remote machine as a stand-alone software package, or entirely on a remote machine or server.

[0126] In the context of the present disclosure, a machine-readable medium may be a tangible medium that may contain or store a program for use by or in conjunction with an instruction execution system, device, or equipment. A machine-readable medium may be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium may include, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, device, or equipment, or any suitable combination of the foregoing. A more specific example of a machine-readable storage medium may include an electrical connection based on one or more lines, 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), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.

[0127] To provide interaction with a user, the systems and techniques described herein can be implemented on a computer having: a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to the user; and a keyboard and pointing device (e.g., a mouse or trackball) through which the user can provide input to the computer. Other types of devices can also be used to provide interaction with the user; for example, the feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user can be received in any form (including acoustic input, voice input, or tactile input).

[0128] The systems and techniques described herein can be implemented in a computing system that includes backend components (e.g., as a data server), or a computing system that includes middleware components (e.g., an application server), or a computing system that includes frontend components (e.g., a user computer with a graphical user interface or a web browser through which a user can interact with implementations of the systems and techniques described herein), or a computing system that includes any combination of such backend components, middleware components, or frontend components. The components of the system can be interconnected by any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include: a local area network (LAN), a wide area network (WAN), the Internet, and a blockchain network.

[0129] A computer system may include a client and a server. The client and the server are generally remote from each other and usually interact through a communication network. The relationship of client and server is generated by computer programs / instructions running on respective computers and having a client-server relationship with each other. The server may be a cloud server, a server of a distributed system, or a server combined with a blockchain.

[0130] It should be understood that the various forms of processes shown above can be used to reorder, add or delete steps. For example, the steps recorded in the disclosure can be executed in parallel, sequentially or in different orders, as long as the desired results of the technical solutions disclosed in the disclosure can be achieved, and this document does not limit them here.

[0131] The above specific implementations do not constitute a limitation on the protection scope of the present disclosure. It should be understood by those skilled in the art that various modifications, combinations, sub-combinations and substitutions can be made according to design requirements and other factors. Any modification, equivalent substitution and improvement made within the spirit and principle of the present disclosure shall be included in the protection scope of the present disclosure.

Claims

1. A method for managing the address of a remote direct address access (RDMA) network card, characterized in that: The method comprises: Create the basic deployment unit Pod; Deploy virtual network cards of different RDMA network cards in the Pod; Determine a network resource set of the RDMA network card, wherein auxiliary address information allocated to the RDMA network card has been cached in the network resource set; The available auxiliary address information is read from the network resource set of the RDMA network card, and the virtual network card of the RDMA network card is configured based on the available auxiliary address information.

2. The method according to claim 1, wherein: Before creating the basic deployment unit Pod, the following steps are also included: Obtain the auxiliary address information allocated by the cloud server to the RDMA network card; The auxiliary address information is centrally cached in the network resource of the RDMA network card.

3. The method according to claim 2, wherein: Before obtaining the auxiliary address information allocated by the cloud server to the RDMA network card, the method further includes: In response to a new node appearing in the cluster, determining the number of RDMA network cards in the new node; Based on the number of the RDMA network cards, the same number of network resource sets are created, and corresponding network resource sets are initialized for the RDMA network cards.

4. The method according to claim 3, wherein: Initializing a corresponding network resource set for the RDMA network card includes: Determine the identification information of the RDMA network card; Initialize the corresponding network resource set for the RDMA network card according to the identification information of the RDMA network card.

5. The method according to claim 2, wherein: The obtaining the auxiliary address information allocated by the cloud server to the RDMA network card includes: Call the high-performance computing (HPC) interface through the Infrastructure as a Service (Iaas) application program interface (API) to send an address application request to the cloud server; Receive the auxiliary address information allocated to the RDMA network card sent by the cloud server.

6. The method according to any one of claims 1 to 5, wherein: The step of reading available auxiliary address information from the network resource set of the RDMA network card includes: Determine the first auxiliary address information that has been used in the network resource set; Determining, according to the first auxiliary address information, unused second auxiliary address information in the network resource set; One is selected from the second auxiliary address information as the available auxiliary address information.

7. The method according to claim 6, wherein: The centrally caching the auxiliary address information to the network resources of the RDMA network card includes: Determine a first information field of the network resource set, and write the auxiliary address information into the first information field.

8. The method according to claim 7, wherein: The determining the first auxiliary address information that has been used in the network resource set includes: The second information field in the network resource set is read to read the first auxiliary address information from the second information field.

9. The method according to claim 8, wherein: After configuring the virtual network card of the RDMA network card based on the available auxiliary address information, the method further includes: The available auxiliary address information is marked as the first auxiliary address information, and the available auxiliary address information is written into the second information field.

10. The method according to claim 7, wherein: The method further comprises: In response to any one of the auxiliary address information being used, determining the any one of the auxiliary address information as first auxiliary address information that has been used; Writing the first auxiliary address information into a second information field in the network resource set, and deleting the first auxiliary address information from the first information field; One of the second auxiliary address information currently remaining in the first information field is selected as the available auxiliary address information.

11. The method according to claim 6, wherein: The method further comprises: In response to any one of the auxiliary address information being used, determining that the any one of the auxiliary address information is the first auxiliary address information that has been used, and marking a status of the any one of the auxiliary address information; The step of reading available auxiliary address information from the network resource set of the RDMA network card includes: Acquire the status mark of the auxiliary address information in the network resource set; Determining unused second auxiliary address information in the network resource set according to the state mark of the auxiliary address information; One is selected from the second auxiliary address information as the available auxiliary address information.

12. An address management device for remote direct address access (RDMA) network card, characterized in that: The device comprises: Create a module to create the basic deployment unit Pod; A deployment module, used to deploy virtual network cards of different RDMA network cards in the Pod; A determination module, used to determine a network resource set of the RDMA network card, wherein the auxiliary address information allocated to the RDMA network card has been cached in the network resource set; The configuration module is used to read the available auxiliary address information from the network resource set of the RDMA network card, and configure the virtual network card of the RDMA network card based on the available auxiliary address information.

13. The device according to claim 12, wherein: The creation module is also used to: Obtain the auxiliary address information allocated by the cloud server to the RDMA network card; The auxiliary address information is centrally cached in the network resource of the RDMA network card.

14. The device according to claim 13, wherein: The creation module is also used to: In response to a new node appearing in the cluster, determining the number of RDMA network cards in the new node; Based on the number of the RDMA network cards, the same number of network resource sets are created, and corresponding network resource sets are initialized for the RDMA network cards.

15. The device according to claim 14, wherein: The creation module is also used to: Determine the identification information of the RDMA network card; Initialize the corresponding network resource set for the RDMA network card according to the identification information of the RDMA network card.

16. The device according to claim 13, wherein: The creation module is also used to: Call the high-performance computing (HPC) interface through the Infrastructure as a Service (Iaas) application program interface (API) to send an address application request to the cloud server; Receive the auxiliary address information allocated to the RDMA network card sent by the cloud server.

17. The device according to any one of claims 12 to 16, wherein: The configuration module is also used for: Determine the first auxiliary address information that has been used in the network resource set; Determining, according to the first auxiliary address information, unused second auxiliary address information in the network resource set; One is selected from the second auxiliary address information as the available auxiliary address information.

18. The device according to claim 17, wherein: The creation module is also used to: Determine a first information field of the network resource set, and write the auxiliary address information into the first information field.

19. The device according to claim 18, wherein The configuration module is also used for: The second information field in the network resource set is read to read the first auxiliary address information from the second information field.

20. The device according to claim 19, wherein The configuration module is also used for: The available auxiliary address information is marked as the first auxiliary address information, and the available auxiliary address information is written into the second information field.

21. The device according to claim 18, wherein The configuration module is also used for: In response to any one of the auxiliary address information being used, determining the any one of the auxiliary address information as first auxiliary address information that has been used; Writing the first auxiliary address information into a second information field in the network resource set, and deleting the first auxiliary address information from the first information field; One of the second auxiliary address information currently remaining in the first information field is selected as the available auxiliary address information.

22. The device according to claim 17, wherein: The device also includes: In response to any one of the auxiliary address information being used, determining that the any one of the auxiliary address information is the first auxiliary address information that has been used, and marking a status of the any one of the auxiliary address information; The configuration module is also used for: Acquire the status mark of the auxiliary address information in the network resource set; Determining unused second auxiliary address information in the network resource set according to the state mark of the auxiliary address information; One is selected from the second auxiliary address information as the available auxiliary address information.

23. An electronic device, comprising: at least one processor; as well as a memory communicatively connected to the at least one processor; wherein, The memory stores instructions that can be executed by the at least one processor, and the instructions are executed by the at least one processor to enable the at least one processor to perform the method according to any one of claims 1 to 11.

24. A non-transitory computer-readable storage medium storing computer instructions, wherein: The computer instructions are used to cause the computer to execute the method according to any one of claims 1-11.

25. A computer program product comprising a computer program / instructions, characterized in that When the computer program / instructions are executed by a processor, the method according to any one of claims 1 to 11 is implemented.

Citation Information

Cited By

  • Cloud database network communication method and device based on RDMA protocol, equipment and medium

    CN121309582A