Cloud service-based logic node configuration method and cloud management platform
By dynamically allocating network interface card (NIC) resources for logical nodes through a cloud management platform, the problem of low NIC utilization in traditional cloud resource configuration is solved, and efficient utilization of NIC resources is achieved.
Patent Information
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2025-06-27
- Publication Date
- 2026-04-02
AI Technical Summary
Traditional cloud resource allocation methods result in low network card utilization, especially because the pre-allocation of queue resources does not match actual needs, leading to a waste of network card resources.
By dynamically allocating network interface card (NIC) resources for logical nodes through a cloud management platform, and creating queues in real time according to tenant needs, business requirements can be met and NIC resource utilization can be improved.
This achieves efficient utilization of network card resources, reduces queue resource waste, and improves network card utilization.
Smart Images

Figure CN2025104796_02042026_PF_FP_ABST
Abstract
Description
A logical node configuration method based on cloud services and a cloud management platform
[0001] The present application claims priority from the Chinese patent application No. 202411345895.2 filed on September 25, 2024, and entitled "A logical node configuration method based on cloud services and a cloud management platform", the content of which is incorporated herein by reference in its entirety. TECHNICAL FIELD
[0002] Embodiments of the present application relate to the field of cloud technology, and in particular to a logical node configuration method based on cloud services and a cloud management platform. BACKGROUND
[0003] With the rapid development of cloud technology, more and more tenants choose cloud resources provided by cloud vendors to complete their business. Traditional cloud resources are presented in units of physical servers, and each physical server can be configured with one network card. This device configuration method often results in low utilization of network cards. Based on this, cloud resource pooling methods have emerged.
[0004] In related technologies, cloud vendors build various device pools such as central processing unit (CPU) device pools, network card device pools, and memory device pools. The devices in these device pools can be interconnected. When a tenant needs to purchase cloud resources, the cloud vendor can allocate a certain number of CPU, network card, and memory devices to the tenant from various device pools. For each network card of the tenant, since these network cards are connected to each CPU of the tenant, the CPU of the tenant can use these network cards, thereby improving the utilization of the network cards to a certain extent.
[0005] However, for each network card of the tenant, the queue resources of these network cards for each CPU (or virtual instance running on the CPU) of the tenant are allocated in advance. Since different CPUs may require different numbers of queues in actual applications, this will cause waste of queue resources of these network cards, resulting in low utilization of network cards. SUMMARY
[0006] Embodiments of the present application provide a logical node configuration method based on cloud services and a cloud management platform, which can improve the resource utilization of network cards used to implement the logical nodes of the tenant.
[0007] A first aspect of the embodiments of the present application provides a method for configuring a logical node based on cloud services. The method can be implemented by a cloud management platform, which is used to provide a management infrastructure for cloud services of a tenant. The infrastructure can include a central processing unit (CPU) device pool, a memory device pool, a network card device pool, and a disk device pool. The plurality of CPUs in the CPU device pool, the plurality of memories in the memory device pool, the plurality of network cards in the network card device pool, and the plurality of disks in the disk device pool are connected to a high-speed interconnection network, which is used to implement the interconnection of devices in the device pools in the infrastructure. The method includes the following steps:
[0008] When the tenant needs to create a dedicated logical node, the cloud management platform can provide a creation interface to the tenant. Then, the tenant can input a logical node creation request for the logical node to the creation interface. In this way, the cloud management platform can receive the logical node creation request for the logical node sent by the tenant through the creation interface. The logical node creation request for the logical node includes the specification requirements set by the tenant for the logical node, which include CPU requirements, memory requirements, network card requirements, and disk requirements.
[0009] After obtaining the logical node creation request, the cloud management platform can parse the specification requirements of the logical node, i.e., the CPU requirements, the memory requirements, the network card requirements, and the disk requirements, from the logical node creation request. Therefore, the cloud management platform can select idle CPUs that meet the CPU requirements from the CPU device pool, select idle memories that meet the memory requirements from the memory device pool, select idle network cards that meet the network card requirements from the network card device pool, and select idle disks that meet the disk requirements from the disk device pool. Then, the cloud management platform can create the logical node on the CPUs, the memories, the network cards, and the disks.
[0010] After the creation of the logical node, the cloud management platform can install an operating system image specified by the tenant on the logical node. The logical node with the installed operating system image can be remotely logged in and accessed by the tenant. Therefore, the logical node with the installed operating system image can generate a message to be forwarded based on the remote access operation of the tenant. Then, the logical node with the installed operating system image can select a network card from at least one network card implementing the logical node, write the message to a queue created in real time by the network card, and notify the network card to read the message from the queue in a certain way to complete the forwarding of the message, thereby meeting the business requirements of the tenant.
[0011] As can be seen from the above method, when the tenant remotely accesses the logical node, the logical node generates a message to be forwarded, and the logical node can write the message into a queue created in real time by one of the at least one network card to notify the network card to read the message from the queue and complete forwarding of the message. As can be seen, the queue resource provided by the at least one network card for the logical node is no longer allocated in advance, but allocated in real time on demand, so the at least one network card no longer needs to allocate resources in advance to create a queue in advance, and the resources of the at least one network card can be used for other aspects, thereby improving the resource utilization rate of the network card.
[0012] In a possible implementation, the at least one network card includes a plurality of first virtualization devices, each of which is configured to provide a plurality of queues for the logical node, the logical node includes a plurality of second virtualization devices, the plurality of first virtualization devices are directly connected to the plurality of second virtualization devices, and the plurality of first virtualization devices correspond to the plurality of second virtualization devices in one-to-one correspondence. The method further includes that the logical node with the installed operating system image determines an available second virtualization device from the plurality of second virtualization devices, and notifies the available second virtualization device to write the message into a queue created in real time by an available first virtualization device, the available second virtualization device corresponding to the available first virtualization device. In the foregoing implementation, after obtaining the message to be transmitted, the logical node with the installed operating system image can select an available second virtualization device from the plurality of second virtualization devices, and notify the available second virtualization device to write the message into a queue created in real time by an available first virtualization device. Then, the available second virtualization device can notify the available first virtualization device to read the message from the physical queue, so that the available first virtualization device successfully completes forwarding of the message.
[0013] In a possible implementation, the available first virtualization device allocates a non-continuous physical address for the queue created in real time, and the available first virtualization device allocates a non-continuous physical address for the queue created in advance. In the foregoing implementation, the available first virtualization device allocates a non-continuous physical address for each queue created by the available first virtualization device, so that the physical address of the queue created in real time by the available first virtualization device and the physical address of the queue created in advance by the available first virtualization device are non-continuous.
[0014] In a possible implementation, the second virtualization devices record the number of queues that can be created by the first virtualization devices and the number of queues that have been created by the first virtualization devices; and determining, by the logical node installed with the operating system image, the available second virtualization devices from the second virtualization devices comprises: for any one of the second virtualization devices, if the number of queues that can be created by the first virtualization device corresponding to the second virtualization device is greater than the number of queues that have been created by the first virtualization device, determining, by the logical node installed with the operating system image, the second virtualization device as an available second virtualization device. In the foregoing implementation, since the logical node installed with the operating system image includes the second virtualization devices, and the second virtualization devices record the number of queues that can be created by the first virtualization devices and the number of queues that have been created by the first virtualization devices, for any one of the second virtualization devices, if the number of queues that can be created by the first virtualization device corresponding to the second virtualization device is greater than the number of queues that have been created by the first virtualization device, the logical node installed with the operating system image can determine the second virtualization device as an available second virtualization device, and accordingly, the first virtualization device corresponding to the available second virtualization device is an available first virtualization device. As can be seen, the logical node can determine whether each first virtualization device is available by checking whether each first virtualization device still has a redundant (not created) queue in the network card, and then select an available first virtualization device to complete message forwarding.
[0015] In a possible implementation, if the number of queues that can be created by the first virtualization device is equal to the number of queues that have been created by the first virtualization device, the logical node installed with the operating system image determines the second virtualization device as an unavailable second virtualization device. In the foregoing implementation, if the number of queues that can be created by the first virtualization device is equal to the number of queues that have been created by the first virtualization device, the logical node installed with the operating system image determines the second virtualization device as an unavailable second virtualization device, and accordingly, the first virtualization device corresponding to the unavailable second virtualization device is an unavailable first virtualization device. As can be seen, the logical node can determine whether each first virtualization device is available by checking whether each first virtualization device still has a redundant (not created) queue in the network card, and filter the unavailable first virtualization devices to select an available first virtualization device to complete message forwarding.
[0016] In a possible implementation, the logic node creation request further includes a service to be completed by the logic node, and the method further includes: determining, by the cloud management platform, the first service attribute and the second service attribute of the virtualization device based on the service, and configuring the multiple third virtualization devices with the first service attribute and the multiple fourth virtualization devices with the second service attribute in the at least one network card, the multiple third virtualization devices and the multiple fourth virtualization devices being the multiple second virtualization devices. In the foregoing implementation, the logic node creation request provided by the tenant to the cloud management platform further includes a service to be completed by the logic node set by the tenant, so that the cloud management platform can determine the first service attribute and the second service attribute of the virtualization device in the network card used to implement the logic node based on the service. After the cloud management platform creates the logic node, the cloud management platform can further configure the multiple third virtualization devices with the first service attribute and the multiple fourth virtualization devices with the second service attribute in the at least one network card used to implement the logic node, and the multiple third virtualization devices and the multiple fourth virtualization devices are the multiple second virtualization devices. As can be seen, when creating the logic node, the cloud management platform can configure the service attribute of the virtualization device (i.e., the second virtualization device) in the network card used to implement the logic node according to the service requirement of the tenant, and the resource utilization of the network card can be further improved.
[0017] In a possible implementation, the method further includes: adjusting, by the cloud management platform, the number of the multiple third virtualization devices and the number of the multiple fourth virtualization devices based on the remote access operation. In the foregoing implementation, after the tenant remotely accesses the logic node in which the operating system image is installed, the cloud management platform can determine the difference between the actual service performed by the logic node and the service to be completed by the logic node based on the remote access operation of the tenant, and then adjust the number of the multiple third virtualization devices and the number of the multiple fourth virtualization devices. As can be seen, the cloud management platform can further adjust the service attribute of the virtualization device in the network card according to the actual service of the tenant, and the resource utilization of the network card can be further improved.
[0018] In a possible implementation, the infrastructure further includes an extended processor device pool, the extended processor device pool including multiple extended processors, the multiple extended processors in the extended processor device pool being connected to the high-speed interconnection network, and the specification requirement further includes an extended processor requirement, and the logic node is implemented based on at least one extended processor in the extended processor device pool that meets the extended processor requirement and is idle.
[0019] In a possible implementation, the plurality of extension processors in the extension processor device pool include one or any combination of a neural processing unit (NPU), a graphics processing unit (GPU), a tensor processing unit (TPU), and a data processing unit (DPU).
[0020] In a possible implementation, the high-speed interconnection network is implemented by a peripheral component interconnect express (PCIE) network, an infiniBand (IB) network, or a compute express link (CXL) network.
[0021] A second aspect of the embodiments of the present application provides a cloud management platform, the cloud management platform being configured to manage an infrastructure, the infrastructure including a CPU device pool, a memory device pool, a network card device pool, and a disk device pool, a plurality of CPUs in the CPU device pool, a plurality of memories in the memory device pool, a plurality of network cards in the network card device pool, and a plurality of disks in the disk device pool being connected to a high-speed interconnection network, wherein the high-speed interconnection network is configured to implement interconnection of devices in each device pool in the infrastructure within the pool and between the pools, and the cloud management platform includes: an obtaining module configured to obtain a logical node creation request input by a tenant, the logical node creation request including a specification requirement of a logical node, the specification requirement including a CPU requirement, a memory requirement, a network card requirement, and a disk requirement; a creating module configured to create the logical node in response to the logical node specification creation request, wherein the logical node is implemented based on at least one CPU in the CPU device pool that meets the CPU requirement and is idle, at least one memory in the memory device pool that meets the memory requirement and is idle, at least one network card in the network card device pool that meets the network card requirement and is idle, and at least one disk in the disk device pool that meets the disk requirement and is idle; a determining module configured to determine an operating system image input or selected by the tenant; and an installing module configured to notify the logical node to install the operating system image, wherein the logical node on which the operating system image is installed is configured to generate a message to be forwarded based on remote access operations of the tenant, write the message to a queue created in real time by the at least one network card, and notify the at least one network card to obtain the message from the queue to forward the message.
[0022] In a possible implementation, the at least one network card includes a plurality of first virtualization devices, each of the plurality of first virtualization devices being configured to provide a plurality of queues for a logical node, the logical node includes a plurality of second virtualization devices, the plurality of first virtualization devices are directly connected to the plurality of second virtualization devices, and the plurality of first virtualization devices correspond to the plurality of second virtualization devices in one-to-one manner.
[0023] The logical node installed with the operating system image writes the packet into the queue created by the at least one network card in real time, and the method further includes:
[0024] The logical node installed with the operating system image determines an available second virtualization device from the plurality of second virtualization devices, and notifies the available second virtualization device to write the packet into the queue created by the available first virtualization device in real time, the available second virtualization device corresponding to the available first virtualization device.
[0025] In a possible implementation, the physical address allocated by the available first virtualization device for the created queue and the physical address allocated by the available first virtualization device for the created queue are discontinuous physical addresses.
[0026] In a possible implementation, the plurality of second virtualization devices record the number of queues that can be created by the plurality of first virtualization devices and the number of queues that have been created by the plurality of first virtualization devices.
[0027] The logical node installed with the operating system image determines the available second virtualization device from the plurality of second virtualization devices, and the method further includes:
[0028] For any one of the plurality of second virtualization devices, if the number of queues that can be created by the first virtualization device corresponding to the second virtualization device is greater than the number of queues that have been created by the first virtualization device, the logical node installed with the operating system image determines the second virtualization device as the available second virtualization device.
[0029] In a possible implementation, if the number of queues that can be created by the first virtualization device is equal to the number of queues that have been created by the first virtualization device, the logical node installed with the operating system image determines the second virtualization device as an unavailable second virtualization device.
[0030] In a possible implementation, the logical node creation request further includes a service to be completed by the logical node, and the cloud management platform further includes:
[0031] The configuration module is configured to determine a first service attribute and a second service attribute of the virtualization device based on the service, and configure a plurality of third virtualization devices with the first service attribute and a plurality of fourth virtualization devices with the second service attribute in the at least one network card, the plurality of third virtualization devices and the plurality of fourth virtualization devices serving as the plurality of second virtualization devices.
[0032] In a possible implementation, the cloud management platform further includes:
[0033] The adjustment module is configured to adjust the number of the plurality of third virtualization devices and the number of the plurality of fourth virtualization devices based on the remote access operation.
[0034] In a possible implementation, the infrastructure further includes an extended processor device pool, the extended processor device pool including a plurality of extended processors, the plurality of extended processors in the extended processor device pool being connected to the high-speed interconnection network, the specification requirement further including an extended processor requirement, and the logical node being implemented based on at least one extended processor in the extended processor device pool that meets the extended processor requirement and is idle.
[0035] In a possible implementation, the plurality of extended processors in the extended processor device pool includes one or any combination of an NPU, a GPU, a TPU, and a DPU.
[0036] In a possible implementation, the high-speed interconnection network is implemented through a PCIE network, an IB network, or a CXL network.
[0037] A third aspect of the embodiments of the present application provides a computing device cluster, the computing device cluster including at least one computing device, each computing device including a processor and a memory: the memory is configured to store instructions; and the processor is configured to execute the method according to the instructions, so that the computing device cluster executes the method of the first aspect or any possible implementation of the first aspect.
[0038] A fourth aspect of the embodiments of the present application provides a computer storage medium, the computer storage medium storing one or more instructions, the instructions causing one or more computers to implement the method of the first aspect or any possible implementation of the first aspect when executed by the one or more computers.
[0039] A fifth aspect of the embodiments of the present application provides a computer program product, the computer program product storing instructions, the instructions causing a computer to implement the method of the first aspect or any possible implementation of the first aspect when executed by the computer.
[0040] In the embodiment of the present application, when a tenant needs to create a logical node, the tenant can send a logical node creation request for the logical node to a creation interface provided by the cloud management platform, so that the cloud management platform can receive the logical node creation request sent by the tenant through the creation interface. Since the logical node creation request contains the specification requirements (including CPU requirements, memory requirements, network card requirements, and disk requirements, etc.) set by the tenant for the logical node, the cloud management platform can select idle physical devices (including CPUs, memories, network cards, and disks, etc.) that meet the specification requirements set by the tenant for the logical node from a plurality of physical device pools (including a CPU device pool, a memory device pool, a network card device pool, and a disk device pool, etc.), and create the logical node on these physical devices. Then, the cloud management platform can install the operating system image specified by the tenant on the logical node, and the logical node installed with the operating system image can be remotely logged in and accessed by the tenant. The logical node installed with the operating system image can generate a message to be forwarded based on the remote access operation of the tenant, and write the message to a queue created in real time by a certain network card implementing the logical node, and notify the network card to obtain the message from the queue to complete the forwarding of the message, thereby meeting the business requirements of the tenant. In the foregoing process, since the logical node of the tenant is implemented based on the cloud management platform according to the CPU, memory, network card, and disk selected by the tenant for the specification requirements of the logical node, when the tenant remotely accesses the logical node, the logical node will trigger the generation of a message to be forwarded. The logical node can write the message to a queue created in real time by one of the at least one network card to notify the network card to read the message from the queue and complete the forwarding of the message. As can be seen, the queue resource provided by the at least one network card for the logical node is no longer allocated in advance, but allocated in real time as needed, so the at least one network card does not need to allocate resources in advance to create a queue in advance, and the resources of the at least one network card can be used for other aspects, thereby improving the resource utilization rate of the network card. BRIEF DESCRIPTION OF DRAWINGS
[0041] FIG. 1 is a structural schematic diagram of a cloud service system provided by an embodiment of the present application;
[0042] FIG. 2a is a structural schematic diagram of an infrastructure provided by an embodiment of the present application;
[0043] FIG. 2b is another structural schematic diagram of an infrastructure provided by an embodiment of the present application;
[0044] FIG. 3 is a flow schematic diagram of a logical node configuration method based on a cloud management platform provided by an embodiment of the present application;
[0045] FIG. 4 is a structural schematic diagram of a logical node provided by an embodiment of the present application;
[0046] FIG. 5 is another structural diagram of a logical node according to an embodiment of the present application;
[0047] FIG. 6 is another structural diagram of a logical node according to an embodiment of the present application;
[0048] FIG. 7 is another structural diagram of a logical node according to an embodiment of the present application;
[0049] FIG. 8 is another structural diagram of a logical node according to an embodiment of the present application;
[0050] FIG. 9 is a structural diagram of a cloud management platform according to an embodiment of the present application;
[0051] FIG. 10 is a structural diagram of a computing device according to an embodiment of the present application;
[0052] FIG. 11 is a structural diagram of a computing device cluster according to an embodiment of the present application;
[0053] FIG. 12 is a diagram of a network connection between computing devices in a computer cluster according to an embodiment of the present application. DETAILED DESCRIPTION
[0054] The embodiments of the present application provide a logical node configuration method based on cloud services and a cloud management platform, which can improve the resource utilization rate of a network card used to implement a logical node of a tenant.
[0055] The terms "first", "second", etc. in the specification and claims of the present application and the above-described drawings are used to distinguish similar objects, and do not necessarily have to be used to describe a specific order or sequence. It should be understood that the terms used in this way can be interchanged under appropriate circumstances, and this is only a distinguishing way used in the description of the embodiments of the present application to describe the objects with the same properties. In addition, the terms "include" and "have" and any variations thereof are intended to cover non-exclusive inclusion, so that the processes, methods, systems, products or devices containing a series of units do not have to be limited to those units, but can include other units that are not clearly listed or inherent to these processes, methods, products or devices.
[0056] With the rapid development of cloud technology, more and more tenants choose cloud resources provided by cloud vendors to complete their business. Traditional cloud resources are presented in units of physical servers, and each physical server can be configured with a network card. This device configuration method often results in low utilization of network cards. Based on this, cloud resource pooling methods have emerged.
[0057] In the related art, a cloud vendor builds various device pools such as a CPU device pool, a network card device pool, a memory device pool, and a disk device pool, and devices in these device pools can be interconnected. When a tenant needs to purchase cloud resources, the cloud vendor can allocate a certain number of CPUs, network cards, memories, and disks to the tenant from the various device pools. For each network card of the tenant, since the network cards are respectively connected to each CPU of the tenant, the CPUs of the tenant can use the network cards, thereby improving the utilization rate of the network cards to a certain extent.
[0058] However, for each network card of the tenant, the queue resources of the network cards for each CPU (or a virtual instance running on the CPU) of the tenant are allocated in advance. Since the traffic of some CPUs is less, the number of queues used by these CPUs is less, and the traffic of other CPUs is more, the number of queues used by these CPUs is more, which will cause the queue resources provided by the network cards for some network cards to be redundant, and the queue resources provided for other network cards to be insufficient, causing the queue resources of the network cards to be wasted, and leading to a low utilization rate of the network cards.
[0059] To solve the above problems, an embodiment of the present application provides a logical node configuration method based on a cloud service. The method can be implemented through a cloud service system. FIG. 1 is a structural schematic diagram of a cloud service system provided by an embodiment of the present application. As shown in FIG. 1, the cloud service system includes infrastructure that can provide cloud services and a cloud management platform that manages the infrastructure. The cloud management platform and the infrastructure are introduced respectively as follows:
[0060] The cloud management platform can manage the infrastructure in the whole cloud service system (for example, in the infrastructure, according to the instructions of a tenant, create one or more logical nodes for the tenant, which can be used to complete the business of the tenant, etc.), and can also be open to the tenant outside the cloud service system and respond to their requests. For example, the cloud management platform can provide various interfaces such as a login interface and a creation interface for the client of the tenant (for example, a terminal device used by the tenant or a browser on the terminal device, etc.) to access. Among them, the cloud management platform can authenticate the client of the tenant through the login interface, and allow the client of the tenant to log in to the cloud management platform after successful authentication. For another example, the cloud management platform can also allow the client of the tenant to send a logical node creation request for the logical node of the tenant to the cloud management platform through the creation interface. Since the logical node creation request is used to indicate the logical node specification requirement set (customized) by the tenant for the logical node, which is used to describe the specification of various devices required to create the logical node, the cloud management platform can select idle physical devices (such as at least one CPU, at least one memory, at least one network card, at least one disk, and at least one expansion processor, etc.) that meet the logical node specification requirement from various physical device pools, and create the logical node on these physical devices. Since the logical node contains virtualization devices (such as virtual CPU, virtual memory, virtual network card, virtual disk, and virtual expansion processor, etc.) implemented based on these physical devices, the cloud management platform can install the operating system image prepared by the tenant on the logical node, so that the logical node installed with the operating system image can allow the tenant to remotely access. Therefore, the logical node installed with the operating system image can generate a message to be forwarded based on the remote access operation of the tenant, write the message to a queue created in real time by a certain network card implementing the logical node, and notify the network card to obtain the message from the queue to complete the forwarding of the message.
[0061] The infrastructure includes a plurality of physical device pools, which include a plurality of different types of computing device pools, a plurality of different types of storage device pools, and a plurality of network device pools. The plurality of different types of computing device pools can include a CPU device pool and an extended processor device pool, which can include a graphics processing unit (GPU) device pool, a neural processing unit (NPU) device pool, a tensor processing unit (TPU) device pool, a data processing unit (DPU) device pool, and the like. The plurality of different types of storage device pools can include a memory device pool and a disk device pool, and the like. The plurality of network device pools can include a network card device pool, and the like. The CPU device pool includes a plurality of CPUs (which can have the same or different specifications), the extended processor device pool includes a plurality of extended processor device pools (which can have the same or different specifications), the memory device pool includes a plurality of memories (which can have the same or different specifications), the disk device pool includes a plurality of disks (which can have the same or different specifications), and the network card device pool includes a plurality of network cards (which can have the same or different specifications). As can be seen, the cloud management platform can select a plurality of physical devices that meet the tenant requirements and have certain specifications from the plurality of physical device pools to build the logical nodes of the tenant.
[0062] It is worth noting that the network cards in the network card device pool can have a plurality of product forms. For example, the network cards can be intelligent network cards, which include a traditional network adapter and a microprocessor. For another example, the network cards can also be service driven infrastructure (SDI) cards, which include a traditional network adapter and a microprocessor. For another example, the network cards can also be DPUs, and the like, without specific limitation here.
[0063] It is also worth noting that the plurality of physical device pools are presented and implemented to communicate in a plurality of ways.
[0064] (1) As shown in FIG. 2a (FIG. 2a is a structural schematic diagram of an infrastructure provided by an embodiment of the present application), in the multiple physical device pools, all physical devices in each physical device pool are randomly and dispersedly arranged on the racks, and are not arranged in the chassis of the physical servers in the racks in a fixed combination. Then, in the multiple physical device pools, any two physical devices in any one physical device pool can be communicatively connected through high-speed interconnection devices, and the physical devices between any two physical device pools can also be communicatively connected through high-speed interconnection devices, wherein the high-speed interconnection devices can include high-speed interconnection buses, high-speed interconnection bus switches, and the like. As can be seen, the high-speed interconnection devices connect all physical devices in the multiple physical device pools, and form a high-speed interconnection network (the "high-speed" of the high-speed interconnection network means that the bandwidth of the network is not less than 40G / S) between all physical devices. That is, the multiple CPUs in the CPU device pool, the multiple extension processors in the extension processor device pool, the multiple memories in the memory device pool, the multiple network cards in the network card device pool, and the multiple disks in the disk device pool are all connected to the high-speed interconnection network, and thus the physical devices can be communicatively connected through the high-speed interconnection network.
[0065] It should also be noted that after the cloud management platform determines the specification requirement of the logical node of the tenant, the cloud management platform can select a plurality of physical devices (for example, the CPUs, NPUs, memories, network cards, and disks in the dashed box of FIG. 2a, and the like) that meet the specification requirement from the multiple physical device pools, and create the logical node on the physical devices. The logical node includes virtual devices implemented based on the physical devices (that is, the physical devices and the virtual devices have a mapping relationship), and since the physical devices are all connected to the high-speed interconnection network, the network formed between the physical devices is part of the high-speed interconnection network, and can also be referred to as a sub-network of the high-speed interconnection network (for example, the dashed box of FIG. 2a). Since the virtual devices are implemented based on the physical devices, the virtual devices can also be logically connected through a virtual bus network, which is implemented based on the sub-network of the high-speed interconnection network formed between the physical devices (that is, the virtual bus network and the sub-network have a mapping relationship).
[0066] (2) As shown in FIG. 2b (FIG. 2b is another structure schematic diagram of infrastructure provided by embodiments of the present application), the multiple physical device pools can be deployed in the form of multiple supernodes (for example, physical server groups or racks and the like), each supernode contains multiple physical servers, each physical server can contain multiple physical devices of different types (for example, a physical server contains at least one CPU, at least one memory, at least one expansion processor, at least one network card and at least one disk), and any two physical servers can be communicatively connected through high-speed interconnection devices, so that for the CPU in any one physical server, it can not only use the network card, expansion processor, memory and disk of the physical server, but also use the network card, expansion processor, memory and disk of the remaining physical servers, so that the same type of physical devices of different physical servers can be considered as "pooled", so that all physical servers in multiple supernodes form multiple physical device pools. Since all physical servers in multiple supernodes are communicatively connected through high-speed interconnection devices, a high-speed interconnection network is formed between all physical servers, which is equivalent to forming a high-speed interconnection network between multiple physical device pools, that is, multiple CPUs in the CPU device pool, multiple expansion processors in the expansion processor device pool, multiple memories in the memory device pool, multiple network cards in the network card device pool and multiple disks in the disk device pool are all connected to the high-speed interconnection network, so that these physical devices can communicate through the high-speed interconnection network.
[0067] It should also be noted that after the cloud management platform determines the specification requirement of the logical node of the tenant, the cloud management platform can select several physical devices (for example, several physical servers in the dashed box of FIG. 2b, the CPUs, expansion processors, memories, network cards and disks contained in these physical servers can be considered as part of the devices in the CPU device pool, part of the devices in the expansion processor device pool, part of the devices in the memory device pool, part of the devices in the network card device pool and part of the devices in the disk device pool and the like) that meet the specification requirement from the multiple physical device pools, and create the logical node on these physical devices. The logical node contains virtual devices implemented based on these physical devices (that is, these physical devices and these virtual devices have a mapping relationship), and since these physical devices are all connected to the high-speed interconnection network, the network formed between these physical devices is part of the high-speed interconnection network, and can also be referred to as a subnetwork of the high-speed interconnection network (for example, the dashed box of FIG. 2b). Since these virtual devices are implemented based on these physical devices, these virtual devices can also be logically connected through a virtual bus network, which is implemented based on the subnetwork of the high-speed interconnection network formed between these physical devices (that is, the virtual bus network and the subnetwork have a mapping relationship).
[0068] Further, as shown in FIG. 2a, in the plurality of physical device pools, each physical device has an interface of a certain type. For any physical device, the physical device can access the high-speed interconnect bus switch through the interface it has, and then communicate with the rest of the physical devices through the high-speed interconnect bus.
[0069] Further, for the logical node of a tenant, the logical node can generally be regarded as a cloud instance in the infrastructure, which can be presented in various ways. For example, the cloud instance can be a physical server selected by the cloud management platform in the infrastructure, or a bare metal server selected by the cloud management platform in the infrastructure, or a virtual machine (VM) created by the cloud management platform in the infrastructure through virtualization technology, or a container (docker) created by the cloud management platform in the infrastructure through virtualization technology, or a micro VM created by the cloud management platform in the infrastructure through virtualization technology, and the like.
[0070] Further, for the plurality of physical device pools, the plurality of physical device pools can be deployed in the same site or different sites. The site can be presented in various forms. For example, the site can be a region in the infrastructure, or an availability zone in the infrastructure, or a data center (DC) in the infrastructure, or a room in the infrastructure, and the like.
[0071] Further, the high-speed interconnect network built between the plurality of physical device pools can be implemented based on a plurality of high-speed interconnect bus switches. Assuming that the plurality of physical device pools are deployed across a data center, the data center often contains a plurality of racks for placing a plurality of physical devices in each physical device pool. In order to enable communication between physical devices in different racks, at least one high-speed interconnect bus switch needs to be deployed in each rack. In this way, communication between racks can be achieved through high-speed interconnect bus switches, thereby forming a high-speed interconnect network within the data center.
[0072] Further, the high-speed interconnection network described above can have various forms of presentation. For example, the high-speed interconnection network can be a peripheral component interconnect express (PCIE) network. For another example, the high-speed interconnection network can also be an infiniBand (IB) network. For another example, the high-speed interconnection network can also be a compute express link (CXL) network. For another example, the high-speed interconnection network can also be an interconnection network between devices developed by a cloud vendor (the bandwidth of the network also needs to be not less than 40G / S), and the like. Accordingly, the high-speed interconnection device accessed by each physical device can be a communication device based on a PCIE protocol, a CXL protocol, an IB protocol, or a communication protocol developed by a cloud vendor. Similarly, the interface of the physical device in each physical device pool for accessing the high-speed interconnection network can be a PCIE interface, a CXL interface, an IB interface, or an interface developed by a cloud vendor, and the like.
[0073] Based on the cloud service system, when a tenant needs to create a logical node, the tenant can send a logical node creation request for the logical node to a creation interface provided by the cloud management platform. Therefore, the cloud management platform can receive the logical node creation request sent by the tenant through the creation interface. Since the logical node creation request contains the specification requirements (including CPU requirements, memory requirements, network card requirements, and disk requirements, etc.) set by the tenant for the logical node, the cloud management platform can select idle physical devices (including CPUs, memories, network cards, and disks, etc.) that meet the specification requirements set by the tenant for the logical node from a plurality of physical device pools (including a CPU device pool, a memory device pool, a network card device pool, and a disk device pool, etc.), and create the logical node on these physical devices. Then, the cloud management platform can install the operating system image specified by the tenant on the logical node, and the logical node installed with the operating system image can be remotely logged in and accessed by the tenant. The logical node installed with the operating system image can generate a message to be forwarded based on the remote access operation of the tenant, and write the message to a queue created in real time by a network card implementing the logical node, and notify the network card to obtain the message from the queue to complete the forwarding of the message, thereby meeting the business requirements of the tenant. In the foregoing process, since the logical node of the tenant is implemented based on at least one CPU, at least one memory, at least one network card, and at least one disk selected by the cloud management platform according to the specification requirements set by the tenant for the logical node, when the tenant remotely accesses the logical node, the logical node will trigger the generation of a message to be forwarded (for example, a data processing request to be forwarded to another logical node, etc.), and the logical node can write the message to a queue created in real time by one of the at least one network card to notify the network card to read the message from the queue and complete the forwarding of the message. As can be seen, the queue resource provided by the at least one network card for the logical node is no longer allocated in advance, but allocated in real time as needed. Therefore, the at least one network card does not need to allocate resources in advance to create a queue in advance, and the resources of the at least one network card can be used for other aspects, thereby improving the resource utilization rate of the network card. In order to understand the workflow of the cloud management platform, the following further introduces the workflow in combination with FIG. 3. FIG. 3 is a flowchart of a logical node configuration method based on a cloud management platform provided by an embodiment of the present application. As shown in FIG. 3, the method can be implemented through the cloud service system shown in FIG. 1. The cloud service system includes infrastructure providing cloud services for tenants and a cloud management platform managing the infrastructure. The infrastructure can include a CPU device pool, a memory device pool, a network card device pool, and a disk device pool. The plurality of CPUs in the CPU device pool, the plurality of memories in the memory device pool, the plurality of network cards in the network card device pool, and the plurality of disks in the disk device pool are connected to a high-speed interconnection network, which is used to implement the interconnection of physical devices in each physical device pool in the infrastructure. The method includes:
[0074] 301. The cloud management platform obtains a logical node creation request inputted by a tenant, the logical node creation request comprising a specification requirement of the logical node, the specification requirement comprising a CPU requirement, a memory requirement, a network card requirement and a disk requirement.
[0075] In this embodiment, when the tenant needs to create a logical node dedicated to the tenant, the cloud management platform can provide a creation interface (e.g., a logical node creation bar of a tenant interface, etc.) to a client of the tenant. Then, the tenant can input a logical node creation request for the logical node to the creation interface through the client used by the tenant. In this way, the cloud management platform can receive the logical node creation request for the logical node sent by the tenant through the client via the creation interface. It is worth noting that the logical node creation request for the logical node contains a specification requirement of the logical node set by the tenant, the specification requirement comprising a CPU requirement, a memory requirement, a network card requirement and a disk requirement, wherein the CPU requirement is used to describe the specification of the CPU required for creating the logical node, the memory requirement is used to describe the specification of the memory required for creating the logical node, the network card requirement is used to describe the specification of the network card required for creating the logical node, and the disk requirement is used to describe the specification of the disk required for creating the logical node.
[0076] Further, the specification requirement of the logical node can also contain an extension processor requirement, the extension processor requirement being used to describe the specification of the extension processor required for creating the logical node.
[0077] 302. The cloud management platform creates the logical node in response to the logical node specification creation request, wherein the logical node is implemented based on at least one CPU in the CPU device pool that meets the CPU requirement and is idle, at least one memory in the memory device pool that meets the memory requirement and is idle, at least one network card in the network card device pool that meets the network card requirement and is idle, and at least one disk in the disk device pool that meets the disk requirement and is idle.
[0078] After obtaining the logical node creation request for the logical node, the cloud management platform can parse the specification requirement of the logical node from the logical node creation request. Since the requirement contains CPU requirement, memory requirement, network card requirement and disk requirement, the cloud management platform can select (at least one) CPU meeting the CPU requirement and being idle from the CPU device pool, select (at least one) memory meeting the memory requirement and being idle from the memory device pool, select (at least one) network card meeting the network card requirement and being idle from the network card device pool, and select (at least one) disk meeting the disk requirement and being idle from the disk device pool. Then, the cloud management platform can create the logical node on the CPUs, the memories, the network cards and the disks, and the logical node contains virtual CPUs implemented based on the CPUs, virtual memories implemented based on the memories, virtual network cards implemented based on the network cards, virtual disks implemented based on the disks and a virtual bus network. It should be noted that, in the logical node, since the CPUs, the memories, the network cards and the disks are all connected to the sub-network of the high-speed interconnection network, i.e., the CPUs, the memories, the network cards and the disks can communicate through the sub-network, the virtual bus network implemented based on the sub-network can be logically connected with the virtual CPUs, the virtual memories, the virtual network cards and the virtual disks respectively, i.e., the virtual CPUs, the virtual memories, the virtual network cards and the virtual disks can communicate through the virtual bus network.
[0079] Further, when the logical node specification requirement can also contain extension processor requirement, the cloud management platform can also select (at least one) extension processor meeting the extension processor requirement and being idle from the extension processor device pool, and create the logical node on the CPUs, the extension processors, the memories, the network cards and the disks. Accordingly, the logical node contains virtual CPUs implemented based on the CPUs, virtual extension processors implemented based on the extension processors, virtual memories implemented based on the memories, virtual network cards implemented based on the network cards, virtual disks implemented based on the disks and a virtual bus network. It should be noted that the virtual bus network can be logically connected with the virtual CPUs, the virtual extension processors, the virtual memories, the virtual network cards and the virtual disks respectively, i.e., the virtual CPUs, the virtual extension processors, the virtual memories, the virtual network cards and the virtual disks can communicate through the virtual bus network.
[0080] Specifically, the virtual network card included in the logical node can include a plurality of second virtualization devices (which can also be referred to as sub-virtual network cards), and at least one network card used to implement the virtual network card can include a plurality of first virtualization devices (which can also be referred to as virtual functions (VF)), each of which can provide a plurality of (physical) queues for the logical node, and the number of queues that each first virtualization device can provide can be set according to actual needs (for example, the needs of a tenant or the needs set by default by a cloud management platform, etc., which are not limited here). The plurality of first virtualization devices can be directly connected to the plurality of second virtualization devices, and the plurality of first virtualization devices correspond one-to-one to the plurality of second virtualization devices.
[0081] Since the logical node includes the plurality of second virtualization devices, and the plurality of virtualization devices correspond one-to-one to the plurality of first virtualization devices included in at least one network card used to implement the virtual network card, the logical node believes that the plurality of first virtualization devices can all be allocated (created) a plurality of virtual queues for the logical node, but for any one of the plurality of first virtualization devices, although the first virtualization device can allocate a plurality of virtual queues for the logical node, the first virtualization device does not map the plurality of virtual queues using the storage resources of the network card on which the first virtualization device is located, that is, the first virtualization device does not actually create the physical queues corresponding to the plurality of virtual queues. Only when the logical node has an actual message (for example, various types of requests) to send to the first virtualization device, the first virtualization device will actually create a physical queue corresponding to a virtual queue in real time to write the message, at which time the physical queue will occupy the storage resources of the network card on which the first virtualization device is located. As can be seen, the plurality of first virtualization devices can all implement real on-demand allocation of queue resources (physical queues occupying storage resources), thereby implementing queue oversubscription.
[0082] In addition, for any one of the plurality of first virtualization devices, the second virtualization device corresponding to the first virtualization device records the number of virtual queues that the first virtualization device can create (for the logical node) and the number of virtual queues that the first virtualization device has created (for the logical node). Since virtual queues and physical queues are one-to-one, the number of virtual queues that the first virtualization device can create can also be understood as the number of physical queues that the first virtualization device can create, and the number of virtual queues that the first virtualization device has created can also be understood as the number of physical queues that the first virtualization device has created. Therefore, the part of virtual queues that the first virtualization device has created is equivalent to the part of physical queues that the first virtualization device has created corresponding to the part of virtual queues, and this part of physical queues occupies the storage resources of the network card on which the first virtualization device is located.
[0083] The same is true for the second virtualization device corresponding to the remaining first virtualization device, so the plurality of second virtualization devices can record the number of virtual queues that the plurality of first virtualization devices can create and the number of virtual queues that the plurality of first virtualization devices have created.
[0084] For example, as shown in FIG. 4 (which is a structural schematic diagram of a logical node provided by an embodiment of the present application), when a tenant needs to create a logical node, the tenant can log in to a cloud management platform, and the cloud management platform can provide a tenant interface for the tenant, which can include a logical node creation column, so the tenant can input a logical node creation request to the logical node creation column. In this way, the cloud management platform can receive the logical node creation request sent by the tenant. In this way, the cloud management platform can select a CPU, memory, network card, disk, and NPU that meet the specification requirements set by the tenant based on the request, and create a logical node of the tenant on these devices.
[0085] The logical node can be configured with a virtual network card, which includes n sub-driver modules, and the network card of the logical node can be configured with n VFs (for example, n = 1000, etc., which is not limited here), the n VFs are directly connected to n sub-virtual network cards, and they are one-to-one correspondence, for example, VF1 is directly connected to sub-virtual network card 1, VF2 is directly connected to sub-virtual network card 2,..., and VFn is directly connected to sub-virtual network card n.
[0086] For the n VFs, each VF can create 64 virtual queues (physical queues) for the logical node, but each VF does not really map the corresponding storage resources (storage space) to these virtual queues. Only when the logical node needs to use these virtual queues, each VF will really allocate the corresponding storage resources to these virtual queues, that is, create the physical queues corresponding to these virtual queues.
[0087] For the n sub-virtual network cards, each sub-virtual network card can record the number of virtual queues (max_queue) that its corresponding VF can create and the number of virtual queues (used_queue) that the VF has created, that is, sub-virtual network card 1 records the number of virtual queues that VF1 can create and the number of virtual queues that VF1 has created,..., and sub-virtual network card n records the number of virtual queues that VFn can create and the number of virtual queues that VFn has created, for example, sub-virtual network card 1 records that VF1 can create 64 virtual queues, and VF1 has created 2 virtual queues, that is, VF1 has created 2 virtual queues and the physical queues corresponding to the 2 virtual queues, respectively. The 2 physical queues have occupied the storage resources of the network card where VF1 is located, that is, the 2 physical queues have written (stored) the packets sent by the logical node.
[0088] More specifically, for any one of the first virtualization devices, the first virtualization device can assign a virtual address to the virtual queue it creates, and assign a physical address to the physical queue it creates, it is worth noting that when the first virtualization device creates a number of virtual queues and a number of physical queues corresponding to the number of virtual queues, the virtual addresses assigned by the first virtualization device to the number of virtual queues are continuous, and the virtual queues of the number of virtual queues can correspond to the physical addresses of the number of physical queues, but the physical addresses of the number of physical queues are usually discontinuous, since the physical addresses of the number of physical queues usually point to storage resources at discontinuous locations in the memory (such as doorbell filter, etc.) of the network card where the first virtualization device is located, so it can be understood that the number of physical queues respectively occupy discontinuous storage resources in the network card.
[0089] Still as the above example, as shown in FIG. 5 (FIG. 5 is another structure schematic diagram of a logical node provided by an embodiment of the present application), the network card used to implement the logical node can be configured with a mapping table, the mapping table takes the IDs of VF1 to VFn as indexes, the first layer of the mapping table can record the virtual addresses of the virtual queues created by VF1 to VFn, and the second layer of the mapping table can record the physical addresses of the physical queues created by VF1 to VFn, the virtual addresses recorded by the first layer are in one-to-one correspondence with the physical addresses recorded by the second layer, and the physical addresses recorded by the second layer can be used to access the storage resources at corresponding positions in the memory of the network card, that is, the storage resources occupied by the physical queues, and these storage resources are used to store packets, when the storage resources of a certain physical queue are written with packets, it is equivalent to that the physical queue is written with packets.
[0090] It is to be noted that in the first layer of the mapping table, for any one VF, the virtual addresses of the virtual queues created by the VF are continuous, and in the second layer of the mapping table, for any one VF, the physical addresses of the physical queues created by the VF are discontinuous. For example, assuming that VF1 has created 3 virtual queues (virtual queue 1 to virtual queue 3), the virtual addresses of the 3 virtual queues are continuous in the first layer, and correspondingly, VF1 has also created 3 physical queues (physical queue 1 to physical queue 3), the physical addresses of the 3 physical queues are discontinuous in the second layer, so the storage resources occupied by the 3 physical queues are also discontinuous. The same is true for the remaining VFs, which will not be described here.
[0091] It should be understood that in the embodiment, only the stateful queues are illustratively introduced, and the virtual queues and the physical queues can also be stateless queues. Each first virtualization device can only create one virtual queue and one physical queue, and thus the virtual address of the virtual queue and the physical address of the physical queue are independent.
[0092] 303. The cloud management platform determines the operating system image input or selected by the tenant.
[0093] 304. The cloud management platform notifies the logical node to install the operating system image. The logical node installed with the operating system image generates a packet to be forwarded based on the remote access operation of the tenant, writes the packet into a queue created in real time by at least one network card, and notifies the at least one network card to obtain the packet from the queue to forward the packet.
[0094] After the logical node is created, the cloud management platform can remind the tenant to provide a self-made operating system image or an operating system image selected by the tenant on the cloud management platform. Then, the cloud management platform can install the operating system image specified by the tenant on the logical node, and the logical node installed with the operating system image can be remotely logged in and accessed by the tenant, so that the logical node installed with the operating system image can generate a packet to be forwarded based on the remote access operation of the tenant (for example, the packet can be a data processing request generated after the tenant remotely accesses the operating system image of the logical node according to the business needs of the tenant, and if the data processing request needs to be processed by another logical node, the logical node installed with the operating system image needs to send the data processing request to another logical node through a network card). Then, the logical node installed with the operating system image can select a network card from at least one network card implementing the logical node, write the packet into a queue created in real time by the network card, and notify the network card to read the packet from the queue in a certain way to complete the forwarding of the packet (for example, the data processing request is forwarded to another logical node for processing), thereby meeting the business needs of the tenant.
[0095] Specifically, the logical node installed with the operating system image can transmit the packet to be forwarded to the network card implementing the logical node in the following ways:
[0096] After obtaining the packet to be transmitted, since the logical node with the installed operating system image contains multiple second virtualization devices, the logical node with the installed operating system image can select one available second virtualization device from the multiple second virtualization devices, and notify the available second virtualization device to write the packet into a virtual queue created in real time by the available first virtualization device. Since the first virtualization device also creates a physical queue corresponding to the virtual queue when creating the virtual queue, after the available second virtualization device writes the packet into the virtual queue, since the available first virtualization device also creates a physical queue corresponding to the virtual queue in real time, the packet is equivalent to being written into the physical queue, thereby completing the temporary storage of the packet. The available first virtualization device refers to the first virtualization device corresponding to the available second virtualization device.
[0097] After completing the storage of the packet, the available second virtualization device can also notify the available first virtualization device to read the packet from the physical queue, and complete the forwarding of the packet.
[0098] Still as in the above example, as shown in FIG. 6 (FIG. 6 is another structure schematic diagram of a logical node provided by an embodiment of the present application, and FIG. 6 is obtained based on FIG. 4 and FIG. 5), after creating the logical node of the tenant, the cloud management platform can also install the operating system image designated by the tenant on the logical node, that is, the logical node has an operating system, so that the logical node with the installed operating system can run the application of the tenant. Then, the tenant can remotely log in to the logical node with the installed operating system to access the application. Based on the remote access operation of the tenant, the application can generate a packet to be forwarded (for example, a data processing request requiring processing by the application of another logical node, etc.), and the application can select the available sub-virtual network card 1 from the sub-virtual network card 1 to sub-virtual network card n, and notify the sub-virtual network card 1 to write the packet into the virtual queue 4 created in real time by VF1. Since VF1 also creates a physical queue 4 corresponding to the virtual queue 4 in real time, the packet is equivalent to being written into the physical queue 4.
[0099] Then, the sub-virtual network card 1 can notify VF1 to read the packet from the physical queue 4 through a certain mechanism (for example, the mechanism of DoorBell), thereby completing the forwarding of the packet.
[0100] More specifically, the logical node with the installed operating system image can select the available second virtualization device in the following manner:
[0101] Since the logical node with the operating system image installed contains a plurality of second virtualization devices, and the plurality of second virtualization devices record the number of virtual queues that can be created by the plurality of first virtualization devices and the number of virtual queues that have been created by the plurality of first virtualization devices, for any one of the plurality of second virtualization devices, if the number of virtual queues that can be created by the first virtualization device corresponding to the second virtualization device is greater than the number of virtual queues that have been created by the first virtualization device, the logical node with the operating system image installed can determine the second virtualization device as a usable second virtualization device, and accordingly, the first virtualization device corresponding to the usable second virtualization device is a usable first virtualization device. If the number of virtual queues that can be created by the first virtualization device is equal to the number of virtual queues that have been created by the first virtualization device, the logical node with the operating system image installed determines the second virtualization device as a non-usable second virtualization device, and accordingly, the first virtualization device corresponding to the non-usable second virtualization device is a non-usable first virtualization device.
[0102] Still as in the above example, after the application generates the packet to be forwarded, in the sub-virtual network cards 1 to n, for the virtual network card 1, since the virtual network card 1 records that the number of virtual queues that can be created by VF1 is 64 and the number of virtual queues that have been created by VF1 is 3, the application can determine that the sub-virtual network card 1 is a usable sub-virtual network card, and write the packet into the virtual queue 4 created by VF1 in real time, which is equivalent to writing the packet into the physical queue 4 created by VF1 in real time. Assuming that the sub-virtual network card 2 records that the number of virtual queues that can be created by VF2 is 64 and the number of virtual queues that have been created by VF2 is 64, the application can determine that the sub-virtual network card 2 is a non-usable sub-virtual network card. For the remaining sub-virtual network cards, the same is true, which will not be described here. It should be noted that if the application determines that there are a plurality of usable sub-virtual network cards, it can randomly or through other means select one as a final usable sub-virtual network card, which is not limited here.
[0103] More specifically, based on the foregoing description, it is known that the physical addresses assigned to the plurality of physical queues created by the usable first virtualization device are not continuous, and therefore the physical addresses of the physical queues created in real time (at present) by the usable first virtualization device and the physical addresses of the physical queues already created (at a previous time) by the usable first virtualization device are not continuous.
[0104] Still as the above example, as shown in FIG. 7 (FIG. 7 is another structure diagram of a logical node provided by an embodiment of the present application, and FIG. 7 is drawn on the basis of FIG. 5), after VF1 creates the virtual queue 4 and the physical queue 4, VF1 can index to the part of the mapping table in which the virtual addresses of the virtual queue 1 to the virtual queue 3 are stored based on its ID, and take the subsequent address of the virtual address of the virtual queue 3 as the address of the virtual queue 4, so that the virtual addresses of the virtual queue 1 to the virtual queue 4 are continuous. VF1 can also index to the part of the mapping table in which the physical addresses of the physical queue 1 to the physical queue 3 are stored based on its ID, and select an idle address as the physical address of the physical queue 4, the physical address of the physical queue 4 is not continuous with the physical addresses of the other three physical queues, so the storage resource pointed by the physical address of the physical queue 4 is not continuous with the storage resources pointed by the physical addresses of the other three physical queues.
[0105] More specifically, the cloud management platform can further perform the following operations:
[0106] The logical node creation request provided by the tenant to the cloud management platform further includes the service that the tenant sets for the logical node to complete, so that the cloud management platform can determine the service that the logical node needs to complete after analyzing the logical node creation request, and analyze the service, so as to determine the first service attribute and the second service attribute of the virtualization device in the network card used to realize the logical node. When the cloud management platform creates the logical node on the selected at least one CPU, at least one memory, at least one network card and at least one disk, it can further configure a plurality of third virtualization devices with the first service attribute and a plurality of fourth virtualization devices with the second service attribute in the at least one network card. It can be understood that the plurality of third virtualization devices and the plurality of fourth virtualization devices are the plurality of second virtualization devices mentioned above.
[0107] It should be noted that the plurality of third virtualization devices can be any one of the virtualization devices with various service attributes such as virtio-NIC, virtio-net, virtio-blk and virtio-SCSI, and similarly, the plurality of fourth virtualization devices can be any one of the virtualization devices with various service attributes such as virtio-NIC, virtio-net, virtio-blk and virtio-SCSI, and the third virtualization device and the fourth virtualization device are usually virtualization devices with different service attributes (or types).
[0108] Further, after the tenant remotely accesses the logical node installed with the operating system image, since the remote access operation of the tenant can represent the business actually performed by the logical node at the request of the tenant, the cloud management platform can determine the difference between the business actually performed by the logical node and the business required to be completed by the logical node, to adjust the number of the third virtualization devices and the number of the fourth virtualization devices based on the difference, for example, increase the number of the third virtualization devices, and reduce the number of the fourth virtualization devices, and the like, which are not limited herein.
[0109] Still as the above example, as shown in FIG. 8 (FIG. 8 is another structure schematic diagram of the logical node provided by the embodiment of the present application, which is drawn on the basis of FIG. 4), since the logical node creation request of the tenant contains the business required to be completed by the logical node of the tenant, the cloud management platform can determine that two business attribute virtualization devices, i.e., virtio-net and virtio-SCSI, are required to be contained in the network card of the logical node based on the business. Then, after the logical node is created, the cloud management platform can configure the network card used to implement the logical node to contain VF1 to VFn, and configure VF1 to VFn / 2 as virtio-net, and VFn / 2+1 to VFn as virtio-SCSI.
[0110] When the tenant remotely accesses the application in the logical node installed with the operating system, the cloud management platform can analyze the difference between the business actually performed by the logical node and the business required to be performed by the logical node based on the remote access operation. Then, the cloud management platform can increase the number of virtio-net and reduce the number of virtio-SCSI based on the difference. Of course, in other cases, new business attribute virtualization devices can be added or devices of a certain business attribute can be removed, and the like, which are not limited herein.
[0111] In the embodiments of the present application, when a tenant needs to create a logical node, the tenant can send a logical node creation request for the logical node to a creation interface provided by the cloud management platform, and therefore the cloud management platform can receive the logical node creation request sent by the tenant through the creation interface. Since the logical node creation request contains the specification requirements (including CPU requirements, memory requirements, network card requirements, and disk requirements, etc.) set by the tenant for the logical node, the cloud management platform can select idle physical devices (including CPUs, memories, network cards, and disks, etc.) that meet the specification requirements set by the tenant for the logical node from a plurality of physical device pools (including a CPU device pool, a memory device pool, a network card device pool, and a disk device pool, etc.), and create the logical node on these physical devices. Then, the cloud management platform can install the operating system image specified by the tenant on the logical node, and the logical node installed with the operating system image can be remotely logged in and accessed by the tenant. The logical node installed with the operating system image can generate a message to be forwarded based on the remote access operation of the tenant, and write the message to a queue created in real time by a certain network card implementing the logical node, and notify the network card to obtain the message from the queue to complete the forwarding of the message, thereby meeting the business requirements of the tenant. In the foregoing process, since the logical node of the tenant is implemented based on the cloud management platform according to the CPU, memory, network card, and disk selected by the tenant for the specification requirements of the logical node, when the tenant remotely accesses the logical node, the logical node will trigger the generation of a message to be forwarded. The logical node can write the message to a queue created in real time by one of the at least one network card to notify the network card to read the message from the queue and complete the forwarding of the message. As can be seen, the queue resource provided by the at least one network card for the logical node is no longer allocated in advance, but allocated in real time as needed, and therefore the at least one network card does not need to allocate resources in advance to create a queue in advance, and the resources of the at least one network card can be used for other aspects, thereby improving the resource utilization rate of the network card.
[0112] Further, in the embodiments of the present application, the logical node created by the cloud management platform for the tenant can be implemented based on at least one CPU and at least one network card. When the logical node is implemented based on a plurality of CPUs and one network card, the network card can be shared for use by the plurality of CPUs, thereby realizing a one-to-many network resource usage mode, and also improving the resource utilization rate of the network card.
[0113] Further, in the embodiments of the present application, when creating the logical node, the cloud management platform can configure the business attributes of the virtualization device (i.e., the second virtualization device described above) in the network card used to implement the logical node according to the business requirements of the tenant, and can also adjust the business attributes of the virtualization device in the network card according to the actual business of the tenant subsequently, which can further improve the resource utilization rate of the network card.
[0114] The above is a detailed description of the cloud service-based logical node configuration method provided by the embodiments of the present application. The cloud management platform provided by the embodiments of the present application will be introduced below. FIG. 9 is a structural schematic diagram of a cloud management platform provided by an embodiment of the present application. As shown in FIG. 9, the cloud management platform is used to manage infrastructure, and the infrastructure includes a CPU device pool, a memory device pool, a network card device pool, and a disk device pool. The plurality of CPUs in the CPU device pool, the plurality of memories in the memory device pool, the plurality of network cards in the network card device pool, and the plurality of disks in the disk device pool are all connected to a high-speed interconnection network, wherein the high-speed interconnection network is used to realize the interconnection of the devices in each device pool in the infrastructure within the pool and between the pools. The cloud management platform includes:
[0115] The obtaining module 901 is configured to obtain a logical node creation request input by a tenant, wherein the logical node creation request includes a specification requirement of a logical node, and the specification requirement includes a CPU requirement, a memory requirement, a network card requirement, and a disk requirement. For example, the obtaining module 901 is configured to implement the step 301 in the embodiment shown in FIG. 3.
[0116] The creating module 902 is configured to create a logical node in response to the logical node specification creation request, wherein the logical node is implemented based on at least one CPU in the CPU device pool that meets the CPU requirement and is idle, at least one memory in the memory device pool that meets the memory requirement and is idle, at least one network card in the network card device pool that meets the network card requirement and is idle, and at least one disk in the disk device pool that meets the disk requirement and is idle. For example, the creating module 902 is configured to implement the step 302 in the embodiment shown in FIG. 3.
[0117] The determining module 903 is configured to determine an operating system image input or selected by the tenant. For example, the determining module 903 is configured to implement the step 303 in the embodiment shown in FIG. 3.
[0118] The installing module 904 is configured to notify the logical node to install the operating system image. The logical node on which the operating system image is installed generates a message to be forwarded based on remote access operations of the tenant, writes the message into a queue created in real time by at least one network card, and notifies the at least one network card to obtain the message from the queue to forward the message. For example, the installing module 904 is configured to implement the step 304 in the embodiment shown in FIG. 3.
[0119] In a possible implementation, the at least one network card includes a plurality of first virtualization devices, each of which is configured to provide a plurality of queues for a logical node, the logical node includes a plurality of second virtualization devices, the plurality of first virtualization devices are directly connected to the plurality of second virtualization devices, and the plurality of first virtualization devices correspond to the plurality of second virtualization devices in a one-to-one manner; and the logical node with the installed operating system image writes the message into a queue created in real time by the at least one network card, including: the logical node with the installed operating system image determines an available second virtualization device from the plurality of second virtualization devices, and informs the available second virtualization device to write the message into a queue created in real time by an available first virtualization device, the available second virtualization device corresponding to the available first virtualization device.
[0120] In a possible implementation, the available first virtualization device allocates a physical address for the queue created in real time, and the available first virtualization device allocates a discontinuous physical address for the created queue.
[0121] In a possible implementation, the plurality of second virtualization devices record a number of queues that can be created by the plurality of first virtualization devices, and a number of queues that have been created by the plurality of first virtualization devices; and the logical node with the installed operating system image determines an available second virtualization device from the plurality of second virtualization devices, including: for any one of the plurality of second virtualization devices, if a number of queues that can be created by a first virtualization device corresponding to the second virtualization device is greater than a number of queues that have been created by the first virtualization device, the logical node with the installed operating system image determines the second virtualization device as the available second virtualization device.
[0122] In a possible implementation, if the number of queues that can be created by the first virtualization device is equal to the number of queues that have been created by the first virtualization device, the logical node with the installed operating system image determines the second virtualization device as an unavailable second virtualization device.
[0123] In a possible implementation, the logical node creation request further includes a service to be completed by the logical node, and the cloud management platform further includes: a configuration module configured to determine a first service attribute and a second service attribute of the virtualization device based on the service, and configure a plurality of third virtualization devices with the first service attribute and a plurality of fourth virtualization devices with the second service attribute in the at least one network card, the plurality of third virtualization devices and the plurality of fourth virtualization devices serving as the plurality of second virtualization devices.
[0124] In a possible implementation, the cloud management platform further includes: an adjustment module configured to adjust a number of the plurality of third virtualization devices and a number of the plurality of fourth virtualization devices based on the remote access operation.
[0125] In a possible implementation, the infrastructure further includes an extended processor device pool, the extended processor device pool including a plurality of extended processors, the plurality of extended processors in the extended processor device pool each being accessed into the high-speed interconnection network, the specification requirement further including an extended processor requirement, and the logical node being implemented based on at least one extended processor in the extended processor device pool that meets the extended processor requirement and is idle.
[0126] In a possible implementation, the plurality of extended processors in the extended processor device pool include one or any combination of an NPU, a GPU, a TPU, and a DPU.
[0127] In a possible implementation, the high-speed interconnection network is implemented through a PCIE network, an IB network, or a CXL network.
[0128] It should be noted that the information interaction and implementation process between the modules / units of the apparatus are based on the same concept as the method embodiments of the present application, and the technical effects brought by the same are the same as those of the method embodiments of the present application. For details, refer to the foregoing description of the method embodiments of the present application, which will not be repeated here.
[0129] Referring to FIG. 10, FIG. 10 is a structural schematic diagram of a computing device provided by an embodiment of the present application. As shown in FIG. 10, the computing device 1000 (which can be used to present the cloud management platform) includes a processor 1001, a memory 1002, a communication interface 1003, and a bus 1004, the processor 1001, the memory 1002, and the communication interface 1003 being coupled through the bus (not labeled in the figure). The memory 1002 stores instructions, and when the instructions in the memory 1002 are executed, the computing device 1000 performs the method performed by the cloud management platform in the method embodiments.
[0130] The computing device 1000 can be one or more integrated circuits (ICs) configured to implement any of the above methods, for example: one or more application specific integrated circuits (ASICs), or, one or more digital signal processors (DSPs), or, one or more field programmable gate arrays (FPGAs), or a combination of at least two of these forms of integrated circuitry. As another example, when units of the apparatus can be implemented by way of a processing element scheduler, the processing element can be a general purpose processor, such as a central processing unit (CPU) or other processor that can call procedures. As another example, these units can be integrated together in a system-on-a-chip (SOC) form.
[0131] The processor 1001 can be a central processing unit (CPU), a general purpose processor, a digital signal processor (DSP), an application specific integrated circuit (ASIC), a field programmable gate array (FPGA) or other programmable logic device, a transistor logic device, a hardware component, or any combination thereof. The general purpose processor can be a microprocessor, or any conventional processor.
[0132] The memory 1002 can be a volatile memory or a nonvolatile memory, or can include both volatile and nonvolatile memory. Among them, the nonvolatile memory can be a read-only memory (ROM), a programmable ROM (PROM), an erasable PROM (EPROM), an electrically EPROM (EEPROM), or a flash memory. The volatile memory can be a random access memory (RAM) used as an external cache. By way of example, and not limitation, many forms of RAM can be used, such as static RAM (SRAM), dynamic RAM (DRAM), synchronous dynamic RAM (SDRAM), double data rate SDRAM (DDR SDRAM), enhanced SDRAM (ESDRAM), synchlink DRAM (SLDRAM), and direct rambus RAM (DR RAM).
[0133] The executable program code stored in the memory 1002 is executed by the processor 1001 to realize the functions of the aforementioned acquisition module, creation module, determination module, and installation module, and the like, thereby realizing the aforementioned cloud service-based logical node configuration method. That is, the memory 1002 has instructions for executing the aforementioned cloud service-based logical node configuration method.
[0134] The communication interface 1003 uses a transceiving module such as, but not limited to, a network interface card, a transceiver, and the like, to realize the communication between the computing device 1000 and other devices or communication networks.
[0135] Bus 1004 can include a data bus, a power bus, a control bus, and a state signal bus, among others. The bus can be a peripheral component interconnect express (PCIe) bus, or an extended industry standard architecture (EISA) bus, a unified bus (Ubus or UB), a compute express link (CXL), a cache coherent interconnect for accelerators (CCIX), or the like. The bus can be divided into an address bus, a data bus, a control bus, and the like.
[0136] Referring to FIG. 11, FIG. 11 is a structural schematic diagram of a computing device cluster provided by an embodiment of the present application. As shown in FIG. 11, the computing device cluster 1100 includes at least one computing device 1000.
[0137] As shown in FIG. 11, the computing device cluster 1100 includes at least one computing device 1000. The memory 1002 in one or more computing devices 1000 in the computing device cluster 1100 can store the same instructions for performing the cloud service-based logical node configuration method described above.
[0138] In some possible implementation manners, the memory 1002 in one or more computing devices 1000 in the computing device cluster 1100 can also respectively store partial instructions for performing the cloud service-based logical node configuration method described above. In other words, the combination of one or more computing devices 1000 can collectively perform the cloud service-based logical node configuration method described above.
[0139] It should be noted that the memory 1002 in different computing devices 1000 in the computing device cluster 1100 can store different instructions, respectively, for performing part of the functions of the cloud management platform described above. That is, the instructions stored in the memory 1002 in different computing devices 1000 can implement the functions of one or more of the obtaining module, the creating module, the determining module, and the installing module, and the like.
[0140] In some possible implementation manners, one or more computing devices 1000 in the computing device cluster 1100 can be connected through a network. The network can be a wide area network or a local area network, and the like.
[0141] Referring to FIG. 12, FIG. 12 is a schematic diagram of the connection of the computer devices in the computer cluster provided in the embodiments of the present application through a network. As shown in FIG. 12, the two computer devices 1000A and 1000B are connected through a network. Specifically, the communication interface in each computer device is connected to the network.
[0142] In a possible implementation, the memory in the computer device 1000A stores instructions for performing the functions of the obtaining module and the like. Meanwhile, the memory in the computer device 1000B stores instructions for performing the functions of the creating module, the determining module, the installing module and the like.
[0143] It should be understood that the functions of the computer device 1000A shown in FIG. 12 can also be completed by multiple computer devices. Similarly, the functions of the computer device 1000B can also be completed by multiple computer devices.
[0144] The embodiments of the present application also relate to a computer storage medium, which stores a program for performing signal processing, and when the program is run on a computer, the computer executes the steps performed by the cloud management platform in the embodiment shown in FIG. 3.
[0145] The embodiments of the present application also relate to a computer program product, which stores instructions, and when the instructions are executed by a computer, the computer executes the steps performed by the cloud management platform in the embodiment shown in FIG. 3.
[0146] Those skilled in the art can clearly understand that, for the convenience and brevity of description, the specific working processes of the above-described system, device and unit can refer to the corresponding processes in the foregoing method embodiments, which will not be described herein.
[0147] In the several embodiments of the present application, it should be understood that the disclosed system, device and method can be implemented in other ways. For example, the device embodiments described above are only schematic. The division of the units is only a logical function division. There can be another division manner for actual implementation. For example, a plurality of units or components can be combined or integrated into another system, or some features can be ignored or not executed. In addition, the displayed or discussed mutual couplings or direct couplings or communication connections can be indirect couplings or communication connections through some interfaces, devices or units, and can be electrical, mechanical or in other forms.
[0148] The units described as separate components may or may not be physically separate, and the components displayed as units may or may not be physical units, that is, may be located in one place, or may be distributed to multiple network units. Part or all of the units can be selected according to actual needs to achieve the purpose of the embodiment scheme.
[0149] In addition, the functional units in each embodiment of the present application can be integrated in one processing unit, or each unit can exist physically, or two or more units can be integrated in one unit. The integrated unit can be realized in the form of hardware, or in the form of a software functional unit.
[0150] The integrated unit, if realized in the form of a software functional unit and sold or used as an independent product, can be stored in a computer readable storage medium. Based on such understanding, the technical solutions of the present application essentially or the part of the prior art that contributes to the technical solutions or the whole or part of the technical solutions can be embodied in the form of a software product. The computer software product is stored in a storage medium, and includes a plurality of instructions for causing a computer device (which can be a personal computer, a server, or a network device, etc.) to execute all or part of the steps of the method described in each embodiment of the present application. The foregoing storage medium includes: a U disk, a mobile hard disk, a read-only memory (ROM, read-only memory), a random access memory (RAM, random access memory), a magnetic disk or an optical disk, and various program code storage media.
Claims
1. A cloud service-based logical node configuration method, characterized by, The method is applied to a cloud management platform for managing an infrastructure, the infrastructure including a central processing unit (CPU) device pool, a memory device pool, a network card device pool, and a disk device pool, a plurality of CPUs in the CPU device pool, a plurality of memories in the memory device pool, a plurality of network cards in the network card device pool, and a plurality of disks in the disk device pool all accessing to a high-speed interconnection network, wherein the high-speed interconnection network is used to realize the interconnection of devices in each device pool in the infrastructure within the pool and between the pools, and the method includes: The cloud management platform acquires a logical node creation request input by a tenant, the logical node creation request including a specification requirement of a logical node, the specification requirement including a CPU requirement, a memory requirement, a network card requirement, and a disk requirement; The cloud management platform creates a logical node in response to the logical node specification creation request, wherein the logical node is implemented based on at least one CPU in the CPU device pool that meets the CPU requirement and is idle, at least one memory in the memory device pool that meets the memory requirement and is idle, at least one network card in the network card device pool that meets the network card requirement and is idle, and at least one disk in the disk device pool that meets the disk requirement and is idle; The cloud management platform determines an operating system image input or selected by the tenant; The cloud management platform notifies the logical node to install the operating system image, wherein a logical node with the operating system image installed generates a message to be forwarded based on remote access operations of the tenant, writes the message to a queue created in real time by the at least one network card, and notifies the at least one network card to obtain the message from the queue to forward the message.
2. The method of claim 1, wherein, The at least one network card includes a plurality of first virtualization devices, each first virtualization device being used to provide a plurality of queues for the logical node, the logical node including a plurality of second virtualization devices, the plurality of first virtualization devices being directly connected to the plurality of second virtualization devices, and the plurality of first virtualization devices corresponding to the plurality of second virtualization devices one by one; The logical node with the operating system image installed writes the message to a queue created in real time by the at least one network card, including: The logical node with the operating system image installed determines an available second virtualization device from the plurality of second virtualization devices, and notifies the available second virtualization device to write the message to a queue created in real time by an available first virtualization device, the available second virtualization device corresponding to the available first virtualization device.
3. The method of claim 2, wherein, The available first virtualization device allocates a physical address for the queue created in real time, and the available first virtualization device allocates a physical address for the created queue as a discontinuous physical address.
4. The method of claim 3, wherein, The plurality of second virtualization devices record the number of queues that can be created by the plurality of first virtualization devices, and the number of queues that have been created by the plurality of first virtualization devices. The logical node installed with the operating system image determines the available second virtualization device from the plurality of second virtualization devices, comprising: For any one of the plurality of second virtualization devices, if the number of queues that can be created by the first virtualization device corresponding to the second virtualization device is greater than the number of queues that have been created by the first virtualization device, the logical node installed with the operating system image determines the second virtualization device as an available second virtualization device.
5. The method of claim 4, wherein, If the number of queues that can be created by the first virtualization device is equal to the number of queues that have been created by the first virtualization device, the logical node installed with the operating system image determines the second virtualization device as an unavailable second virtualization device.
6. The method according to any one of claims 2 to 5, characterized in that, The logical node creation request further comprises a service to be completed by the logical node, and the method further comprises: The cloud management platform determines first service attributes and second service attributes of the virtualization device based on the service, and configures a plurality of third virtualization devices with the first service attributes and a plurality of fourth virtualization devices with the second service attributes in the at least one network card, the plurality of third virtualization devices and the plurality of fourth virtualization devices serving as the plurality of second virtualization devices.
7. The method of claim 6, wherein, The method further comprises: The cloud management platform adjusts the number of the plurality of third virtualization devices and the number of the plurality of fourth virtualization devices based on the remote access operation.
8. The method according to any one of claims 1 to 7, characterized in that, The infrastructure further comprises an extended processor device pool, the extended processor device pool comprising a plurality of extended processors, the plurality of extended processors in the extended processor device pool being accessed into the high-speed interconnection network, the specification requirement further comprising an extended processor requirement, and the logical node being further implemented based on at least one extended processor in the extended processor device pool that meets the extended processor requirement and is idle.
9. The method of claim 8, wherein, The plurality of extended processors in the extended processor device pool comprises one or any combination of a neural network processor (NPU), a graphics processing unit (GPU), a tensor processing unit (TPU), and a data processing unit (DPU).
10. The method according to any one of claims 1 to 9, characterized in that, The high-speed interconnection network is implemented through a high-speed serial computer expansion bus standard (PCIE) network, an infinite bandwidth (IB) network, or a computing expansion connection (CXL) network.
11. A cloud management platform, characterized by, The cloud management platform is used for managing an infrastructure, the infrastructure comprising a CPU device pool, a memory device pool, a network card device pool, and a disk device pool, a plurality of CPUs in the CPU device pool, a plurality of memories in the memory device pool, a plurality of network cards in the network card device pool, and a plurality of disks in the disk device pool being accessed into a high-speed interconnection network, wherein the high-speed interconnection network is used for implementing interconnection of devices in each device pool in the infrastructure within the pool and between the pools, and the cloud management platform comprises: An acquisition module is configured to acquire a logical node creation request input by a tenant, the logical node creation request comprising a specification requirement of a logical node, the specification requirement comprising a CPU requirement, a memory requirement, a network card requirement, and a disk requirement. create a logical node in response to the logical node specification creation request, wherein the logical node is based on at least one CPU from the CPU device pool that meets the CPU requirement and is idle, at least one memory from the memory device pool that meets the memory requirement and is idle, at least one network card from the network card device pool that meets the network card requirement and is idle, and at least one disk from the disk device pool that meets the disk requirement and is idle; a determination module configured to determine an operating system image input or selected by the tenant; an installation module configured to instruct the logical node to install the operating system image, wherein the logical node with the installed operating system image generates a packet to be forwarded based on remote access operation of the tenant, writes the packet into a queue created in real time by the at least one network card, and instructs the at least one network card to obtain the packet from the queue to forward the packet.
12. The cloud management platform of claim 11, wherein, The at least one network card includes a plurality of first virtualization devices, each of which is configured to provide a plurality of queues for the logical node, and the logical node includes a plurality of second virtualization devices, the plurality of first virtualization devices are directly connected to the plurality of second virtualization devices, and the plurality of first virtualization devices correspond one-to-one to the plurality of second virtualization devices. The logical node with the installed operating system image writes the packet into a queue created in real time by the at least one network card, including: The logical node with the installed operating system image determines an available second virtualization device from the plurality of second virtualization devices, and instructs the available second virtualization device to write the packet into a queue created in real time by an available first virtualization device corresponding to the available second virtualization device.
13. The cloud management platform of claim 12, wherein, The available first virtualization device assigns a physical address to the queue created in real time, and the available first virtualization device assigns a physical address to the created queue, which is a discontinuous physical address.
14. The cloud management platform of claim 13, wherein, The plurality of second virtualization devices record a number of queues that can be created by the plurality of first virtualization devices, and a number of queues that have been created by the plurality of first virtualization devices. The logical node with the installed operating system image determines an available second virtualization device from the plurality of second virtualization devices, including: For any one of the plurality of second virtualization devices, if a number of queues that can be created by a first virtualization device corresponding to the second virtualization device is greater than a number of queues that have been created by the first virtualization device, the logical node with the installed operating system image determines the second virtualization device as an available second virtualization device.
15. The cloud management platform of claim 14, wherein, If the number of queues that can be created by the first virtualization device is equal to the number of queues that have been created by the first virtualization device, the logical node with the installed operating system image determines the second virtualization device as an unavailable second virtualization device.
16. The cloud management platform of any of claims 12 to 15, wherein, The logical node creation request further includes a service to be completed by the logical node, and the cloud management platform further includes: The configuration module is configured to determine first service attributes and second service attributes of the virtualization devices based on the service, and configure a plurality of third virtualization devices with the first service attributes and a plurality of fourth virtualization devices with the second service attributes in the at least one network card, the plurality of third virtualization devices and the plurality of fourth virtualization devices serving as the plurality of second virtualization devices.
17. The cloud management platform of claim 16, wherein, The cloud management platform further comprises: The adjustment module is configured to adjust the number of the plurality of third virtualization devices and the number of the plurality of fourth virtualization devices based on the remote access operation.
18. The cloud management platform according to any of claims 11 to 17, characterized in that, The infrastructure further comprises an extended processor device pool, the extended processor device pool comprising a plurality of extended processors, the plurality of extended processors in the extended processor device pool being connected to the high-speed interconnection network, the specification requirement further comprising an extended processor requirement, and the logical node being implemented based on at least one extended processor in the extended processor device pool that meets the extended processor requirement and is idle.
19. The cloud management platform of claim 18, wherein, The plurality of extended processors in the extended processor device pool comprises one or any combination of an NPU, a GPU, a TPU, and a DPU.
20. The cloud management platform of any of claims 11 to 19, wherein, The high-speed interconnection network is implemented through a PCIE network, an IB network, or a CXL network.
21. A cluster of computing devices, characterized in that, The computing device cluster comprises at least one computing device, each computing device comprising a processor and a memory: The memory is configured to store instructions; The processor is configured to cause the computing device cluster to perform the method according to any one of claims 1 to 10 according to the instructions.
22. A computer storage medium, comprising, The computer storage medium stores one or more instructions, which, when executed by one or more computers, cause the one or more computers to implement the method according to any one of claims 1 to 10.
23. A computer program product, characterised 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 1 to 10.
Citation Information
Patent Citations
Safety protection system, safety protection method and equipment
CN117376011A
Tenant data residency requirements enforcement in multitenant collaborative work environments
US20220335384A1
Instance allocation method, system, and apparatus
US20230273831A1
Constructing virtual storage networks for multiple tenants with quality-of-service delivery
US9361045B1
Cloud service deployment method based on cloud computing and cloud management platform
WO2024103726A1