A computing node management system and a management method for multiple computing nodes

By introducing a communication channel between centralized unloading nodes and forwarding cards in the computing node management system, the problem of mismatch in resource specifications when designing unloading cards for different computing nodes is solved, and the unified resource management and cost reduction are achieved.

CN115225451BActive Publication Date: 2025-05-02HUAWEI CLOUD COMPUTING TECHNOLOGIES CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202110517965.8
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2021-04-17
Filing Date
2021-05-12
Publication Date
2025-05-02
Estimated Expiration
2041-05-12

AI Technical Summary

Technical Problem

When cloud manufacturers design uninstall cards for different computing nodes, they face the problem of resource specification mismatch, which leads to the surplus of some uninstall cards and other insufficient resources, which increases the burden of design and cost.

Method used

The management system of centralized unloading nodes and adapter cards is adopted. Through the adapter card, a communication channel is established between the computing nodes and the centralized unloading nodes. The centralized unloading node provides resources and management for multiple computing nodes. The adapter card only needs to implement information transfer functions.

Benefits of technology

The resource management uniformity of different computing nodes is realized, reducing the demand for cloud manufacturers to design different resource specifications of forwarding cards for different computing nodes, reducing costs, and ensuring load balancing of computing nodes.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115225451B_ABST
    Figure CN115225451B_ABST
Patent Text Reader

Abstract

The present application provides a computing node management system and a management method for multiple computing nodes, which can reduce the cost required by cloud vendors. The computing node management system of the present application includes: a centralized unloading node and multiple computing nodes, each computing node is inserted with an adapter card, each adapter card is connected to the centralized unloading node, each adapter card establishes a communication channel between the centralized unloading node and the computing node where each adapter card is inserted, and the centralized unloading node is used to provide resources to multiple computing nodes through each communication channel.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] This application claims priority to the Chinese patent application filed with the China Patent Office on April 17, 2021, with application number 202110414830.9 and application name “Computer system based on cloud services”, the entire contents of which are incorporated by reference in this application. Technical Field

[0002] The present application relates to the field of cloud technology, and in particular to a computing node management system and a management method for multiple computing nodes. Background Art

[0003] With the rapid development of cloud technology, cloud vendors have begun to turn to hardware research and development. Based on this, the era of cloud vendors defining cloud hardware has begun. Specifically, by inserting an offload card (such as a smart card, etc.) on the computing node (server) running the cloud instance, the cloud management functions that the computing node is responsible for can be offloaded to the offload card, thereby reducing the load on the computing node.

[0004] For multiple computing nodes in the same chassis, each computing node is plugged with an offload card, which manages the cloud instances running on the computing node. However, the loads on different computing nodes (for example, the number of running cloud instances) are different, and the resource specifications of the offload cards customized by cloud vendors for these computing nodes are usually the same, which may cause different offload cards on different computing nodes to be busy or idle at different times, and some offload cards may have surplus resources, while some offload cards may have insufficient resources.

[0005] Therefore, when the above situation occurs, cloud vendors can design offload cards with different resource specifications for different computing nodes, but the cost is huge. Summary of the invention

[0006] The embodiments of the present application provide a computing node management system and a management method for multiple computing nodes, which can reduce the costs required by cloud vendors.

[0007] A first aspect of an embodiment of the present application provides a computing node management system, the system comprising: a centralized unloading node and multiple computing nodes, each computing node being equipped with an adapter card, each adapter card being respectively connected to the centralized unloading node, and each adapter card establishing a communication channel between the centralized unloading node and the computing node in which each adapter card is inserted, that is, each adapter card can serve as a communication channel between the centralized unloading node and the computing node in which each adapter card is inserted.

[0008] For any computing node, the adapter card can build a communication channel between the computing node and the centralized offloading node. The centralized offloading node can provide resources for the computing node through the communication channel between the computing node and the centralized offloading node. That is, the adapter card only needs to build a communication channel between the computing node and the centralized offloading node to realize the function of information transfer. The resource specifications of the universal adapter card formulated by the cloud vendor are sufficient to support this relatively simple function. It can be seen that in this solution, even if the loads of different computing nodes are different, the resource specifications of the adapter cards inserted in different computing nodes can be the same, and the cloud vendor does not need to design adapter cards with different resource specifications for different computing nodes.

[0009] In one possible implementation, each communication channel includes an external node sub-communication channel and an internal node sub-communication channel. The external node sub-communication channel is set between each adapter card and the centralized unloading node, and the internal node sub-communication channel is set between each adapter card and the computing node in which each adapter card is inserted.

[0010] In a possible implementation, the resources allocated by the centralized offloading node include storage resources, and the centralized offloading node is connected to a storage device that provides storage resources. For example, the storage device can be integrated inside the centralized offloading node. For another example, the storage device can be connected to the centralized offloading node through a disk interface, a serial advanced technology attachment (SATA) interface, an integrated drive electronics (IDE) interface, etc. For another example, the storage device and the offloading node are remotely connected through a network. A first adapter card among multiple adapter cards is deployed with a first virtualization device, and a first cloud instance in a first computing node in which the first adapter card is inserted is bound to the first virtualization device (for example, the operating system of the first adapter card mounts the virtual function of the first adapter card into the operating system of the first cloud instance). The centralized offloading node allocates storage resources in the storage device connected to itself to the first virtualization device through a sub-communication channel outside the first node, and the first cloud instance accesses the first virtualization device allocated with storage resources through a sub-communication channel inside the first node. In the aforementioned implementation, the first adapter card inserted into the first computing node is deployed with a first virtualization device, the first cloud instance on the first computing node is bound to the first virtualization device, the first cloud instance communicates with the first virtualization device through the first node internal sub-communication channel, and the first virtualization device communicates with the centralized offloading node through the first node external sub-communication channel. Therefore, the centralized offloading node can allocate storage resources in the storage device connected to itself to the first virtualization device, so that the first cloud instance uses the storage resources through the first virtualization device.

[0011] In a possible implementation, the storage device may be, for example, a disk, and the storage resource may be, for example, a logical disk in the disk.

[0012] In a possible implementation, the centralized offloading node is also used to forward input / output (IO) requests between the storage device and the first cloud instance. In the aforementioned implementation, when the first cloud instance of the first computing node needs to implement the operation of reading and writing data, a corresponding IO request can be generated, and the IO request can be sent to the centralized offloading node through the first adapter card inserted in the first computing node. Then, the centralized offloading node sends the IO request to the storage device, so that the storage device implements the data reading and writing operation according to the IO request.

[0013] In a possible implementation, the centralized offloading node is also used to process the IO request, and the processing includes at least one of the following: data encryption and decryption, data verification, data transmission speed control, and data service quality control. In the aforementioned implementation, the centralized offloading node can also implement information processing functions. Specifically, the centralized offloading node can perform operations such as data encryption and decryption, data verification, data transmission speed control, and data service quality control on the IO request it forwards, thereby improving the security and reliability of information transmission and ensuring end-to-end communication quality.

[0014] In a possible implementation, the resources allocated by the centralized offloading node include computing resources, the centralized offloading node is connected to a computing device that provides computing resources, a second adapter card among the multiple adapter cards is deployed with a second virtualized device, a second cloud instance in a second computing node in which the second adapter card is inserted is bound to the second virtualized device, the centralized offloading node allocates computing resources of a computing device connected to itself to the second virtualized device through a second node external sub-communication channel, and the second cloud instance accesses the second virtualized device allocated with computing resources through a second node internal sub-communication channel. In the aforementioned implementation, a second adapter card inserted in the second computing node is deployed with a second virtualized device, a second cloud instance on the second computing node is bound to the second virtualized device, the second cloud instance communicates with the second virtualized device through a second node internal sub-communication channel, and the second virtualized device communicates with the centralized offloading node through a second node external sub-communication channel, therefore, the centralized offloading node can allocate computing resources in a computing device connected to itself to the second virtualized device, so that the second cloud instance uses computing resources through the second virtualized device.

[0015] In one possible implementation, the computing device is a processor for heterogeneous computing, for example, a graphics processing unit (GPU) for image rendering or machine learning, a tensor processing unit (TPU), a field programmable gate array (FPGA) for implementing specific functions, an encryption card, a decryption card or a universal serial bus (USB) device, etc. The computing resources may be, for example, the computing power provided by these devices.

[0016] In a possible implementation, the resources allocated by the centralized offloading node include network resources, the centralized offloading node is connected to a network device that provides network resources, a third adapter card among the multiple adapter cards is deployed with a third virtualized device, a third cloud instance in a third computing node in which the third adapter card is inserted is bound to the third virtualized device, the centralized offloading node allocates network resources of the network device connected to itself to the third virtualized device through a third node external sub-communication channel, and the third cloud instance accesses the third virtualized device allocated with network resources through a third node internal sub-communication channel. In the aforementioned implementation, a third adapter card inserted in the third computing node is deployed with a third virtualized device, a third cloud instance on the third computing node is bound to the third virtualized device, the third cloud instance communicates with the third virtualized device through a third node internal sub-communication channel, and the third virtualized device communicates with the centralized offloading node through a third node external sub-communication channel, therefore, the centralized offloading node can allocate network resources in the network device connected to itself to the third virtualized device, so that the third cloud instance uses network resources through the third virtualized device.

[0017] In a possible implementation, the network device is, for example, a gateway, a network card, a router, etc., and the network resource may be, for example, a network function provided in the gateway, the network card, or the router. The gateway may be a domain name system (DNS) gateway, a network address translation (NAT) gateway, a load balancing gateway, etc.

[0018] Optionally, the computing device and the network device may also be integrated inside the centralized offloading node.

[0019] In a possible implementation, the centralized offloading node is also used to forward network messages between the network device and the third cloud instance. In the aforementioned implementation, the centralized offloading node is also connected to the network device. When the third cloud instance of the third computing node needs to communicate with the external network, a corresponding network message can be generated and sent to the centralized offloading node through a third adapter card inserted in the third computing node. Then, the centralized offloading node sends the network message to the network device, so that the network device sends the network message to the external network, and the response message can be returned to the third cloud instance of the third computing node along the original path via the centralized offloading node.

[0020] In one possible implementation, the centralized offloading node is also used to forward network messages between cloud instances on multiple computing nodes. In the aforementioned implementation, the centralized offloading node can serve as a communication bridge between cloud instances on multiple computing nodes, forwarding network messages between cloud instances to enable communication between cloud instances on different computing nodes.

[0021] In a possible implementation, the centralized offloading node is also used to process network messages, and the processing includes at least one of the following: data encryption and decryption, data verification, data transmission speed control, and data service quality control. In the aforementioned implementation, the centralized offloading node can also implement information processing functions. Specifically, the centralized offloading node can perform operations such as data encryption and decryption, data verification, data transmission speed control, and data service quality control on the network messages it forwards, thereby improving the security and reliability of information transmission and ensuring end-to-end communication quality.

[0022] In a possible implementation, the centralized offloading node is specifically used to manage cloud instances on multiple computing nodes through a communication channel. In the aforementioned implementation, the centralized offloading node can perform the following cloud instance management operations: notify the computing node to create a cloud instance, notify the computing node to release a cloud instance, notify the computing node to migrate a cloud instance, and notify the computing node to monitor the status of the cloud instance.

[0023] In a possible implementation, the resources allocated by the centralized offloading node include storage resources, and the centralized offloading node is connected to a storage device that provides storage resources. For example, the storage device can be integrated inside the centralized offloading node. For another example, the storage device can be connected to the centralized offloading node through a disk interface, a SATA interface, an IDE interface, etc. For another example, the storage device and the offloading node are remotely connected through a network. The first adapter card among the multiple adapter cards is deployed with a first virtualization device, and the first computing node in which the first adapter card is inserted is bound to the first virtualization device. The centralized offloading node allocates the storage resources of the storage device connected to itself to the first virtualization device through the first node external sub-communication channel, and the first computing node accesses the first virtualization device allocated with storage resources through the first node internal sub-communication channel. In the aforementioned implementation, the first adapter card inserted into the first computing node is deployed with a first virtualization device, the first computing node is bound to the first virtualization device, the first computing node communicates with the first virtualization device through the first node internal sub-communication channel, and the first virtualization device communicates with the centralized offloading node through the first node external sub-communication channel. Therefore, the centralized offloading node can allocate storage resources in the storage device connected to itself to the first virtualization device, so that the first computing node uses the storage resources through the first virtualization device.

[0024] In a possible implementation, the storage device may be, for example, a disk, and the storage resource may be, for example, a logical disk in the disk.

[0025] In a possible implementation, the centralized offloading node is also used to forward IO requests between the storage device and the first computing node. In the aforementioned implementation, when the first computing node needs to implement the operation of reading and writing data, it can generate a corresponding IO request and send the IO request to the centralized offloading node through the first adapter card inserted in the first computing node. Then, the centralized offloading node sends the IO request to the storage device, so that the storage device implements the data reading and writing operation according to the IO request.

[0026] In a possible implementation, the centralized offloading node is also used to process the IO request, and the processing includes at least one of the following: data encryption and decryption, data verification, data transmission speed control, and data service quality control. Specifically, the centralized offloading node can perform operations such as data encryption and decryption, data verification, data transmission speed control, and data service quality control on the IO request it forwards, thereby improving the security and reliability of information transmission and ensuring end-to-end communication quality.

[0027] In one possible implementation, the resources include computing resources, the centralized offloading node is connected to a computing device that provides computing resources, a second adapter card among the multiple adapter cards is deployed with a second virtualization device, a second computing node with the second adapter card inserted is bound to the second virtualization device, the centralized offloading node allocates computing resources of the computing device connected to itself to the second virtualization device through a second node external sub-channel, and the second computing node accesses the second virtualization device allocated with computing resources through a second node internal sub-communication channel. In the aforementioned implementation, the second adapter card inserted on the second computing node is deployed with a second virtualization device, the second computing node is bound to the second virtualization device, the second computing node communicates with the second virtualization device through the second node internal sub-communication channel, and the second virtualization device communicates with the centralized offloading node through the second node external sub-communication channel, therefore, the centralized offloading node can allocate computing resources in the computing device connected to itself to the second virtualization device, so that the second computing node uses the computing resources through the second virtualization device.

[0028] In one possible implementation, the computing device is a processor for heterogeneous computing, such as a GPU, a TPU for image rendering or machine learning, an FPGA for implementing specific functions, an encryption card, a decryption card or a USB device, etc. The computing resources may be, for example, the computing power provided by these devices.

[0029] In a possible implementation, the resources include network resources, the centralized offloading node is connected to a network device that provides network resources, a third adapter card among the multiple adapter cards is deployed with a third virtualized device, a third computing node with the third adapter card inserted is bound to the third virtualized device, the centralized offloading node allocates network resources of the network device connected to itself to the third virtualized device through a third node external sub-channel, and the third computing node accesses the second virtualized device allocated with network resources through a third node internal sub-communication channel. In the aforementioned implementation, a third adapter card inserted on the third computing node is deployed with a third virtualized device, the third computing node is bound to the third virtualized device, the third computing node communicates with the third virtualized device through a third node internal sub-communication channel, and the third virtualized device communicates with the centralized offloading node through a third node external sub-communication channel, therefore, the centralized offloading node can allocate network resources in the network device connected to itself to the third virtualized device, so that the third computing node uses the network resources through the third virtualized device.

[0030] In a possible implementation, the network device is, for example, a gateway, a network card, a router, etc., and the network resource may be, for example, a network function provided in the gateway, the network card or the router. The gateway may be a DNS gateway, a NAT gateway, a load balancing gateway, etc.

[0031] In a possible implementation, the centralized unloading node is also used to forward network messages between the network device and the third computing node. In the aforementioned implementation, the centralized unloading node is also connected to the network device. When the third computing node needs to communicate with the external network, it can generate a corresponding network message and send the network message to the centralized unloading node through a third adapter card inserted in the third computing node. Then, the centralized unloading node sends the network message to the network device, so that the network device sends the network message to the external network, and the response message can be returned to the third computing node along the original path via the centralized unloading node.

[0032] In a possible implementation, the centralized offloading node is also used to forward network messages between multiple computing nodes. In the aforementioned implementation, the centralized offloading node can serve as a communication bridge between multiple computing nodes, forwarding network messages between computing nodes to enable communication between different computing nodes.

[0033] In a possible implementation, the centralized offloading node is also used to process network messages, and the processing includes at least one of the following: data encryption and decryption, data verification, data transmission speed control, and data service quality control. In the aforementioned implementation, the centralized offloading node can also implement information processing functions. Specifically, the centralized offloading node can perform operations such as data encryption and decryption, data verification, data transmission speed control, and data service quality control on the network messages it forwards, thereby improving the security and reliability of information transmission and ensuring end-to-end communication quality.

[0034] In a possible implementation, the centralized offloading node is specifically used to manage multiple computing nodes through a communication channel.

[0035] In one possible implementation, the node external sub-communication channel is implemented through a high-speed communication bus, and the high-speed communication bus is any one of the following: a high-speed serial computer expansion bus standard (Peripheral Component Interconnect Express, PCIE) bus, a serializer / deserializer (SERDES) bus, a remote direct memory access over converged Ethernet (RoCE) bus, and a remote direct memory access (RDMA) bus.

[0036] In a possible implementation, the intra-node sub-communication channel is implemented through a PCIE bus.

[0037] In a possible implementation, the cloud service system may include at least one chassis, each chassis including a group of computing nodes, and at least one centralized offloading node for managing the group of computing nodes.

[0038] In a possible implementation, the cloud service system may include multiple chassis, each chassis includes a group of computing nodes, and each group of computing nodes is managed by the same centralized offloading node.

[0039] In a possible implementation, the centralized offloading node is a server or an offloading card.

[0040] In a possible implementation, the cloud instance is a virtual machine or a container.

[0041] A second aspect of an embodiment of the present application provides a management method for multiple computing nodes, characterized in that the method is applied to a centralized unloading node, wherein each of the multiple computing nodes is inserted with an adapter card, each adapter card is respectively connected to the centralized unloading node, and each adapter card establishes a communication channel between the centralized unloading node and the computing node in which each adapter card is inserted, and the method includes: the centralized unloading node provides resources for the multiple computing nodes through the communication channel; the centralized unloading node manages the multiple computing nodes respectively through the communication channel.

[0042] The computing node management system used to implement the above method includes a centralized unloading node and multiple computing nodes. Among them, each computing node is inserted with an adapter card, each computing node is inserted with an adapter card, each adapter card is connected to the centralized unloading node respectively, and each adapter card establishes a communication channel between the centralized unloading node and the computing node where each adapter card is inserted. For any computing node, the centralized unloading node can provide resources for running on the computing node and manage the computing node through the adapter card inserted in the computing node. It can be seen that the adapter card only needs to build a communication channel between the computing node and the centralized unloading node, and the adapter card only needs to realize the function of information transfer. Therefore, when the loads on different computing nodes are different, even if the resource specifications of the adapter cards inserted in different computing nodes are the same, the functions that each adapter card needs to realize can be fully supported. Cloud vendors do not need to design adapter cards with different resource specifications for different computing nodes, which is conducive to reducing costs.

[0043] In one possible implementation, the communication channel includes an external node sub-communication channel and an internal node sub-communication channel. The external node sub-communication channel is set between each adapter card and the centralized unloading node, and the internal node sub-communication channel is set between each adapter card and the computing node in which each adapter card is inserted.

[0044] In one possible implementation, the resources allocated by the centralized offloading node include storage resources, the centralized offloading node is connected to a storage device that provides storage resources, a first adapter card among multiple adapter cards is deployed with a first virtualization device, a first computing node in which the first adapter card is inserted or a first cloud instance running on the first computing node is bound to the first virtualization device through a sub-communication channel within the first node, and the centralized offloading node provides resources to multiple computing nodes through a communication channel, including: the centralized offloading node allocates storage resources of a storage device connected to itself to the first virtualization device through a sub-communication channel outside the first node.

[0045] In a possible implementation, the method further includes: the centralized offloading node forwarding the IO request between the storage device and the first cloud instance.

[0046] In a possible implementation, the method further includes: the centralized offloading node forwarding the IO request between the storage device and the first computing node.

[0047] In a possible implementation, the method further includes: the centralized offloading node processes the IO request, and the processing includes at least one of the following: data encryption and decryption, data verification, data transmission speed control, and data service quality control.

[0048] In one possible implementation, the resources allocated by the centralized offloading node include computing resources, the centralized offloading node is connected to a computing device that provides computing resources, a second adapter card among multiple adapter cards is deployed with a second virtualization device, a second computing node with the second adapter card inserted or a second cloud instance running on the second computing node is bound to the second virtualization device through a sub-communication channel within the second node, and the centralized offloading node provides resources to multiple computing nodes through a communication channel, including: the centralized offloading node allocates computing resources of a computing device connected to itself to the second virtualization device through a sub-communication channel outside the second node.

[0049] In one possible implementation, the resources allocated by the centralized offloading node include network resources, the centralized offloading node is connected to a network device that provides network resources, a third adapter card among multiple adapter cards is deployed with a third virtualization device, a third computing node with the third adapter card inserted or a third cloud instance running on the third computing node is bound to the third virtualization device through a sub-communication channel within the third node, and the centralized offloading node provides resources to multiple computing nodes through the communication channel, including: the centralized offloading node allocates network resources of the network device connected to itself to the third virtualization device through a sub-communication channel outside the third node.

[0050] In a possible implementation, the method further includes: a centralized offloading node forwarding network packets between the network device and the third cloud instance.

[0051] In a possible implementation manner, the method further includes: the centralized offloading node forwarding network messages between the network device and the third computing node.

[0052] In a possible implementation, the method further includes: a centralized offloading node forwarding network messages between cloud instances on multiple computing nodes.

[0053] In a possible implementation manner, the method further includes: a centralized offloading node forwarding network messages between multiple computing nodes.

[0054] In a possible implementation, the method further includes: the centralized offloading node processes the network message, and the processing includes at least one of the following: data encryption and decryption, data verification, data transmission speed control, and data service quality control.

[0055] In a possible implementation, the node external sub-communication channel is implemented through a high-speed communication bus, and the high-speed communication bus is any one of the following: PCIE bus, SERDES bus, RoCE bus, and RDMA bus.

[0056] In a possible implementation, the intra-node sub-communication channel is implemented through a PCIE bus.

[0057] In a possible implementation, the cloud service system may include at least one chassis, each chassis including a group of computing nodes, and at least one centralized offloading node for managing the group of computing nodes.

[0058] In a possible implementation, the cloud service system may include multiple chassis, each chassis includes a group of computing nodes, and each group of computing nodes is managed by the same centralized offloading node.

[0059] In a possible implementation, the centralized offloading node is a server or an offloading card.

[0060] In a possible implementation, the cloud instance is a virtual machine or a container.

[0061] A third aspect of an embodiment of the present application provides a centralized offloading node, the centralized offloading node comprising a memory and a processor;

[0062] The memory stores codes, and the processor is configured to execute the codes. When the codes are executed, the centralized offloading node executes the method as described in the second aspect or any possible implementation manner of the second aspect.

[0063] A fourth aspect of an embodiment of the present application provides a computer storage medium, which stores a computer program. When the program is executed by a computer, the computer implements the method described in the second aspect and any possible implementation method of the second aspect.

[0064] A fifth aspect of the embodiments of the present application provides a computer program product, which stores instructions. When the instructions are executed by a computer, the computer implements the method described in the second aspect or any possible implementation method of the second aspect.

[0065] In an embodiment of the present application, the computing node management system includes a centralized unloading node and multiple computing nodes. Among them, each computing node is inserted with an adapter card, each computing node is inserted with an adapter card, each adapter card is connected to the centralized unloading node respectively, and each adapter card establishes a communication channel between the centralized unloading node and the computing node where each adapter card is inserted. For any computing node, the centralized unloading node can provide resources for running on the computing node and manage the computing node through the adapter card inserted in the computing node. It can be seen that the adapter card only needs to build a communication channel between the computing node and the centralized unloading node, and the adapter card only needs to realize the function of information transfer. Therefore, when the loads on different computing nodes are different, even if the resource specifications of the adapter cards inserted in different computing nodes are the same, the functions that each adapter card needs to realize can be fully supported. Cloud vendors do not need to design adapter cards with different resource specifications for different computing nodes, which is conducive to reducing costs. BRIEF DESCRIPTION OF THE DRAWINGS

[0066] Figure 1 A schematic diagram of a computing node management system in the related art;

[0067] FIG. 2( a) is a schematic diagram of a computing node management system provided in an embodiment of the present application;

[0068] FIG2( b ) is another schematic diagram of the structure of a computing node management system provided in an embodiment of the present application;

[0069] Figure 3 Another structural diagram of a computing node management system provided in an embodiment of the present application;

[0070] Figure 4 Another structural diagram of a computing node management system provided in an embodiment of the present application;

[0071] Figure 5 A schematic diagram of a flow chart of a management method for multiple computing nodes provided in an embodiment of the present application;

[0072] Figure 6 A schematic diagram of the structure of a centralized unloading node provided in an embodiment of the present application;

[0073] Figure 7 Another structural schematic diagram of a centralized offloading node provided in an embodiment of the present application. DETAILED DESCRIPTION

[0074] The embodiments of the present application provide a computing node management system and a management method for multiple computing nodes, which can reduce the costs required by cloud vendors.

[0075] The terms "first", "second", etc. in the specification and claims of the present application and the above-mentioned drawings are used to distinguish similar objects, and need not be used to describe a specific order or sequential order. It should be understood that the terms used in this way can be interchangeable under appropriate circumstances, which is only to describe the distinction mode adopted by the objects of the same attributes when describing in the embodiments of the present application. In addition, the terms "including" and "having" and any of their variations are intended to cover non-exclusive inclusions, so that the process, method, system, product or equipment comprising a series of units need not be limited to those units, but may include other units that are not clearly listed or inherent to these processes, methods, products or equipment.

[0076] The embodiments of the present application can be applied to a computing node management system. Currently, in a computing node management system, cloud vendors can insert an offload card on a computing node (i.e., a physical server) running a cloud instance, so that the offload card can replace the computing node to implement cloud management, that is, the offload card replaces the computing node to manage the cloud instance on the computing node, thereby reducing the load on the computing node.

[0077] like Figure 1 As shown ( Figure 1 is a structural diagram of a computing node management system in the related art), in a certain machine frame of the computing node management system, multiple computing nodes are deployed. Each computing node is inserted with an offload card, and the offload card manages the cloud instance running on the computing node. However, the loads on different computing nodes (for example, the number of running cloud instances, the business capacity of the cloud instance, etc.) are different, and the resource specifications of the offload cards customized by the cloud vendor for these computing nodes are usually the same, which may cause different offload cards on different computing nodes to be busy or idle at different times, and some offload cards may have surplus resources, while some offload cards may have insufficient resources.

[0078] Therefore, when the above situation occurs, cloud vendors can design unloading cards with different resource specifications for different computing nodes, but the cost required is huge. In order to solve this problem, an embodiment of the present application provides a new computing node management system. Figure 2(a) is a structural schematic diagram of the computing node management system provided by an embodiment of the present application, and Figure 2(b) is a structural schematic diagram of the computing node management system provided by an embodiment of the present application. As shown in Figures 2(a) and 2(b), the system includes: computing nodes, adapter cards, and centralized unloading nodes. The following will briefly introduce the computing nodes, adapter cards, and centralized unloading nodes respectively:

[0079] Computing nodes are usually deployed with at least one cloud instance to provide business services for users with cloud service needs. Computing nodes generally refer to physical servers. The cloud instances of computing nodes can be virtual machines (VMs) on physical servers, containers (docker) on physical servers, and so on. In addition, computing nodes can also provide cloud services to users with cloud service needs (such as public cloud tenants or private cloud users) in the form of bare metal (also called bare metal servers, i.e., computing nodes themselves) without deploying cloud instances. In a computing node management system, a data center can contain multiple machine frames, each of which can be equipped with multiple computing nodes. The computing nodes in the same machine frame are usually considered to be a group of computing nodes.

[0080] The adapter card can be presented in the form of a heterogeneous card, for example, a simplified smart card, a graphics processing unit (GPU), a network interface controller (NIC), etc. The adapter card can also be presented by integrating forwarding functions and virtualization functions, such as a board with a single-root I / O virtualization (SRIOV) function. For example, an unloading card can be formed by embedding a chip on the motherboard, and the chip can be an application specific integrated circuit (ASIC) or a field programmable gate array (FPGA), etc. The adapter card has interfaces on both sides, so that it is set between the computing node and the centralized unloading node, that is, one side of the adapter card is connected to the computing node, and the other side of the adapter card is connected to the centralized unloading node. In this way, the adapter card can serve as a communication bridge (communication channel) between the computing node and the centralized unloading node, thereby realizing information interaction between the computing node and the centralized unloading node.

[0081] Specifically, the adapter card can support the SRIOV function, that is, the adapter card can create a virtualized device, including at least one physical function (PF) and multiple virtual functions (VF). For example, the adapter card can create various types of virtualized devices such as virtio-gpu, virtio-blk, virtio-scsi, virtio-net, virtio-vsock and virtio-fs based on the virtio protocol, and bind these virtualized devices to the cloud instance (or computing node) of the computing node, so that the virtualized device serves as a virtual IO interface between the cloud instance (or computing node) of the computing node and the centralized offloading node, thereby realizing the communication between the cloud instance (or computing node) of the computing node and the centralized offloading node.

[0082] The centralized offloading node can be a physical server, for example, a server based on the X86 architecture or a server based on the ARM architecture, etc. The centralized offloading node can also be an independent embedded hardware customized by the cloud vendor, for example, an offloading card that can provide network, storage, and computing resources, etc. The centralized offloading node can provide network, storage, and computing resources to the virtualization device of the adapter card. The cloud instance of the computing node (or computing node) can use the virtualization device, so the centralized offloading node can provide computing, network, and storage resources for the cloud instance of the computing node (or computing node), thereby realizing network message processing, IO forwarding, cloud storage, information processing, and other functions.

[0083] To further understand the relationship between computing nodes, adapter cards, and centralized offloading nodes, Figure 3 The relationship between the computing nodes, adapter cards, and centralized offloading nodes is further introduced. To facilitate the introduction of the relationship between the computing nodes, adapter cards, and centralized offloading nodes, the following will provide a schematic illustration of a cloud instance deployed on the computing node. If the computing node is presented in a bare metal form, the relationship between the computing node, adapter card, and centralized offloading node is similar and will not be repeated later.

[0084] Figure 3 Another structural diagram of the computing node management system provided in the embodiment of the present application, it should be noted that: Figure 3 The example shown is obtained by expanding the example shown in Figure 2(b). Figure 3As shown, in a certain frame of the computing node management system, a centralized unloading node and multiple computing nodes are included, each computing node is inserted with an adapter card, each adapter card is connected to the centralized unloading node, and each adapter card establishes a communication channel between the centralized unloading node and the computing node where each adapter card is inserted. The communication channel includes an intra-node sub-communication channel between each adapter card and the computing node where each adapter card is inserted, and an extra-node sub-communication channel between each adapter card and the centralized unloading node, that is, for any adapter card, the adapter card can be used as a communication channel between the centralized unloading node and the computing node where the adapter card is inserted. For the convenience of explanation, the following is a schematic explanation using the example shown in Figure 2(b). As shown in Figure 2(b), suppose a certain machine frame includes a computing node 1 with an adapter card 1 inserted, a computing node 2 with an adapter card 2 inserted, and a centralized offloading node 1. The adapter card 1 can be used as a communication channel between the computing node 1 and the centralized offloading node 1, and the adapter card 2 can be used as a communication channel between the computing node 2 and the centralized offloading node 1, that is, the centralized offloading node 1 can communicate with the computing node 1 through the adapter card 1, and the centralized offloading node 1 can communicate with the computing node 2 through the adapter card 2.

[0085] Specifically, for any computing node, the computing node has a PCIE interface, and the adapter card assigned to the computing node also has a PCIE interface. Therefore, the PCIE interface of the computing node is connected to the PCIE interface of the adapter card assigned to the computing node, and the PCIE interfaces of the two constitute the aforementioned intra-node sub-communication channel, which is equivalent to inserting the adapter card assigned to the computing node into the computing node, thereby realizing the communication connection between the two.

[0086] Furthermore, for any computing node, the adapter card inserted in the computing node can be connected to the centralized unloading node through a high-speed communication bus. In Figure 2(a), the high-speed communication bus is implemented by a switch supporting the high-speed communication bus. The switch is provided with multiple high-speed communication bus interfaces, which are respectively connected to the high-speed communication bus interfaces of multiple adapter cards and the high-speed communication bus interfaces of the centralized unloading node. For example, when the high-speed communication bus is a PCIE bus, the switch is a PCIE switch, and when the high-speed communication bus is an RDMA bus, the switch is an infinite bandwidth (IB) switch. The switch can internally implement a communication channel between the centralized unloading node and the adapter card.

[0087] Figure 2(a) is a specific implementation of Figure 2(b). In Figure 2(b), the function of the switch can be integrated into the centralized unloading node. In this case, multiple high-speed communication bus interfaces are set on the centralized unloading node, and the adapter can be directly connected to a high-speed communication bus interface of the centralized unloading node through its own high-speed communication bus interface.

[0088] The high-speed communication bus interface is, for example, a PCIE bus interface, a SERDES bus interface, a remote direct memory access over converged Ethernet (RoCE) bus interface, or a remote direct memory access (RDMA) bus interface.

[0089] Furthermore, for any computing node, the adapter card inserted in the computing node is deployed with virtualization devices, and these virtualization devices are bound to the cloud instance of the computing node. Therefore, the cloud instance of the computing node can communicate with the centralized offloading node through the virtualization device of the adapter card inserted in the computing node. Still as in the above example, as shown in Figure 2(b), in the machine frame, computing node 1 is deployed with virtual machine 1, computing node 2 is deployed with virtual machine 2, adapter card 1 is deployed with virtualization device 1, virtualization device 2 and virtualization device 3, and adapter card 2 is deployed with virtualization device 4, wherein virtualization device 1, virtualization device 2, virtualization device 3 are all bound to virtual machine 1, and virtualization device 4 is bound to virtual machine 2. Then, virtual machine 1 can communicate with centralized offloading node 1 through any one of virtualization devices 1, virtualization device 2, and virtualization device 3, and virtual machine 2 can communicate with centralized offloading node 1 through virtualization device 4.

[0090] Since the centralized offloading node can communicate with the computing node through the adapter card inserted in each computing node, the centralized offloading node can implement the following functions for multiple computing nodes:

[0091] (1) The centralized offloading node can realize the cloud instance management function, that is, manage the cloud instance running on the computing node through the adapter card inserted in each computing node. Specifically, the centralized offloading node is deployed with a control plane for managing multiple computing nodes. The staff or tenants of the cloud vendor can input relevant instructions to the control plane so that the centralized offloading node can create, release, migrate or monitor the cloud instance running on the computing node through the adapter card inserted in each computing node, thereby realizing the management of the cloud instance of each computing node. Still as in the above example, as shown in Figure 2(b), the centralized offloading node 1 can monitor the virtual machine 1 of the computing node 1 in real time through the virtualization device 1 of the adapter card 1 (which can also be the virtualization device 2 or the virtualization device 3), thereby determining the running status of the virtual machine 1.

[0092] (2) The centralized offloading node can also realize the forwarding function. Figure 3 As shown ( Figure 3Another structural diagram of the computing node management system provided in an embodiment of the present application), a certain frame of the computing node management system also includes a network device for accessing the network (for example, routers, switches and other devices), and the centralized offloading node is connected to the network device. When the cloud instance of a computing node needs to communicate with the external network, a corresponding network message can be generated first, and the network message can be sent to the centralized offloading node through an adapter card inserted in the computing node. Then, the centralized offloading node sends the network message to the network device, so that the network device sends the network message to the external network for processing. Still as in the above example, as shown in Figure 2(b), it is assumed that the frame also includes a network device 1. Virtual machine 1 can send a network message to centralized offloading node 1 through virtualization device 1. Then, centralized offloading node 1 can forward the network message to network device 1, so that network device 1 sends the network message to the external network for processing.

[0093] Furthermore, in the computing node management system, the composition of different frames is usually similar (that is, each frame contains computing nodes, centralized offloading nodes and network devices), and communication connections can be established between network devices of different frames. Therefore, network devices and centralized offloading nodes of different frames can be used to forward network messages between cloud instances of computing nodes in different frames, so that these cloud instances can also communicate with each other. Still as in the above example, as shown in Figure 2(b) and Figure 3 As shown, the frame includes a computing node 1 with an adapter card 1 inserted, a centralized offloading node 1 and a network device 1, and another frame includes a computing node 7 with an adapter card 7 inserted, a centralized offloading node 2 and a network device 2. Then, when the virtual machine 1 of the computing node 1 needs to communicate with the virtual machine 7 of the computing node 7, a network message can be sent to the centralized offloading node 1 through the virtualization device 1. Then, the centralized offloading node 1 sends the network message to the network device 1, so that the network device 1 sends the network message to the network device 2. Then, the network device 2 can send the network message to the centralized offloading node 2, so that the centralized offloading node 2 sends the network message to the virtual machine 7 through the virtualization device 7 of the adapter card 7 for processing.

[0094] Furthermore, in a certain frame, the centralized offloading node can also be used to forward network messages between cloud instances of different computing nodes in the frame, so that cloud instances of different computing nodes in the frame can also communicate with each other. Still as in the above example, as shown in Figure 2(b), in the frame, when virtual machine 1 of computing node 1 needs to communicate with virtual machine 2 of computing node 2, network messages can be sent to centralized offloading node 1 through virtualization device 1. Then, centralized offloading node 1 sends the network message to virtualization device 4, so that virtualization device 4 sends the network message to virtual machine 2 for processing.

[0095] (3) The centralized offloading node can also realize the cloud storage function. A certain frame of the computing node management system also includes a storage device for storing data (for example, a server, hard disk, disk and other devices deployed with a cloud hard disk), and the centralized offloading node is connected to the storage device. When the cloud instance of a computing node needs to write data to the storage device (or read data from the storage device), it can first generate a corresponding IO request and send the IO request to the centralized offloading node through the adapter card inserted in the computing node. Then, the centralized offloading node sends the IO request to the storage device so that the storage device writes data (or reads data) according to the IO request.

[0096] Furthermore, the centralized offloading node is not only connected to storage resources and network resources, but also to computing resources and other resources. Among them, the storage resources can be at least one physical function (physical function, PF) and multiple virtual functions (virtual function, VF) created by the aforementioned storage device based on the SRIVO function, the network resources can be at least one PF and multiple VFs created by the aforementioned network device based on the SRIVO function, and the computing resources can be GPU, TPU for image rendering or machine learning, FPGA for implementing specific functions, encryption card, decryption card or USB device and other computing devices for heterogeneous computing based on the SRIVO function. Then, the centralized offloading node can allocate part of these resources to certain virtualized devices of a certain adapter card through the node external sub-communication channel, and the cloud instances bound to these virtualized devices can use the resources allocated to these virtualized devices after accessing these virtualized devices through the node internal sub-communication channel. Still as in the above example, as shown in FIG2(b), in the machine frame, the centralized offloading node 1 is not only connected to the network device 1, but also connected to the storage device 1 and the computing device 1, and the network device 1, the storage device 1 and the computing device 1 have multiple VFs. The centralized offloading node 1 can allocate a part of the VFs of the network device 1 to the virtualization device 1 through the node-external sub-communication channel 1 between the centralized offloading node 1 and the adapter card 1, and the centralized offloading node 1 can also allocate a part of the VFs of the storage device 1 to the virtualization device 2 through the node-external sub-communication channel 1, and the centralized offloading node 1 can also allocate a part of the VFs of the computing device 1 to the virtualization device 3 through the node-external sub-communication channel 1. Therefore, the virtual machine 1 can access the virtualization device 1 through the node-internal sub-communication channel 1 between the computing node 1 and the adapter card 1, so as to use the VF of the network device 1, and the virtual machine 1 can also access the virtualization device 2 through the node-internal sub-communication channel 1, so as to use the VF of the storage device 1, and the virtual machine 1 can also access the virtualization device 3 through the node-internal sub-communication channel 1, so as to use the VF of the computing device 1.

[0097] (4) The centralized offloading node can also implement information processing functions. Specifically, the centralized offloading node can process the information to be forwarded (for example, the aforementioned IO request or network message, etc.) and then forward the processed information. The processing performed by the centralized offloading node includes at least one of the following: data encryption and decryption, data verification, data transmission speed control, and data service quality control, etc. Among them, data encryption and decryption means that the centralized offloading node can use certain encryption and decryption algorithms (for example, one-way hash algorithm and symmetric encryption algorithm, etc.) to encrypt and decrypt the forwarded information, thereby improving the security and reliability of information transmission. Data verification means that the centralized offloading node can also verify the data integrity field (DIF) of the information and correct errors based on the erasure code (EC) algorithm, thereby further improving the security and reliability of information transmission. Data transmission speed control means that the centralized offloading node can control the speed of information transmission through hardware acceleration and other means, thereby ensuring end-to-end communication quality. Data service quality control means that the centralized offloading node can control the forwarding quality of information through various basic technologies, thereby providing better quality of service (QoS) for the entire computing node management system. In addition, the centralized offloading node can also implement various other processing, which will not be expanded here one by one.

[0098] It should be understood that in the example shown in Figure 2(b), the centralized offloading node 1 can also allocate a part of the VF of the network device 1 (which can also be a part of the VF of the computing device 1, or a part of the VF of the storage device 1) to the virtualization device 4 through the extra-node sub-communication channel 2 between the centralized offloading node 1 and the adapter card 2, so that the virtual machine 2 of the computing node 2 can access the virtualization device 4 through the intra-node sub-communication channel 2 between the computing node 2 and the adapter card 2, thereby using the VF of the network device 1 (which can also be the VF of the computing device 1, or the VF of the storage device 1).

[0099] It should be understood that Figure 3 In the example shown, each frame includes only one centralized offloading node for schematic illustration, and does not limit the number of centralized offloading nodes included in each frame. The number of centralized offloading nodes included in each frame can be determined by the number and capacity of computing nodes in the frame.

[0100] It should also be understood that Figure 3 In the example shown, each chassis only includes a centralized offloading node for schematic illustration. Figure 4 As shown ( Figure 4Another structural diagram of the computing node management system provided by the embodiment of the present application) is that the computing nodes of multiple frames can also be managed by the same centralized offloading node, and the centralized offloading node can communicate with the computing nodes of each frame through a high-speed communication bus. It should be noted that in Figure 4 For any chassis, the computing nodes of the chassis can access the high-speed communication bus through the switch, thereby communicating with the centralized offloading node and the computing nodes of other chassis. The type of the switch corresponds to the type of the high-speed communication bus. For example, when the high-speed communication bus is a PCIE bus, the switch is a PCIE switch. For another example, when the high-speed communication bus is an RDMA bus, the switch is an IB switch, and so on.

[0101] In an embodiment of the present application, the computing node management system includes a centralized unloading node and multiple computing nodes. Among them, each computing node is inserted with an adapter card, each computing node is inserted with an adapter card, each adapter card is connected to the centralized unloading node respectively, and each adapter card establishes a communication channel between the centralized unloading node and the computing node where each adapter card is inserted. For any computing node, the centralized unloading node can provide resources for the computing node and manage the computing node through the adapter card inserted in the computing node. It can be seen that the cloud management function is implemented by the centralized unloading node, and the adapter card only needs to implement the function of information transfer. Therefore, when the loads on different computing nodes are different, even if the resource specifications of the adapter cards inserted in different computing nodes are the same, the functions that each adapter card needs to implement can be fully supported. Cloud vendors do not need to design adapter cards with different resource specifications for different computing nodes, which is conducive to reducing costs.

[0102] Furthermore, if each chassis includes at least two centralized offloading nodes, different centralized offloading nodes in the same chassis can support functions such as load balancing or mutual master / slave, so as to improve the stability and reliability of the computing node management system.

[0103] Furthermore, the adapter cards uniformly developed by cloud vendors can support computing nodes (physical servers) provided by different manufacturers, that is, the adapter cards can be installed on any computing node that supports the PCIE interface, making the deployment of the computing node management system more convenient and flexible.

[0104] Furthermore, the cloud instances of computing nodes are managed by a centralized offloading node, which can flexibly switch between virtual machines, containers, and bare metals according to actual needs, thereby meeting the needs of different users.

[0105] Furthermore, the deployment of centralized offloading nodes is not limited to a single chassis (see Figure 4 ), is more flexible and has higher resource utilization.

[0106] The above is a detailed description of the architecture of the computing node management system provided in the embodiment of the present application. The following will introduce the management method based on multiple computing nodes provided in the embodiment of the present application. Figure 5 A flow chart of a management method for multiple computing nodes provided in an embodiment of the present application. Figure 5 As shown, the method is applied to a centralized offloading node, wherein each of the multiple computing nodes is inserted with an adapter card, each adapter card is connected to the centralized offloading node, and each adapter card establishes a communication channel between the centralized offloading node and the computing node where each adapter card is inserted. It should be noted that the computing node management system can refer to the aforementioned Figure 3 or Figure 4 The examples shown will not be described in detail later.

[0107] The method includes:

[0108] 501. The centralized offloading node provides resources for multiple computing nodes through a communication channel. It should be noted that step 501 can refer to the aforementioned description of the forwarding function, cloud storage function and information processing function of the centralized offloading node, which will not be repeated here.

[0109] 502. The centralized offloading node manages multiple computing nodes respectively through the communication channel. It should be noted that step 502 can refer to the above description of the cloud instance management function of the centralized offloading node, which will not be repeated here.

[0110] Specifically, the centralized offloading node may respectively manage the multiple computing nodes to which the resources described in step 501 are allocated through the communication channel.

[0111] It should be noted that the information interaction, execution process, etc. between the modules / units of the above-mentioned method are based on the same concept as the system embodiment of the present application, and the technical effects they bring are the same as those of the system embodiment of the present application. For specific contents, please refer to the description in the system embodiment shown in the aforementioned embodiment of the present application, and will not be repeated here.

[0112] Figure 6 A schematic diagram of the structure of a centralized unloading node provided in an embodiment of the present application. Figure 6 As shown, an embodiment of a centralized offloading node in the present application may include one or more central processors 601 , a memory 602 , an input and output interface 603 , a wired or wireless network interface 604 , and a power supply 605 .

[0113] The memory 602 may be a temporary storage or a permanent storage. Furthermore, the central processor 601 may be configured to communicate with the memory 602 and execute a series of instruction operations in the memory 602 on the centralized offloading node.

[0114] In this embodiment, the CPU 601 can execute the aforementioned Figure 3 or Figure 4 The steps that can be implemented by the centralized unloading node in the illustrated embodiment will not be described in detail here.

[0115] Figure 7 Another structural diagram of a centralized unloading node provided in an embodiment of the present application is shown in FIG. Figure 7 As shown, the centralized unloading node includes:

[0116] The resource providing module 701 is used to provide resources to multiple computing nodes through a communication channel; for example, the resource providing module 701 can be used to implement Figure 5 Step 501 in the illustrated embodiment.

[0117] The management module 702 is used to manage multiple computing nodes through communication channels. For example, the management module 702 can be used to implement Figure 5 Step 502 in the illustrated embodiment.

[0118] An embodiment of the present application also relates to a computer storage medium, including computer-readable instructions, which, when executed, implement the aforementioned management method based on multiple computing nodes.

[0119] An embodiment of the present application also relates to a computer program product comprising instructions, which, when executed on a computer, enables the computer to execute the aforementioned management method based on multiple computing nodes.

[0120] Those skilled in the art can clearly understand that, for the convenience and brevity of description, the specific working processes of the systems, devices and units described above can refer to the corresponding processes in the aforementioned method embodiments and will not be repeated here.

[0121] In the several embodiments provided in the present application, it should be understood that the disclosed systems, devices and methods can be implemented in other ways. For example, the device embodiments described above are only schematic. For example, the division of the units is only a logical function division. There may be other division methods in actual implementation, such as multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be an indirect coupling or communication connection through some interfaces, devices or units, which can be electrical, mechanical or other forms.

[0122] The units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed on multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.

[0123] In addition, each functional unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit. The above-mentioned integrated unit may be implemented in the form of hardware or in the form of software functional units.

[0124] If the integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present application is essentially or the part that contributes to the prior art or all or part of the technical solution can be embodied in the form of a software product, and the computer software product is stored in a storage medium, including a number of instructions to enable a computer device (which can be a personal computer, a server, or a network device, etc.) to perform all or part of the steps of the method described in each embodiment of the present application. The aforementioned storage medium includes: various media that can store program codes, such as a USB flash drive, a mobile hard disk, a read-only memory (ROM), a random access memory (RAM), a disk or an optical disk.

Claims

1. A computing node management system, characterized in that: The system comprises: a centralized unloading node and a plurality of computing nodes, each computing node is inserted with an adapter card, each adapter card is respectively connected to the centralized unloading node, each adapter card establishes a communication channel between the centralized unloading node and the computing node where each adapter card is inserted, and the centralized unloading node is used to provide resources to the plurality of computing nodes respectively through each communication channel; The communication channel includes an external node sub-communication channel and an internal node sub-communication channel, wherein the external node sub-communication channel is arranged between each adapter card and the centralized offloading node, and the internal node sub-communication channel is arranged between each adapter card and the computing node in which each adapter card is inserted; The resources include network resources. The centralized offloading node is connected to a network device that provides the network resources. A third adapter card among the multiple adapter cards is deployed with a third virtualization device. The third adapter card supports a single-root I / O virtualization function. The third virtualization device is a physical function PF or a virtual function VF created for the third adapter card. The third cloud instance in the third computing node in which the third adapter card is inserted is bound to the third virtualization device. The centralized offloading node allocates the network resources of the network device connected to itself to the third virtualization device through a third-node external sub-communication channel. The third cloud instance accesses the third virtualization device allocated with the network resources through a third-node internal sub-communication channel.

2. The system according to claim 1, characterized in that The resources include storage resources, the centralized offloading node is connected to a storage device that provides the storage resources, a first adapter card among multiple adapter cards is deployed with a first virtualization device, a first cloud instance in a first computing node in which the first adapter card is inserted is bound to the first virtualization device, the centralized offloading node allocates the storage resources in the storage device connected to itself to the first virtualization device through a first node external sub-communication channel, and the first cloud instance accesses the first virtualization device allocated with the storage resources through a first node internal sub-communication channel.

3. The system according to claim 2, characterized in that The centralized offloading node is also used to forward input / output IO requests between the storage device and the first cloud instance.

4. The system according to claim 3, characterized in that The centralized offloading node is further used to process the IO request, wherein the processing includes at least one of the following: data encryption and decryption, data verification, data transmission speed control, and data service quality control.

5. The system according to any one of claims 1, characterized in that: The resources include computing resources, the centralized offloading node is connected to a computing device that provides the computing resources, a second adapter card among the multiple adapter cards is deployed with a second virtualization device, a second cloud instance in a second computing node in which the second adapter card is inserted is bound to the second virtualization device, the centralized offloading node allocates the computing resources of the computing device connected to itself to the second virtualization device through a second node external sub-communication channel, and the second cloud instance accesses the second virtualization device allocated with the computing resources through a second node internal sub-communication channel.

6. The system according to claim 5, characterized in that The computing device is a processor for heterogeneous computing.

7. The system according to claim 1, characterized in that The centralized offloading node is also used to forward network messages between the network device and the third cloud instance.

8. The system according to claim 1 or 7, characterized in that: The centralized offloading node is also used to forward network messages between cloud instances on the multiple computing nodes.

9. The system according to claim 8, characterized in that The centralized offloading node is further used to process the network message, and the processing includes at least one of the following: data encryption and decryption, data verification, data transmission speed control and data service quality control.

10. The system according to any one of claims 1 to 7, characterized in that: The centralized offloading node is specifically configured to manage the cloud instances on the multiple computing nodes through the communication channel.

11. The system according to claim 1, characterized in that The resources include storage resources, the centralized offloading node is connected to a storage device that provides the storage resources, a first adapter card among multiple adapter cards is deployed with a first virtualization device, a first computing node in which the first adapter card is inserted is bound to the first virtualization device, the centralized offloading node allocates the storage resources of the storage device connected to itself to the first virtualization device through a first node external sub-communication channel, and the first computing node accesses the first virtualization device allocated with the storage resources through a first node internal sub-communication channel.

12. The system according to claim 1, characterized in that The resources include computing resources, the centralized offloading node is connected to a computing device that provides the computing resources, a second adapter card among the multiple adapter cards is deployed with a second virtualization device, a second computing node with the second adapter card inserted is bound to the second virtualization device, the centralized offloading node allocates the computing resources of the computing device connected to itself to the second virtualization device through a second node external sub-communication channel, and the second computing node accesses the second virtualization device allocated with the computing resources through a second node internal sub-communication channel.

13. The system according to any one of claims 1 to 7, characterized in that: The node external sub-communication channel is realized through a high-speed communication bus, and the high-speed communication bus is any one of the following: a high-speed serial computer expansion bus standard PCIE bus, a serializer / deserializer SERDES bus, a remote direct data access RDMA bus, and a remote direct data access RoCE bus based on converged Ethernet.

14. The system according to any one of claims 1 to 7, characterized in that: The intra-node sub-communication channel is implemented through a high-speed serial computer expansion bus standard PCIE bus.

15. The system according to any one of claims 1 to 7, characterized in that: The multiple computing nodes are arranged in the same machine frame.

16. The system according to any one of claims 1 to 7, characterized in that: The multiple computing nodes include multiple groups of computing nodes, and each group of computing nodes is arranged in the same machine frame.

17. The system according to any one of claims 1 to 7, characterized in that: The centralized unloading node is a server or an unloading card.

18. A management method for multiple computing nodes, characterized in that: The method is applied to a centralized offloading node, wherein each of the plurality of computing nodes is inserted with an adapter card, each adapter card is respectively connected to the centralized offloading node, and each adapter card establishes a communication channel between the centralized offloading node and the computing node in which each adapter card is inserted, and the method comprises: The centralized offloading node provides resources to the multiple computing nodes through the communication channel; The centralized offloading node manages the multiple computing nodes respectively through the communication channel; The communication channel includes an external node sub-communication channel and an internal node sub-communication channel, the external node sub-communication channel is set between each adapter card and the centralized offloading node, and the internal node sub-communication channel is set between each adapter card and the computing node in which each adapter card is inserted; and the resources include network resources, the centralized offloading node is connected to a network device that provides the network resources, a third adapter card among the multiple adapter cards is deployed with a third virtualization device, the third adapter card supports a single-root I / O virtualization function, the third virtualization device is a physical function PF or a virtual function VF created for the third adapter card, a third computing node in which the third adapter card is inserted or a third cloud instance running on the third computing node is bound to the third virtualization device through a third node internal sub-communication channel, and the centralized offloading node provides resources for the multiple computing nodes through the communication channel, and the method also includes: The centralized offloading node allocates the network resources of the network device connected to itself to the third virtualized device through the third node external sub-communication channel.

19. The method according to claim 18, characterized in that The resource includes a storage resource, the centralized offloading node is connected to a storage device that provides the storage resource, a first adapter card among the multiple adapter cards is deployed with a first virtualization device, a first computing node in which the first adapter card is inserted or a first cloud instance running on the first computing node is bound to the first virtualization device through a first node intra-sub communication channel, and the centralized offloading node provides resources for the multiple computing nodes through the communication channel, including: The centralized offloading node allocates the storage resources of the storage device connected to itself to the first virtualization device through the first node external sub-communication channel.

20. The method according to claim 19, characterized in that The resource includes a computing resource, the centralized offloading node is connected to a computing device that provides the computing resource, a second adapter card among the plurality of adapter cards is deployed with a second virtualization device, a second computing node in which the second adapter card is inserted or a second cloud instance running on the second computing node is bound to the second virtualization device through a second node intra-sub communication channel, and the centralized offloading node provides resources for the plurality of computing nodes through the communication channel, including: The centralized offloading node allocates the computing resources of the computing device connected to itself to the second virtualized device through the second node external sub-communication channel.

21. A centralized unloading node, characterized in that: The centralized offloading node includes a memory and a processor; The memory stores codes, and the processor is configured to execute the codes. When the codes are executed, the centralized offloading node performs the method according to any one of claims 18 to 20.

22. A computer storage medium, characterized in that The computer storage medium stores a computer program, which, when executed by a computer, enables the computer to implement the method according to any one of claims 18 to 20.

23. A computer program product, characterized in that The computer program product stores instructions, which, when executed by a computer, cause the computer to implement the method according to any one of claims 18 to 20.

Citation Information

Patent Citations

  • Network-accessible computing service for micro virtual machines

    US20190392150A1