Logical node management method based on cloud computing technology and cloud system
By creating logical nodes in the infrastructure of the cloud management platform and replacing only the virtual extended processors in case of failure, the problem of resource waste caused by the failure of virtual extended processors in logical nodes is solved, thereby improving cloud resource utilization and fault recovery speed.
Patent Information
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- HUAWEI TECH CO LTD
- Filing Date
- 2025-12-19
- Publication Date
- 2026-07-09
AI Technical Summary
In logical nodes, when a virtual extended processor fails, existing technologies require replacing the entire logical node, resulting in low cloud resource utilization.
By creating target logical nodes in the infrastructure through a cloud management platform, and using a high-speed interconnect network to realize the logical connection between virtual CPUs and virtual extended processors, only the failed virtual extended processor is replaced in the event of a failure, rather than the entire logical node, and the second virtual extended processor is used to continue to provide services.
It improves the utilization rate of cloud resources, shortens fault recovery time, reduces resource waste, and ensures business continuity.
Smart Images

Figure CN2025144064_09072026_PF_FP_ABST
Abstract
Description
Logical node management method and cloud system based on cloud computing technology
[0001] This application claims priority to Chinese Patent Application No. 202411999186.6, filed on December 31, 2024, entitled "Logical Node Management Method and Cloud System Based on Cloud Computing Technology", the entire contents of which are incorporated herein by reference. Technical Field
[0002] This application relates to the field of cloud service technology, and in particular to a logical node management method and cloud system based on cloud computing technology. Background Technology
[0003] With the rapid development of cloud technology, more and more tenants are choosing to use logical nodes provided by cloud vendors to implement their business. These logical nodes are usually created based on cloud resources deployed by cloud vendors in the cloud, so that the logical nodes can provide remote cloud services to tenants, thereby meeting the various business needs of tenants.
[0004] Currently, to improve cloud server performance, in addition to configuring virtual CPUs for logical nodes, virtual extended processors are also typically configured for them. This leverages the capabilities of the virtual extended processors to enhance the performance of the logical node. A logical node is usually configured with several virtual extended processors, and the virtual CPUs and virtual extended processors are connected via a bus. In this bus interconnection, the virtual CPU acts as the root node, and the virtual extended processors act as leaf nodes subordinate to the root node, working together to provide services to tenants.
[0005] However, in the current configuration of logical nodes, when the virtual extended processor configured on the logical node fails, the entire logical node needs to be replaced. This means that all cloud resources mounted on the entire logical node need to be replaced, and all services executed on it need to be switched to other logical nodes, resulting in low utilization of cloud resources. Summary of the Invention
[0006] This application provides a logical node management method and cloud system based on cloud computing technology. This application effectively improves the utilization rate of cloud resources. The technical solution provided by this application is as follows:
[0007] Firstly, this application provides a logical node management method based on cloud computing technology. This method is applied to a cloud management platform. The cloud management platform is used to manage infrastructure. The infrastructure includes a CPU device pool and an extended processor device pool. The CPU device pool includes multiple CPUs, and the extended processor device pool includes multiple extended processors. The multiple CPUs in the CPU device pool and the multiple extended processors in the extended processor device pool are respectively connected to a high-speed interconnect network. The high-speed interconnect network is used to enable interconnection between devices in each device pool within and between pools. The method includes: a cloud management platform creating a target logical node in the infrastructure, wherein the target logical node includes a virtual CPU, a first virtual extended processor, and a virtual bus network, the virtual CPU and the first virtual extended processor being logically connected to the virtual bus network, the virtual CPU being implemented through all or part of the functions of at least one CPU in the CPU device pool, the first virtual extended processor being implemented through all or part of the functions of at least one first extended processor in the extended processor device pool, and the virtual bus network being implemented through a sub-network of a high-speed interconnect network; the cloud management platform unloading the first virtual extended processor from the target logical node if it confirms that at least one first extended processor in the extended processor device pool has failed; the cloud management platform attaching a second virtual extended processor to the target logical node, the second virtual extended processor being implemented through all or part of the functions of at least one second extended processor in the extended processor device pool, and the second virtual extended processor being logically connected to the virtual bus network.
[0008] In this way, if the first virtual extended processor mounted on the target logical node fails, only the failed first virtual extended processor needs to be replaced, instead of replacing the entire logical node. That is, it is not necessary to replace all the virtual devices mounted on the entire logical node. The virtual devices in the logical node that have not failed can continue to provide services to tenants, saving virtual device resources (such as CPU resources) and effectively improving the utilization rate of cloud resources.
[0009] In one possible implementation, the target logical node runs a virtual machine via a virtual CPU. Each virtual machine contains at least one container running an AI task. Before a first virtual extended processor is unloaded from the target logical node, the at least one container uses the first virtual extended processor to execute the AI task. After a second virtual extended processor is mounted to the target logical node, the at least one container uses the second virtual extended processor to execute the AI task. By using containers within the target logical node to run AI tasks, the implementation of AI tasks can be accelerated.
[0010] In one possible implementation, the infrastructure also includes a memory device pool, a network interface card (NIC) device pool, and a disk device pool. Multiple memory modules in the memory device pool, multiple NICs in the NIC device pool, and multiple disks in the disk device pool are all connected to a high-speed interconnect network. The logical nodes also include virtual memory, virtual NICs, and virtual disks. The virtual memory, virtual NICs, and virtual disks are logically connected to a virtual bus network. The virtual memory is implemented using all or part of the functions of at least one memory module in the memory device pool. The virtual NICs are implemented using all or part of the functions of at least one NIC in the NIC device pool. The virtual disks are implemented using all or part of the functions of at least one disk in the disk device pool.
[0011] In one possible implementation, the method further includes: a cloud management platform obtaining a logical node creation request input by a tenant, the logical node creation request including the CPU requirements, memory requirements, network interface card (NIC) requirements, disk requirements, and extended processor requirements of the target logical node. The cloud management platform creates the target logical node in the infrastructure, including: the cloud management platform creating the target logical node in the infrastructure according to the logical node creation request, wherein the target logical node further includes virtual memory, a virtual NIC, and a virtual disk, the virtual memory, virtual NIC, and virtual disk being logically connected to a virtual bus network, the virtual CPU being implemented using all or part of the functionality of at least one CPU in the CPU device pool that meets the CPU requirements and is idle, the first virtual extended processor being implemented using all or part of the functionality of at least one first extended processor in the extended processor device pool that meets the extended processor requirements and is idle, the virtual memory being implemented using all or part of the functionality of at least one memory in the memory device pool that meets the memory requirements and is idle, the virtual NIC being implemented using all or part of the functionality of at least one network interface card in the NIC device pool that meets the NIC requirements and is idle, and the virtual disk being implemented using all or part of the functionality of at least one disk in the disk device pool that meets the disk requirements and is idle.
[0012] In one possible implementation, the extended processors in the extended processor device pool are of the type of neural network processor (NPU), graphics processing unit (GPU), tensor processor (TPU), data processing unit (DPU), or any combination thereof.
[0013] In one possible implementation, the high-speed interconnect network is achieved by interconnecting peripheral components to form a fast PCIe network, an unlimited bandwidth IB network, or a compute-fast link CXL network.
[0014] In one possible implementation, the method further includes: the cloud management platform configuring the network address of the second virtual extended processor to the target network address used when the first virtual extended processor is mounted to the target logical node, configuring the routing relationship between the second virtual extended processor and the virtual CPU based on the target network address, and configuring the first virtual extended processor to no longer use the target network address.
[0015] In this way, since the second virtual extension processor continues to use the target network address used when the first virtual extension processor was mounted to the target logical node, non-faulty devices only perceive the refresh or hot-plugging of the virtual extension processor, and do not perceive the replacement of the faulty device. The second virtual extension processor does not need to re-establish a communication connection with the non-faulty device, nor does it need to perform complex distributed state synchronization. After a simple fault recovery, it can continue to provide services to the tenant. Therefore, it can significantly speed up the fault recovery process and shorten the fault recovery time.
[0016] In one possible implementation, where the target logical node and other logical nodes jointly provide services to the tenant, the method further includes: the cloud management platform configuring the routing relationship between the second virtual extended processor and other virtual devices based on the target network address.
[0017] In one possible implementation, the method further includes: a second virtual extension processor resetting connections established by other virtual devices via the target network address.
[0018] By resetting the connections established by other virtual devices using the target network address through the second virtual extension processor, the second virtual extension processor can continue to communicate with other virtual devices using the target network address, facilitating normal subsequent communication. Furthermore, this reset operation allows the second virtual extension processor to restart communication without re-establishing communication connections with other virtual devices or performing complex distributed state synchronization, significantly accelerating fault recovery and shortening recovery time.
[0019] Since the second virtual extended processor is used to replace the first virtual extended processor, and the replacement operation is performed after the first virtual extended processor fails, after the cloud management platform mounts the second virtual extended processor to the target logical node, if the target logical node needs to continue providing services to the tenant using the second virtual extended processor, it also needs to perform a fault recovery operation on the target logical node. In one possible implementation, the method further includes: the virtual CPU providing checkpoint information for fault recovery to the second virtual extended processor; the virtual CPU and the second virtual extended processor performing fault recovery based on the checkpoint information; and the virtual CPU and the second virtual extended processor, having completed fault recovery, continuing to provide services to the tenant.
[0020] In one possible implementation, where the target logical node and other logical nodes jointly provide services to the tenant, the method further includes: the virtual CPU providing checkpoint information to the virtual CPUs and virtual extended processors attached to other logical nodes.
[0021] Secondly, this application provides a cloud management platform. The cloud management platform is used to manage infrastructure. The infrastructure includes a CPU device pool and an extended processor device pool. The CPU device pool includes multiple CPUs, and the extended processor device pool includes multiple extended processors. The multiple CPUs in the CPU device pool and the multiple extended processors in the extended processor device pool are respectively connected to a high-speed interconnect network. The high-speed interconnect network is used to enable interconnection between devices in each device pool within and between pools. The cloud management platform includes: a creation module for creating a target logical node in the infrastructure, wherein the target logical node includes a virtual CPU, a first virtual extended processor, and a virtual bus network. The virtual CPU and the first virtual extended processor are logically connected to the virtual bus network. The virtual CPU is implemented through all or part of the functions of at least one CPU in the CPU device pool, the first virtual extended processor is implemented through all or part of the functions of at least one first extended processor in the extended processor device pool, and the virtual bus network is implemented through a sub-network of a high-speed interconnect network; an unloading module for unloading the first virtual extended processor from the target logical node if at least one first extended processor in the extended processor device pool is confirmed to have failed; and a mounting module for mounting a second virtual extended processor to the target logical node. The second virtual extended processor is implemented through all or part of the functions of at least one second extended processor in the extended processor device pool, and the second virtual extended processor is logically connected to the virtual bus network.
[0022] In one possible implementation, the target logical node runs a virtual machine via a virtual CPU. The virtual machine contains at least one container, which runs an artificial intelligence (AI) task. Before the first virtual extended processor is unloaded from the target logical node, the at least one container uses the first virtual extended processor to execute the AI task. After the second virtual extended processor is mounted to the target logical node, the at least one container uses the second virtual extended processor to execute the AI task.
[0023] In one possible implementation, the infrastructure also includes a memory device pool, a network interface card (NIC) device pool, and a disk device pool. Multiple memory modules in the memory device pool, multiple NICs in the NIC device pool, and multiple disks in the disk device pool are all connected to a high-speed interconnect network. The logical nodes also include virtual memory, virtual NICs, and virtual disks. The virtual memory, virtual NICs, and virtual disks are logically connected to a virtual bus network. The virtual memory is implemented using all or part of the functions of at least one memory module in the memory device pool. The virtual NICs are implemented using all or part of the functions of at least one NIC in the NIC device pool. The virtual disks are implemented using all or part of the functions of at least one disk in the disk device pool.
[0024] In one possible implementation, the cloud management platform further includes: an acquisition module for acquiring a logical node creation request input by a tenant, the logical node creation request including the CPU requirements, memory requirements, network interface card (NIC) requirements, disk requirements, and extended processor requirements of the target logical node. Correspondingly, a creation module is used to create the target logical node in the infrastructure based on the logical node creation request. The target logical node further includes virtual memory, a virtual NIC, and a virtual disk. The virtual memory, virtual NIC, and virtual disk are logically connected to a virtual bus network. The virtual CPU is implemented using all or part of the functionality of at least one idle CPU in the CPU device pool that meets the CPU requirements. The first virtual extended processor is implemented using all or part of the functionality of at least one idle first extended processor in the extended processor device pool that meets the extended processor requirements. The virtual memory is implemented using all or part of the functionality of at least one idle memory in the memory device pool that meets the memory requirements. The virtual NIC is implemented using all or part of the functionality of at least one idle NIC in the NIC device pool that meets the NIC requirements. The virtual disk is implemented using all or part of the functionality of at least one idle disk in the disk device pool that meets the disk requirements.
[0025] In one possible implementation, the extended processors in the extended processor device pool are of the type of neural network processor (NPU), graphics processing unit (GPU), tensor processor (TPU), data processing unit (DPU), or any combination thereof.
[0026] In one possible implementation, the high-speed interconnect network is achieved by interconnecting peripheral components to form a fast PCIe network, an unlimited bandwidth IB network, or a compute-fast link CXL network.
[0027] In one possible implementation, the cloud management platform further includes: a configuration module, used to configure the network address of the second virtual extended processor as the target network address used when the first virtual extended processor is mounted to the target logical node, configure the routing relationship between the second virtual extended processor and the virtual CPU based on the target network address, and configure the first virtual extended processor to no longer use the target network address.
[0028] In one possible implementation, the configuration module is also used to configure the routing relationship between the second virtual extended processor and other virtual devices based on the target network address.
[0029] Thirdly, this application provides a cloud system. The cloud system includes a cloud management platform and infrastructure. The cloud management platform is used to manage the infrastructure. The infrastructure includes a CPU device pool and an extended processor device pool. The CPU device pool includes multiple CPUs, and the extended processor device pool includes multiple extended processors. The multiple CPUs in the CPU device pool and the multiple extended processors in the extended processor device pool are respectively connected to a high-speed interconnect network. The high-speed interconnect network is used to enable interconnection between devices in each device pool within and between pools. The cloud management platform is used to create target logical nodes in the infrastructure. Each target logical node includes a virtual CPU, a first virtual extended processor, and a virtual bus network. The virtual CPU and the first virtual extended processor are logically connected to the virtual bus network. The virtual CPU is connected to the CPU device pool via a high-speed interconnect network. The virtual extended processor is implemented by eliminating all or part of the functions of one CPU. The first virtual extended processor is implemented by all or part of the functions of at least one first extended processor in the extended processor device pool. The virtual bus network is implemented by a sub-network of a high-speed interconnect network. The cloud management platform is also used to unload the first virtual extended processor from the target logical node if it is confirmed that at least one first extended processor in the extended processor device pool has failed. The cloud management platform is also used to mount the second virtual extended processor to the target logical node. The second virtual extended processor is implemented by all or part of the functions of at least one second extended processor in the extended processor device pool. The second virtual extended processor is logically connected to the virtual bus network.
[0030] In one possible implementation, the target logical node runs a virtual machine via a virtual CPU. The virtual machine contains at least one container, which runs an artificial intelligence (AI) task. Before the first virtual extended processor is unloaded from the target logical node, the at least one container uses the first virtual extended processor to execute the AI task. After the second virtual extended processor is mounted to the target logical node, the at least one container uses the second virtual extended processor to execute the AI task.
[0031] In one possible implementation, the infrastructure also includes a memory device pool, a network interface card (NIC) device pool, and a disk device pool. Multiple memory modules in the memory device pool, multiple NICs in the NIC device pool, and multiple disks in the disk device pool are all connected to a high-speed interconnect network. The logical nodes also include virtual memory, virtual NICs, and virtual disks. The virtual memory, virtual NICs, and virtual disks are logically connected to a virtual bus network. The virtual memory is implemented using all or part of the functions of at least one memory module in the memory device pool. The virtual NICs are implemented using all or part of the functions of at least one NIC in the NIC device pool. The virtual disks are implemented using all or part of the functions of at least one disk in the disk device pool.
[0032] In one possible implementation, the cloud management platform is further configured to acquire a logical node creation request input by a tenant. This request includes the target logical node's CPU, memory, network interface card (NIC), disk, and extended processor requirements. Correspondingly, the cloud management platform is also configured to create the target logical node in the infrastructure based on the logical node creation request. The target logical node further includes virtual memory, a virtual NIC, and a virtual disk. These virtual memory, NIC, and disk are logically connected to a virtual bus network. The virtual CPU is implemented using all or part of the functionality of at least one idle CPU from the CPU device pool that meets the CPU requirements. The first virtual extended processor is implemented using all or part of the functionality of at least one idle first extended processor from the extended processor device pool that meets the extended processor requirements. The virtual memory is implemented using all or part of the functionality of at least one idle memory from the memory device pool that meets the memory requirements. The virtual NIC is implemented using all or part of the functionality of at least one idle NIC from the NIC device pool that meets the NIC requirements. The virtual disk is implemented using all or part of the functionality of at least one idle disk from the disk device pool that meets the disk requirements.
[0033] In one possible implementation, the extended processors in the extended processor device pool are of the type of neural network processor (NPU), graphics processing unit (GPU), tensor processor (TPU), data processing unit (DPU), or any combination thereof.
[0034] In one possible implementation, the high-speed interconnect network is achieved by interconnecting peripheral components to form a fast PCIe network, an unlimited bandwidth IB network, or a compute-fast link CXL network.
[0035] In one possible implementation, the cloud management platform is also used to configure the network address of the second virtual extended processor as the target network address used when the first virtual extended processor is mounted to the target logical node, configure the routing relationship between the second virtual extended processor and the virtual CPU based on the target network address, and configure the first virtual extended processor to no longer use the target network address.
[0036] In one possible implementation, where the target logical node and other logical nodes jointly provide services to the tenant, the cloud management platform is also used to configure the routing relationship between the second virtual extended processor and other virtual devices based on the target network address.
[0037] In one possible implementation, a second virtual extension processor is used to reset connections established by other virtual extension processors via a target network address.
[0038] In one possible implementation, a virtual CPU is used to provide checkpoint information for fault recovery to a second virtual extended processor; the virtual CPU and the second virtual extended processor are used to perform fault recovery based on the checkpoint information; and the virtual CPU and the second virtual extended processor, having completed fault recovery, are used to continue providing services to the tenant.
[0039] In one possible implementation, when the target logical node and other logical nodes jointly provide services to the tenant, the virtual CPU is also used to provide checkpoint information to the virtual CPUs and virtual extended processors mounted on other logical nodes.
[0040] Fourthly, this application provides a computing device including a memory and a processor, the memory storing program instructions, and the processor executing the program instructions to perform the methods provided in the first aspect of this application and any possible implementation thereof.
[0041] Fifthly, this application provides a computing device cluster, including multiple computing devices, each computing device including multiple processors and multiple memories, the multiple memories storing program instructions, and the multiple processors executing the program instructions, causing the computing device cluster to perform the methods provided in the first aspect of this application and any possible implementation thereof.
[0042] In a sixth aspect, this application provides a computer-readable storage medium that is a non-volatile computer-readable storage medium, the computer-readable storage medium including program instructions that, when executed on a computing device, cause the computing device to perform the methods provided in the first aspect of this application and any of its possible implementations.
[0043] In a seventh aspect, this application provides a computer program product containing instructions that, when run on a computer, cause the computer to perform the methods provided in the first aspect of this application and any of its possible implementations. Attached Figure Description
[0044] Figure 1 is a structural diagram of an implementation scenario involving a logical node management method based on cloud computing technology provided in an embodiment of this application;
[0045] Figure 2 is a schematic diagram of the deployment of an infrastructure provided in an embodiment of this application;
[0046] Figure 3 is a schematic diagram of the structure of a cloud system provided in an embodiment of this application;
[0047] Figure 4 is a schematic diagram of another cloud system provided in an embodiment of this application;
[0048] Figure 5 is a schematic diagram of another cloud system provided in an embodiment of this application;
[0049] Figure 6 is a schematic diagram of the structure of a logical node provided in an embodiment of this application;
[0050] Figure 7 is a flowchart of a logical node management method based on cloud computing technology provided in an embodiment of this application;
[0051] Figure 8 is a schematic diagram of another logical node structure provided in an embodiment of this application;
[0052] Figure 9 is a schematic diagram of another logical node provided in an embodiment of this application;
[0053] Figure 10 is a flowchart of another logical node management method based on cloud computing technology provided in an embodiment of this application;
[0054] Figure 11 is a schematic diagram of another logical node provided in an embodiment of this application;
[0055] Figure 12 is a flowchart of another logical node management method based on cloud computing technology provided in an embodiment of this application;
[0056] Figure 13 is a schematic diagram of the structure of a cloud management platform provided in an embodiment of this application;
[0057] Figure 14 is a schematic diagram of another cloud management platform provided in an embodiment of this application;
[0058] Figure 15 is a schematic diagram of the structure of a computing device provided in an embodiment of this application;
[0059] Figure 16 is a schematic diagram of the structure of a computing device cluster provided in an embodiment of this application;
[0060] Figure 17 is a schematic diagram of another computing device cluster provided in an embodiment of this application. Detailed Implementation
[0061] To make the objectives, technical solutions, and advantages of this application clearer, the embodiments of this application will be described in further detail below with reference to the accompanying drawings.
[0062] To facilitate understanding, the technologies and background involved in the embodiments of this application will be introduced below.
[0063] Cloud computing is a type of distributed computing that refers to a network that centrally manages and schedules a large number of computing and storage resources to provide on-demand services to users. These computing and storage resources are provided through clusters of computing devices located in data centers. Furthermore, cloud computing can provide users with various types of services, such as Infrastructure as a Service (IaaS), Platform as a Service (PaaS), and Software as a Service (SaaS). Infrastructure as a Service provides virtual machines or other resources as a service to tenants. Platform as a Service provides a development platform as a service to tenants. Software as a Service provides applications (Apps) as a service to customers.
[0064] Cloud computing is a type of distributed computing that refers to a network that centrally manages and schedules a large number of computing and storage resources to provide on-demand services to users. These computing and storage resources are provided through clusters of computing devices located in data centers. Furthermore, cloud computing can provide users with various types of services, such as Infrastructure as a Service (IaaS), Platform as a Service (PaaS), and Software as a Service (SaaS). Infrastructure as a Service provides virtual machines or other resources as a service to tenants. Platform as a Service provides a development platform as a service to tenants. Software as a Service provides applications (Apps) as a service to customers.
[0065] An Internet Data Center (IDC) is a facility and related service system that provides operation and maintenance for equipment that centrally collects, stores, processes, and transmits data, based on the Internet. Conceptually, it can be understood as a public, commercial Internet "server room," and it is also a professional IT service and a crucial infrastructure for the IT industry. IDC is not only a service concept but also a network concept; it constitutes part of the network infrastructure, like backbone networks and access networks, providing high-end data delivery and high-speed access services. Generally, a tenant's on-premises IDC can be understood as their physical server room, where the tenant utilizes existing Internet communication lines and bandwidth resources to establish a standardized, telecommunications-grade server room environment to provide comprehensive services such as server hosting, leasing, and related value-added services. A cloud data center is an Internet data center deployed using the infrastructure owned by cloud vendors.
[0066] A resource pool is a collection of various hardware and software resources involved in a cloud data center. Typically, resources in a resource pool can be categorized by type, such as computing resources, storage resources, and network resources.
[0067] A physical machine (PM) is the physical resource used to host virtualization technology. It is also called a physical server. Typically, a physical machine is used to deploy virtual instances. A physical machine has multiple physical devices. For example, a physical server has physical devices such as processors and memory. Multiple virtual instances can be deployed on a single physical machine, sharing the machine's physical resources. Depending on the use case, multiple virtual instances deployed on a single physical machine can belong to the same tenant or to different tenants.
[0068] Virtualization is a resource management technology. Virtualization abstracts and transforms various physical resources of a host, such as computing, network, and storage resources, breaking down the indivisible barriers between the host's physical structures. This allows tenants to utilize these resources in a better way than the original configuration. Resources obtained through virtualization are called virtualized resources, and virtualized resources are not limited by the existing physical resource deployment methods, geographical location, or physical configuration.
[0069] Virtualized resources are typically provided to tenants in the form of virtual instances. Virtual instances utilize the host's hardware resources and run on the host's operating system (OS). Applications run within the virtual instance to implement the tenant's business logic. The host's hardware resources can be allocated to one or more tenants at the virtual instance level. Different virtual instances are isolated from each other, allowing tenants to use physical resources conveniently and flexibly while maintaining security and isolation, and significantly improving the utilization of physical resources. Typically, virtual instances can be virtual machines, containers, or independent processes (such as functions). Virtual instances can also be called Elastic Compute Service (ECS) or Elastic Instances (different cloud service providers may use different names).
[0070] A virtual machine (VM) is a complete computer system with full hardware system functionality, simulated using virtualization technology and running in a completely isolated environment. A subset of the instructions in a VM can be processed on the host machine, while other instructions can be executed in a simulated manner. A VM is also called a virtual server. A VM can be viewed as a collection of virtual devices, which possess full hardware system functionality and run in a completely isolated environment. Virtual devices are created by virtualizing physical devices that can share resources. For example, a virtual processor, created by virtualizing a processor, is a virtual device. Similarly, a training card, created by virtualizing a field-programmable gate array (FPGA), is also a virtual device. For instance, the VM in this application can be a kernel-based virtual machine (KVM). Any task that can be performed on a server can also be performed in a VM. When creating a virtual machine on a server, a portion of the physical machine's hard drive and memory capacity is used as the virtual machine's hard drive and memory capacity. Each virtual machine has its own independent hard drive and operating system, and virtual machine tenants can operate the virtual machine as if it were a server. The runtime environments (such as virtual machine applications, operating systems, and virtual hardware) in different virtual machines are completely isolated, and communication between different virtual machines requires the virtual machine manager to forward network packets.
[0071] Containers utilize the namespace and cgroup technologies supported by the Linux kernel to isolate application processes and their dependencies (the runtime environment's bins / libs, specifically all files required to run the application) within an independent runtime environment. Containers provide a lightweight virtual runtime environment. Containers are created by packaging all the code, libraries, and dependencies of a tenant's application into an image. When the image is executed, it runs in a virtual runtime environment. At this point, the container is a runtime instance of the image, similar to a lightweight sandbox, which can be started, stopped, and deleted. The infrastructure for containers can be server hardware or virtual machines in the cloud (i.e., containers can also be deployed within virtual machines). The operating system uses the Linux kernel and supports namespaces and cgroups. Namespaces are used to isolate processes, while cgroups are used to allocate process resources, specifically virtual processors and memory allocated to the process. The container engine, similar to a virtual machine manager, runs within the operating system and is used to manage containers. Compared to virtual machines, which come with their own operating system, containers do not have an operating system. Instead, containers run as processes within the host machine's operating system. As a result, containers start up faster than virtual machines, making them particularly suitable for lightweight applications. Furthermore, a single host machine can run thousands of containers (processes) simultaneously.
[0072] In the field of computer science, orchestration refers to the automated arrangement, coordination, and management of complex computer systems, middleware, and business processes. Orchestration typically involves three aspects: 1) resource orchestration, responsible for resource allocation; 2) workload orchestration, responsible for sharing workloads among resources and managing their lifecycles; and 3) service orchestration, responsible for service discovery and high availability, etc.
[0073] Direct memory access (DMA), also known as direct memory operation or group data transfer, refers to a data exchange mode where external devices access data directly from the computer's memory without going through the computer's central processing unit (CPU). During data transfer in DMA mode, the computer's CPU issues instructions to the DMA controller, instructing it to control the data transfer. After completing the data transfer, the DMA controller sends a completion message back to the CPU. It can be seen that during DMA data transfer, the computer's CPU does not need to perform data transfer operations, eliminating the need for CPU operations such as instruction fetching, data fetching, and data transfer, thus reducing CPU resource consumption and saving system resources.
[0074] DMA can include remote direct memory access (RDMA) and local DMA. RDMA refers to data transfer directly from the memory of one computer to another over a network, without the intervention of the operating systems of either computer. Local DMA refers to data transfer without the need for a network. Because RDMA does not involve the operating system, it not only saves a significant amount of CPU resources but also improves system throughput and reduces network communication latency, making it widely used in large-scale parallel computer clusters.
[0075] Peripheral Component Interconnect Express (PCIe) bus: a high-speed serial computer expansion bus.
[0076] Compute Express Link (CXL) bus: a high-speed computer fast connection bus.
[0077] Network interface card (NIC): also known as network interface controller, network adapter, or local area network receiver, is a type of computer hardware designed to allow hosts or computing devices to communicate over a network.
[0078] Memory (RAM): Also known as internal memory or main memory, its function is to temporarily store the data processed by the CPU, as well as the data exchanged with external storage devices such as hard drives.
[0079] Resource pooling refers to integrating various computing and storage resources into a unified resource pool for unified dynamic allocation and management. Resource pooling enables high resource sharing, improves resource utilization, simplifies resource management, and provides users with flexible on-demand allocation services.
[0080] A file system is a method and data structure used by an operating system to organize files on storage devices or partitions. The software component in an operating system responsible for managing and storing file information is called the file management system, or simply the file system.
[0081] Checkpoint restore (CR) technology is a fault recovery technique for compute-intensive applications, widely used in high-performance computing (HPC), scientific computing, and artificial intelligence (AI) training. Its basic principle is to periodically or periodically save the cluster's running state during task execution, persisting completed results and task progress states to storage. When a fault occurs, the cluster reads the most recently saved checkpoint and re-executes the task from that checkpoint. These saved running states are called checkpoints (CKPT). This allows the cluster to directly restore the computation progress to the checkpoint after a fault, ensuring that subsequent recovery only loses the progress between the fault time and the previous checkpoint, avoiding the time overhead of re-execution. CR technology can only handle transient faults, i.e., faults that can be recovered by rerunning the program or restarting the server. For other types of faults, CR technology must be combined with faulty node replacement capabilities to achieve fault recovery and ensure high cluster availability.
[0082] Compute-intensive applications are those that require significant computing resources to complete their tasks. Their computational power far exceeds that of a single computer, and they are typically run using computing clusters.
[0083] A computing cluster is a group of computers connected through various hardware and software technologies. These computers work closely together to complete computational tasks that are difficult for a single computer to perform. Because computing clusters have powerful overall computing capabilities, and because the failure of any computer during computation will cause the cluster's tasks to be interrupted, they are also called tightly coupled, heavily coupled computing clusters. The computers in a computing cluster are also called computing nodes (or simply nodes).
[0084] A logical cluster is a logical computing cluster presented to the user, hosted on top of a physical cluster. A logical cluster may be the entire physical cluster or a part of it. Physical computing clusters often contain thousands or even tens of thousands of computers, while practical applications only require tens or hundreds of computers. Therefore, the physical cluster needs to be sliced, i.e., logical clusters. Network isolation between logical clusters is achieved by default. In public cloud technology, the user is the tenant.
[0085] A hypernode (Hyperpod or Hypernode) cluster is a computing cluster connected by a high-speed network. The high-speed network bandwidth between computing nodes allows their chain-to-computation ratio to approach or even exceed 1, making the entire system comparable to a supercomputer. The computing nodes in a hypernode cluster are called hypernodes, and hypernodes are implemented using hypernode hardware, such as a tensor processing unit (TPU). There is a containment relationship between hypernodes and the physical cluster; a physical cluster may include multiple physical hypernodes and ordinary nodes. Physical hypernodes are interconnected through a cluster network, and internally, they are interconnected through a hyperplane network. The chain-to-computation ratio is the ratio of the network bandwidth between computing nodes to the computing power of each node. Network bandwidth is typically measured in gigabytes per second (GBps), while computing power is typically measured in trillions of floating-point operations per second (Tflops). Compared to a typical computing cluster, a hypernode offers better network performance but is smaller in scale.
[0086] Hyperplane networks: These refer to ultra-high-speed networks connecting servers within a physical supernode, offering lower latency and higher bandwidth compared to conventional networks. For example, the bandwidth of a hyperplane network is an order of magnitude higher than that of a cluster network.
[0087] A container is a virtualization technology used in computer operating systems. This technology allows processes to run in relatively independent and isolated environments (including independent file systems, namespaces, resource views, etc.), thereby simplifying software deployment, enhancing software portability and security, and improving system resource utilization. Container technology is widely used in service-oriented scenarios within the cloud computing field.
[0088] Batch processing: A method of program execution in computer systems that enables the orderly execution of a series of predefined or randomly input programs according to specified rules without human intervention. Batch processing is commonly used in various scheduling systems to improve resource utilization and reduce human-computer interaction overhead.
[0089] A job is a collection of program instances that need to be executed to complete a specific computational task. It typically corresponds to a set of processes, containers, or other runtime entities on one or more computers. In batch processing systems, jobs are also called "batch jobs".
[0090] Task: Within a job, an individual instance in a set of program instances, typically corresponding to a process, container, or other runtime entity on a computer.
[0091] With the rapid development of cloud technology, more and more tenants are choosing to use logical nodes provided by cloud vendors to implement their businesses. These logical nodes are typically created based on cloud resources deployed by the cloud vendor in the cloud, enabling them to provide remote cloud services to tenants and meet their various business needs. The cloud systems provided by cloud vendors include cloud management platforms and infrastructure. The infrastructure includes cloud resources of various specifications. When a tenant needs to create a logical node in the cloud, the cloud management platform provides the tenant with various pre-configured cloud resources for building the logical node, allowing the tenant to select and combine these resources to determine the cloud resources used to build the logical node. Based on this, the cloud management platform creates the tenant's logical node based on the cloud resources selected by the tenant. For example, the cloud management platform can provide the tenant with 4-core and 8-core virtual central processing units (CPUs), 4GB and 8GB of virtual memory, and 1GB or 2GB of virtual network interface cards (NICs). The tenant can then choose a 4-core virtual CPU, 8GB of virtual memory, and a 1GB virtual NIC to create the cloud resources required for their logical node, and the cloud management platform can then create the tenant's logical node on these cloud resources. Logical nodes are combinations of various cloud resources used to implement tenant services.
[0092] To improve cloud server performance, in addition to configuring virtual CPUs for logical nodes, virtual extended processors are typically configured for them as well. This leverages the capabilities of the virtual extended processors to enhance the performance of the logical node. Currently, a logical node is usually configured with several virtual extended processors, and the virtual CPUs and virtual extended processors of the logical node are connected via a bus. In this bus interconnection, the virtual CPU acts as the root node, and the virtual extended processors act as leaf nodes subordinate to the root node. Each virtual extended processor has a corresponding virtual network interface card (NIC), such as a virtual network obtained by device emulation based on an RDMA NIC (RoCE / IB, etc.), which is linked to a unified parameter plane network for cross-device communication between different virtual extended processors. This NIC is interconnected via the bus or directly integrated into the extended processor.
[0093] In such a scenario, a failure of the virtual extended processor would impact the usability of logical nodes. Therefore, a key indicator of a logical node's competitiveness is its high availability. For example, AI infrastructure managed by cloud management platforms for implementing artificial intelligence (AI) tasks typically utilizes numerous high-failure-rate accelerator devices such as neural network processing units (NPUs) and graphics processing units (GPUs) to improve AI infrastructure performance. Given the high failure rate of these accelerator devices, high availability is a crucial competitive advantage for AI infrastructure. Current mainstream technologies focus on rapid business recovery after quickly detecting faults. A key function of rapid recovery is the rapid transfer of services from the failed node to a backup node. Therefore, the speed of rapid recovery is a critical competitive indicator of high availability.
[0094] However, in the current configuration of logical nodes, when the virtual extended processor configured on the logical node fails, the entire logical node needs to be replaced. This means that all cloud resources mounted on the entire logical node need to be replaced, and all services executed on it need to be switched to other logical nodes, resulting in low utilization of cloud resources.
[0095] Therefore, this application provides a logical node management method and cloud system based on cloud computing technology. The method is applied to a cloud management platform. The cloud management platform is used to manage infrastructure. The infrastructure includes a CPU device pool and an extended processor device pool. The CPU device pool includes multiple CPUs. The extended processor device pool includes multiple extended processors. The multiple CPUs in the CPU device pool and the multiple extended processors in the extended processor device pool are respectively connected to a high-speed interconnect network. The high-speed interconnect network is used to enable interconnection between devices in each device pool within and between pools.
[0096] In this method, the cloud management platform can create a target logical node within the infrastructure. The target logical node includes a virtual CPU, a first virtual extended processor, and a virtual bus network. The virtual CPU and the first virtual extended processor are logically connected to the virtual bus network. The virtual CPU is implemented using all or part of the functionality of at least one CPU in the CPU device pool. The first virtual extended processor is implemented using all or part of the functionality of at least one first extended processor in the extended processor device pool. The virtual bus network is implemented through a sub-network of a high-speed interconnect network. Furthermore, if the cloud management platform confirms a failure of at least one first extended processor in the extended processor device pool, it unloads the first virtual extended processor from the target logical node and then attaches a second virtual extended processor to the target logical node. The second virtual extended processor is implemented using all or part of the functionality of at least one second extended processor in the extended processor device pool, and is logically connected to the virtual bus network. At this point, the logical node can utilize the capabilities of the second virtual extended processor to continue providing services to the tenant.
[0097] In this way, if the first virtual extended processor mounted on the target logical node fails, only the failed first virtual extended processor needs to be replaced, instead of replacing the entire logical node. That is, it is not necessary to replace all the virtual devices mounted on the entire logical node. The virtual devices in the logical node that have not failed can continue to provide services to tenants, saving virtual device resources (such as CPU resources) and effectively improving the utilization rate of cloud resources.
[0098] This article provides a detailed introduction to the technical solution of this application from multiple perspectives, including implementation scenarios, methods and processes, hardware devices, and software devices.
[0099] The following are examples illustrating the implementation scenarios of the embodiments of this application.
[0100] Figure 1 is a structural diagram of an implementation scenario involving a logical node management method based on cloud computing technology provided in this application embodiment. As shown in Figure 1, the implementation scenario includes: a cloud system 1 and a client 2. The cloud system 1 and client 2 can establish a communication connection through a network. Optionally, this network can be the Internet or other networks; this application embodiment does not limit the specific network. Tenants can interact with the cloud system 1 through client 2. For example, a tenant can send cloud service requests and other information to the cloud system 1 through client 2. The cloud system 1 responds based on the information sent by client 2.
[0101] As shown in Figure 1, cloud system 1 includes a cloud management platform and infrastructure. The cloud management platform and infrastructure are connected via an internal network of the cloud system. In another implementation, the cloud management platform may optionally be located within the infrastructure. The cloud management platform is used to manage the infrastructure. The infrastructure is used to provide public cloud services. The infrastructure includes at least one data center (DC). The cloud management platform can connect to this at least one data center. In this case, the cloud management platform is used to manage this at least one data center. The data center deploys a large number of cloud resources owned by the cloud service provider, such as computing resources, storage resources, and network resources. Computing resources can be computing devices (such as servers) capable of providing computing power. For example, as shown in Figure 1, multiple servers are deployed in the data center. Cloud services may optionally be deployed on the servers. Cloud services are implemented by running virtual instances, hence also referred to as virtual instances deployed on servers to implement tenant services. Tenants can send cloud service requests and related information to the server through their client 2. The server can process the cloud service requests and related information and provide cloud services to the tenant based on the processed cloud service requests and related information.
[0102] The cloud management platform can be logically divided into: tenant console, compute management service, network management service, storage management service, authentication service, and image management service. The tenant console provides a user interface or application programming interface (API) for interaction with tenants. The compute management service manages servers running virtual instances and bare metal servers. The network management service manages network services (such as gateways and firewalls). The storage management service manages storage services (such as data bucket services). The authentication service manages tenant accounts and passwords. The image management service manages virtual instance images.
[0103] In the implementation scenario shown in Figure 1, a data center contains multiple servers. The servers consist of a hardware layer and a software layer. The hardware layer comprises the standard server configuration, including hardware devices such as processors, memory, network interface cards (NICs), disks, and buses. The software layer includes the operating system installed and running on the server. The operating system relative to the virtual machine can be called the host operating system. The host operating system runs a virtual machine manager (also known as a hypervisor). The virtual machine manager's role is to implement compute virtualization, network virtualization, and storage virtualization for the virtual machines, and to manage the virtual machines.
[0104] The virtual machine manager runs a cloud management platform client. This client receives control plane commands from the cloud management platform, creates virtual instances on the server based on these commands, and manages the virtual instances throughout their lifecycle. For example, the client can monitor the hardware resource usage of the server in real time and report it to the cloud management platform. When the cloud management platform confirms that a virtual instance needs to be created on a specific server, it sends a virtual instance creation command to the client on that server. Upon receiving the command, the client creates the virtual instance on that server. In this way, tenants can create, manage, log in to, and operate virtual instances through the cloud management platform.
[0105] Servers can run virtual machines of different specifications. Virtual machine specifications are categorized as: general-purpose computing, memory-optimized, ultra-large memory, etc., with specific specifications under each type. After a tenant selects a virtual machine specification, the cloud management platform selects a server in the data center that supports that specification and ensures sufficient idle hardware resources on that server. Then, it creates and configures the virtual machine with that specification on that server. Configuring servers through the cloud management platform allows for the analysis and planning of server hardware resources. Based on the server's hardware performance, it plans the corresponding computing products for the physical hardware, such as planning virtual machines of different specifications, to meet the diverse needs of different tenants. Furthermore, differentiated pricing strategies can be implemented based on the performance differences of virtual machines of different specifications. For example, high-performance virtual instances can be sold at a higher price, while ordinary performance virtual instances can be sold at a lower price, allowing tenants to purchase virtual instances as needed.
[0106] In one implementation, as shown in Figure 2, the location of infrastructure can be described by cloud resource deployment regions (regions) and availability zones (AZs). Tenants can choose to deploy cloud services based on resources within specific regions and AZs. Regions are defined based on geographical location and network latency. Using the same resource pool within the same region can be understood as sharing public services such as elastic computing, block storage, object storage, virtual private cloud (VPC) networks, elastic internet protocol (EIP) addresses, and images. Regions are divided into general-purpose regions and dedicated regions. General-purpose regions provide general cloud services to public tenants. Dedicated regions are dedicated regions that host the same type of business or provide business services to specific tenants. A region typically includes multiple AZs. Multiple AZs within a region are connected via high-speed fiber optic cables to meet the needs of tenants building high-availability systems across AZs. Computing, network, and storage resources within an AZ are logically divided into multiple clusters.
[0107] Tenants can send instructions to the cloud management platform through their client 2 to create, manage, log in to, and operate virtual instances on the server, and use the cloud services provided by these virtual instances. For example, the cloud management platform can provide an access interface. This interface can be provided either as a user interface or an API. Tenants can operate their client to remotely access the access interface to register a cloud account and password on the cloud management platform, and then log in using these accounts and passwords. The cloud management platform can also authenticate the cloud account and password. After successful authentication, the tenant can further select and purchase a virtual instance with specific specifications (processor, memory, disk) on the cloud management platform. After the tenant successfully purchases the virtual instance, the cloud management platform provides the tenant with a remote login account and password for the purchased virtual instance. The tenant can use the remote login account and password to remotely log in to the virtual instance on their client, install and run their application within the virtual instance, and use the application to implement their business operations.
[0108] Client 2 can be selected from computers, personal computers, laptops, mobile phones, smartphones, tablets, cloud servers, portable mobile terminals, multimedia players, e-book readers, wearable devices, smart home appliances, artificial intelligence devices, smart wearable devices, smart in-vehicle devices, or Internet of Things devices, etc.
[0109] In one implementation, the logical node management method based on cloud computing technology provided in this application embodiment can be implemented by running an executable program on a computing device in cloud system 1. When the logical node management method based on cloud computing technology provided in this application embodiment is applied to a cloud management platform, the server used to implement the cloud management platform can implement the logical node management method based on cloud computing technology provided in this application embodiment by running the executable program of the logical node management method based on cloud computing technology provided in this application embodiment. Furthermore, the executable program implementing the logical node management method based on cloud computing technology can optionally be presented in the form of an application installation package. After the server installs the application installation package, it can implement the logical node management method based on cloud computing technology provided in this application embodiment by running the executable program therein.
[0110] Figure 3 is a schematic diagram of a cloud system provided in an embodiment of this application. As shown in Figure 3, the cloud system includes infrastructure that can provide cloud services and a cloud management platform that manages this infrastructure. Figure 3 illustrates another implementation of the infrastructure. The cloud management platform and the infrastructure will be described in detail below with reference to Figure 3:
[0111] A cloud management platform is used for the overall management of infrastructure across the entire cloud system. For example, within the infrastructure, it creates one or more logical nodes to serve a tenant, according to the tenant's instructions. These logical nodes can be used to execute the tenant's business operations, thereby meeting the tenant's business needs. Logical nodes can also be referred to as cloud matrices. The cloud management platform can also be open to tenants outside the cloud system and respond to their requests. For example, the cloud management platform can provide various interfaces such as login, creation, and query interfaces for tenant clients to access. The login interface allows the cloud management platform to authenticate the tenant's client, allowing the client to log in after successful authentication. As another example, the creation interface allows the cloud management platform to allow the tenant's client to send a logical node creation request to the cloud management platform for that logical node. The logical node creation request indicates the (customized) logical node specification requirements set by the tenant for that logical node. These specifications describe the specifications of the various devices required to create the logical node. Based on a logical node creation request, the cloud management platform can select available physical devices from various physical device pools that meet the specifications of the logical node and create logical nodes on these devices. Each logical node is a collection of virtual devices implemented based on these physical devices. The cloud management platform can install a tenant-specified operating system image on this logical node, enabling tenants to remotely log in and provide remote services to meet their business needs.
[0112] The infrastructure comprises multiple pools of physical devices. The types of physical device pools included in the infrastructure are optional and can be adjusted according to application requirements. For example, multiple physical device pools may include compute device pools, storage device pools, and network device pools. Compute device pools can be further subdivided into various types, such as CPU device pools and extended processor device pools. Extended processor device pools may include graphics processing unit (GPU) device pools, NPU device pools, tensor processing unit (TPU) device pools, and data processing unit (DPU) device pools. Storage device pools can be further subdivided into various types, such as memory device pools and disk device pools. Network device pools may include network interface card (NIC) device pools. The CPU device pool contains multiple CPUs, which can be identical or different in specifications. The extended processor device pool contains multiple extended processor device pools, which can be identical or different in specifications. The memory device pool contains multiple memory modules, which can be identical or different in specifications. The disk device pool contains multiple disks, which can be of the same or different specifications. The network interface card (NIC) device pool contains multiple NICs, which can also be of the same or different specifications. Therefore, the cloud management platform can select several physical devices from these pools that meet the tenant's needs and possess certain specifications to build the tenant's logical nodes.
[0113] These multiple physical device pools can be deployed at the same site or at different sites. Sites can take various forms. For example, a site can be a cloud resource deployment area within the infrastructure. Another example is an availability zone within the infrastructure. Yet another example is a data center within the infrastructure. And yet another example is a server room within the infrastructure.
[0114] Multiple physical device pools can be presented and communicated in various ways. The following are some examples of implementation methods.
[0115] In one possible implementation, as shown in Figure 4, all physical devices within multiple physical device pools are randomly and dispersed across racks, rather than being arranged in fixed combinations within the chassis of physical servers. Therefore, any two physical devices within any physical device pool can communicate via a high-speed interconnect device, and physical devices between any two physical device pools can also communicate via a high-speed interconnect device. This high-speed interconnect device may include a high-speed interconnect bus and a high-speed interconnect bus switch, etc. Thus, the high-speed interconnect device connects all physical devices across multiple physical device pools, forming a high-speed interconnect network. The "high-speed" in "high-speed interconnect network" refers to a bandwidth of at least 40 Gbps. For example, multiple CPUs in a CPU device pool, multiple extended processors in an extended processor device pool, multiple memory modules in a memory device pool, multiple network interface cards (NICs) in a NIC device pool, and multiple disks in a disk device pool are all connected to the high-speed interconnect network, enabling communication between these physical devices.
[0116] In another possible implementation, as shown in Figure 5, multiple physical device pools can be deployed as multiple supernodes. Each supernode contains multiple physical servers, and 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 extended processor, at least one network interface card (NIC), and at least one disk. Any two physical servers can communicate with each other via a high-speed interconnect. Therefore, for any CPU in a physical server, it can use not only the NIC, extended processor, memory, and disk of that physical server, but also the NICs, extended processors, memory, and disks of other physical servers. In this way, the same type of physical devices in different physical servers can be considered "pooled," thus forming multiple physical device pools across all physical servers within multiple supernodes. Since all physical servers within multiple supernodes communicate with each other via high-speed interconnects, a high-speed interconnect network is formed among all physical servers, which is equivalent to a high-speed interconnect network forming between multiple physical device pools. In other words, multiple CPUs in the CPU device pool, multiple extended processors in the extended processor device pool, multiple memory modules in the memory device pool, multiple network interface cards (NICs) in the NIC device pool, and multiple disks in the disk device pool are all connected to a high-speed interconnect network, so these physical devices can communicate with each other through the high-speed interconnect network.
[0117] Furthermore, the high-speed interconnect network built between these multiple physical device pools can be implemented based on multiple high-speed interconnect bus switches. When multiple physical device pools are deployed across a data center, the data center often contains multiple racks, which house several physical devices from each physical device pool. To enable communication between physical devices in different racks, each rack typically needs to deploy at least one high-speed interconnect bus switch. In this way, racks can communicate with each other through the high-speed interconnect bus switches, thus forming a high-speed interconnect network within the data center. Moreover, each physical device in the multiple physical device pools has a specific type of interface. For any given physical device, it can connect to the high-speed interconnect bus switch through its interface, and then communicate with other physical devices via the high-speed interconnect bus.
[0118] The aforementioned high-speed interconnect network can take many forms. For example, it can be a peripheral component interconnect express (PCIE) network. Another example is an infinite bandwidth (IB) network. Yet another example is a compute express link (CXL) network. Yet another example is a cloud vendor-developed interconnect network between devices, requiring a bandwidth of at least 40 Gbps to ensure communication between different physical devices. Correspondingly, the high-speed interconnect devices connected to each physical device can be communication devices based on PCIE, CXL, IB, or cloud vendor-developed communication protocols. Similarly, the interfaces used by physical devices in each physical device pool to access the high-speed interconnect network can be PCIE, CXL, IB, or cloud vendor-developed interfaces, etc. The high-speed interconnect network supports bus semantics, enabling communication between physical devices. Bus semantics include, for example, load, store, or DMA. `load` is used to load data from memory into registers. `store` is used to store data from registers into memory. It should be noted that the high-speed interconnect network can also be implemented using other methods. For example, the high-speed interconnect network can also be implemented based on NVLink, or based on other high-speed network technologies with bus access capabilities. This application does not specifically limit its implementation.
[0119] In one possible implementation, each physical device in the physical device pool is equipped with a high-speed network interface card (NIC) capable of connecting to a high-speed interconnect network. For example, the high-speed NIC could be an RDMA NIC. In this way, the physical devices can achieve network connectivity with the high-speed interconnect network through their respective high-speed NICs.
[0120] In this application, the logical node of a tenant is typically considered as an instance deployed in the infrastructure to implement the tenant's business. These instances can be presented in various ways. For example, an instance is one or more physical servers selected by the cloud management platform in the infrastructure. Another example is a bare-metal server selected by the cloud management platform in the infrastructure. Yet another example is a virtual machine (VM), container (Docker), or microVM created by the cloud management platform on a physical server using virtualization technology; this application does not specifically limit these instances.
[0121] To implement the logical node management method based on cloud computing technology provided in this application embodiment, as shown in Figure 6, the cloud management platform of this application can also provide computing services, instance management services, task management services, and bus network services. The bus network service and computing service are used to collaboratively manage the distribution of virtual devices in the logical node, configure the dependency relationship between virtual CPUs and other virtual devices in the logical node, and configure the communication relationship between different virtual devices. The instance management service is used to manage logical nodes in the form of instances. Instances are typically deployed in virtual CPUs. The task management service is responsible for the launch, operation, and lifecycle management of software within the instance environment to ensure the implementation of tasks used to realize tenant services. Its implementation may include: the task management service deploying a task framework for tasks used to realize tenant services in the instance, as well as executors for other virtual devices in the logical node besides virtual CPUs, and deploying operators for implementing tasks in virtual devices besides virtual CPUs. For example, assuming that virtual CPUs use containers to provide services to tenants, and services are realized by executing AI tasks, then the instance management service is essentially a container service, used to manage resources of logical nodes in the form of containers. The task management service is responsible for the launch, operation, and lifecycle management of software within the container environment. Assuming the virtual devices are virtual extended processors such as NPUs / GPUs, the task management service is essentially an AI task management service. It is used to deploy AI frameworks (such as PyTorch / Mindspore) and executors of virtual extended processors (such as Cann / Cuda) in containers, and to deploy NPU / GPU operators in virtual extended processors to implement AI tasks, so that AI tasks can be completed through AI frameworks, NPU / GPU executors and NPU / GPU operators.
[0122] It should be understood that the above content is an exemplary description of the implementation scenario of the logical node management method based on cloud computing technology provided in the embodiments of this application, and does not constitute a limitation on the implementation scenario of the logical node management method based on cloud computing technology. As those skilled in the art know, as business needs change, the implementation scenario can be adjusted according to application requirements, and the embodiments of this application do not specifically limit it.
[0123] To understand the workflow of the cloud management platform in this application, the following description, in conjunction with Figure 7, further illustrates the workflow. Figure 7 is a flowchart illustrating a logical node management method based on cloud computing technology provided in an embodiment of this application. This method can be implemented using a cloud system as shown in Figures 1, 3, 4, 5, or 6. The cloud system includes infrastructure providing cloud services to tenants and a cloud management platform for managing this infrastructure. This infrastructure includes CPU device pools and extended processor device pools. The CPU device pool includes multiple CPUs. The extended processor device pool includes multiple extended processors. The multiple CPUs in the CPU device pool and the multiple extended processors in the extended processor device pool are respectively connected to a high-speed interconnect network. The high-speed interconnect network is used to enable interconnection of physical devices within and between physical device pools in the infrastructure. As shown in Figure 7, the method includes:
[0124] Step 701: The cloud management platform creates a target logical node in the infrastructure, wherein the target logical node includes a virtual CPU, a first virtual extended processor, and a virtual bus network. The virtual CPU and the first virtual extended processor are logically connected to the virtual bus network. The virtual CPU is implemented through all or part of the functions of at least one CPU in the CPU device pool. The first virtual extended processor is implemented through all or part of the functions of at least one first extended processor in the extended processor device pool. The virtual bus network is implemented through a sub-network of a high-speed interconnect network.
[0125] The cloud management platform can select at least one idle CPU from the CPU device pool that meets CPU requirements, and at least one idle extended processor from the extended processor device pool that meets extended processor requirements. Then, the cloud management platform creates a target logical node based on these CPUs and extended processors. The target logical node contains virtual CPUs implemented based on these CPUs and virtual extended processors implemented based on these extended processors. It should be noted that in the target logical node, since these CPUs and extended processors are all connected to a sub-network of a high-speed interconnect network (meaning they can communicate with each other through this sub-network), a virtual bus network implemented based on this sub-network can be logically connected to these virtual CPUs and virtual extended processors respectively, meaning they can communicate with each other through this virtual bus network.
[0126] Optionally, the infrastructure also includes a memory device pool, a network interface card (NIC) device pool, and a disk device pool. Multiple memory modules in the memory device pool, multiple NICs in the NIC device pool, and multiple disks in the disk device pool are all connected to a high-speed interconnect network. Correspondingly, the logical node specification requirements may also include one or more of the following: memory requirements, NIC requirements, and disk requirements. When the target logical node specification requirements also include memory requirements, the cloud management platform can also select at least one available memory module from the memory device pool that meets the memory requirements. When the target logical node specification requirements also include NIC requirements, the cloud management platform can also select at least one available NIC from the NIC device pool that meets the NIC requirements. When the target logical node specification requirements also include disk requirements, the cloud management platform can also select at least one available disk from the disk device pool that meets the disk requirements. Then, the target logical node is created on these memory modules, these NICs, and these disks, as well as on these CPUs and these extended processors. Accordingly, the target logical node includes one or more of the following: virtual memory implemented based on these memory units, virtual network interface cards (NICs) implemented based on these NICs, virtual disks implemented based on these disks, virtual CPUs implemented based on these CPUs, virtual extended processors implemented based on these extended processors, and a virtual bus network. For example, when the logical node specification requirements also include memory requirements, NIC requirements, and disk requirements, the logical node also includes virtual memory, virtual NICs, and virtual disks. The virtual memory, virtual NICs, and virtual disks are logically connected to the virtual bus network. The virtual memory is implemented using all or part of the functionality of at least one memory unit in the memory device pool; the virtual NICs are implemented using all or part of the functionality of at least one NIC in the NIC device pool; and the virtual disks are implemented using all or part of the functionality of at least one disk in the disk device pool. It should be noted that the virtual bus network can be logically connected to one or more of these virtual memory units, virtual NICs, and virtual disks, as well as to these virtual CPUs and these virtual extended processors. That is, communication between these virtual memory units, virtual NICs, and virtual disks, and between these virtual CPUs and these virtual extended processors, can be achieved through the virtual bus network.
[0127] The cloud management platform selects several physical devices from multiple physical device pools that meet the specifications of logical nodes, and then creates target logical nodes on these physical devices. The target logical nodes contain virtual devices implemented based on these physical devices, and these physical devices and virtual devices have a mapping relationship. Furthermore, since these physical devices are all connected to a high-speed interconnect network, the network formed between these physical devices is part of the high-speed interconnect network, and is called a sub-network of the high-speed interconnect network. For example, selecting the CPU, NPU, memory, network card, and disk in the dashed box in Figure 8 results in the sub-network formed by these physical devices, as shown in the dashed box in Figure 8. As another example, selecting several physical servers in the dashed box in Figure 9, which include CPUs, extended processors, memory, network cards, and disks, can be considered as a portion of the CPUs in the CPU device pool, a portion of the extended processors in the extended processor device pool, a portion of the memory in the memory device pool, a portion of the network cards in the network card device pool, and a portion of the disks in the disk device pool. The sub-network formed by these physical devices is shown in the dashed box in Figure 9. Since these virtual devices are implemented based on these physical devices, they can also be logically connected through a virtual bus network, which is based on a sub-network of the high-speed interconnection network formed between these physical devices. The virtual bus network and this sub-network have a mapping relationship.
[0128] After the target logical node is created, the cloud management platform can prompt the tenant to provide a self-defined operating system image or an operating system image selected by the tenant on the cloud management platform. The cloud management platform can then install the tenant-specified operating system image on the target logical node. The target logical node with this operating system image installed can be remotely logged into by the tenant to schedule virtual devices on the target logical node to complete the tenant's business operations, thereby meeting the tenant's business needs.
[0129] In one possible implementation, the target logical node is created based on a tenant's request. As shown in Figure 10, the logical node management method based on cloud computing technology provided in this embodiment further includes:
[0130] Step 704: The cloud management platform obtains the logical node creation request input by the tenant. The logical node creation request includes the CPU requirements, memory requirements, network card requirements, disk requirements, and extended processor requirements of the target logical node.
[0131] The cloud management platform can provide a creation interface to tenant clients. For example, the cloud management platform displays a logical node creation section in the tenant interface. When a tenant needs to create its own logical node, the tenant can input a logical node creation request for that logical node through its client to the creation interface. In this way, the cloud management platform can receive the logical node creation request sent by the tenant through its client via the creation interface. It is worth noting that the logical node creation request for that logical node includes the logical node specification requirements set by the tenant for that logical node.
[0132] A logical node creation request instructs the tenant on the resource parameters to be set for the target logical node. These resource parameters describe the logical node's specification requirements. Logical node specification requirements include one or more of the following: CPU requirements, extended processor requirements, memory requirements, network interface card (NIC) requirements, and disk requirements. Specifically, CPU requirements describe the specifications of the CPU needed to create the logical node. Extended processor requirements describe the specifications of the extended processors needed to create the logical node. Memory requirements describe the specifications of the memory needed to create the logical node. NIC requirements describe the specifications of the network interface cards (NICs) needed to create the logical node. Disk requirements describe the specifications of the disks needed to create the logical node. For example, when a tenant needs to create logical node 1, the tenant can log in to the cloud management platform. The cloud management platform provides a tenant interface, which includes a logical node creation field. The tenant can then enter a logical node creation request for logical node 1 in this field. The tenant sets logical node specification requirement 1 for logical node 1. This requirement 1 includes CPU requirement 1, NPU requirement 1, memory requirement 1, NIC requirement 1, and disk requirement 1. CPU requirement 1 indicates that logical node 1 requires two CPU cores. NPU requirement 1 means that creating logical node 1 requires 2 NPU cores. Memory requirement 1 means that creating logical node 1 requires 8GB of memory storage. Disk requirement 1 means that creating logical node 1 requires 80GB of disk storage. Network interface card (NIC) requirement 1 means that creating logical node 1 requires 1Gbps bandwidth.
[0133] When the target logical node is created based on the tenant's request, as shown in Figure 10, step 701 includes: Step 7011, the cloud management platform creates the target logical node in the infrastructure according to the logical node creation request. The target logical node also includes virtual memory, virtual network interface card (NIC), and virtual disk. The virtual memory, virtual NIC, and virtual disk are logically connected to the virtual bus network. The virtual CPU is implemented by all or part of the functions of at least one CPU in the CPU device pool that meets the CPU requirements and is idle. The first virtual extended processor is implemented by all or part of the functions of at least one first extended processor in the extended processor device pool that meets the extended processor requirements and is idle. The virtual memory is implemented by all or part of the functions of at least one memory in the memory device pool that meets the memory requirements and is idle. The virtual NIC is implemented by all or part of the functions of at least one NIC in the NIC device pool that meets the NIC requirements and is idle. The virtual disk is implemented by all or part of the functions of at least one disk in the disk device pool that meets the disk requirements and is idle.
[0134] After receiving a logical node creation request for a target logical node, the cloud management platform can parse the logical node specification requirements from the request. These requirements describe the specifications of the various physical devices needed to create the target logical node. Therefore, the cloud management platform can select idle devices that meet these specifications from various physical device pools to create the tenant's target logical node. For example, the requirements expressed in the logical node creation request include CPU requirements, memory requirements, network interface card (NIC) requirements, and disk requirements. Therefore, the cloud management platform can select at least one idle CPU that meets the CPU requirements from the CPU device pool, at least one idle extended processor that meets the extended processor requirements from the extended processor device pool, at least one idle memory module that meets the memory requirements from the memory device pool, at least one idle network interface card (NIC) that meets the NIC requirements from the NIC device pool, and at least one idle disk that meets the disk requirements from the disk device pool. Then, the cloud management platform creates the target logical node based on these CPUs, extended processors, memory, NICs, and disks. The target logical node includes virtual CPUs implemented based on these CPUs, virtual extended processors implemented based on these extended processors, virtual memory implemented based on these memory units, virtual network cards implemented based on these network cards, virtual disks implemented based on these disks, and a virtual bus network. It should be noted that in the target logical node, since these CPUs, extended processors, memory units, network cards, and disks are all connected to a sub-network of a high-speed interconnect network—meaning they can communicate with each other through this sub-network—the virtual bus network implemented based on this sub-network can be logically connected to each of these virtual CPUs, extended processors, virtual memory units, virtual network cards, and virtual disks. In other words, these virtual CPUs, extended processors, virtual memory units, virtual network cards, and virtual disks can communicate with each other through this virtual bus network.
[0135] Continuing with the example above, since the cloud management platform has received the logical node specification requirement 1 set by the tenant for logical node 1, which includes CPU requirement 1, NPU requirement 1, memory requirement 1, network interface card (NIC) requirement 1, and disk requirement 1, a CPU that meets CPU requirement 1 is selected from the CPU device pool, an NPU that meets NPU requirement 1 is selected from the NPU device pool, memory that meets memory requirement 1 is selected from the memory device pool, a disk that meets disk requirement 1 is selected from the disk device pool, and a NIC that meets NIC requirement 1 is selected from the NIC device pool. Logical node 1 is then created on the selected CPU, NPU, memory, disk, and NIC. Logical node 1 includes virtual CPUs implemented based on these CPUs, NPUs implemented based on these NPUs, virtual memory implemented based on these memory units, virtual NICs implemented based on these NICs, virtual disks implemented based on these disks, and a virtual bus network. These virtual CPUs, virtual extended processors, virtual memory units, virtual NICs, and virtual disks can communicate with each other through this virtual bus network.
[0136] Step 702: If the cloud management platform confirms that at least one first extended processor in the extended processor device pool has failed, it will unload the first virtual extended processor from the target logical node.
[0137] In the event of a failure of the first extended processor, the first virtual extended processor implemented based on it becomes unusable, meaning the target logical node can no longer use the first virtual extended processor. In this case, the cloud management platform needs to unload the first virtual extended processor from the target logical node to stop its use. For example, as shown in Figure 11, virtual CPU1, virtual CPU2, and virtual CPU3 are all connected to the bus network via their respective RDMA network cards, and virtual NPU / GPU1, virtual NPU / GPU2, virtual NPU / GPU3, and virtual NPU / GPU4 are all connected to the bus network via their respective RDMA network cards. Logical node 1 has virtual NPU / GPU1 and virtual CPU1 mounted on it. Logical node 2 has virtual NPU / GPU2 and virtual CPU2 mounted on it. Logical node 3 has virtual NPU / GPU3 and virtual CPU3 mounted on it. If the cloud management platform determines that virtual NPU / GPU3 has failed, it will unload virtual NPU / GPU3 from logical node 3. Virtual NPU / GPU3 then becomes the first virtual extended processor.
[0138] When the cloud management platform provides computing services, instance management services, task management services, and bus network services, step 702 can be implemented jointly by the computing services and the bus network services. In one possible implementation, since the first virtual extended processor is mounted on the target logical node, it establishes communication with the virtual CPU of the target logical node through the virtual bus network. The bus network service can detect the health status of the first virtual extended processor. When the first virtual extended processor malfunctions, the bus network service can detect the malfunction and notify the computing service, thus allowing the virtual CPU to determine that the first virtual extended processor has failed. Specifically, the detection module of the bus network service can periodically send detection signals to the virtual devices it manages. When a virtual device fails to send a feedback signal to the detection module based on the detection signal within a specified time period, the bus network service determines that the virtual device has failed.
[0139] The cloud management platform offloads the first virtual extended processor from the target logical node, optionally through a bus network service or a compute service. In one possible implementation, when the compute service determines that the first virtual extended processor has failed, it sets the first virtual extended processor to be no longer usable by the target logical node and instructs the bus network server not to provide a communication connection between the first virtual extended processor and the target logical node's virtual CPU. This process is equivalent to logically offloading the first virtual extended processor from the target logical node. Specifically, the compute service sets the first virtual extended processor to be no longer usable by the target logical node by canceling the configuration of the first virtual extended processor belonging to the target logical node's virtual CPU. When the first virtual extended processor is no longer belonging to the target logical node's virtual CPU, the target logical node cannot use the first virtual extended processor.
[0140] It should be noted that if continuing to mount the faulty first virtual extended processor on the target logical node will not affect the performance of the target logical node, step 702 can be omitted. That is, step 702 can be selected for execution based on the needs of the application scenario, and no specific restrictions are made here.
[0141] Step 703: The cloud management platform mounts the second virtual extended processor to the target logical node. The second virtual extended processor is implemented through all or part of the functions of at least one second extended processor in the extended processor device pool. The second virtual extended processor is logically connected to the virtual bus network.
[0142] When the first virtual extended processor fails, the target logical node can no longer use it. Therefore, the first virtual extended processor needs to be replaced with a second virtual extended processor capable of taking its place. The cloud management platform then needs to mount the second virtual extended processor onto the target logical node to ensure that the target logical node can continue to use the virtual extended processor's capabilities to provide services to tenants. For example, as shown in Figure 11, if the cloud management platform determines that virtual NPU / GPU3 has failed, it mounts virtual NPU / GPU4 onto logical node 3. Virtual NPU / GPU4 is the second virtual extended processor.
[0143] In one possible implementation, the cloud management platform mounts a second virtual extended processor to the target logical node, optionally through a bus network service and a computing service. In another possible implementation, after the computing service determines that the first virtual extended processor has failed, it identifies a second extended processor from the extended processor device pool, then performs device simulation based on the second extended processor to obtain a second virtual extended processor. The second virtual extended processor is then configured in the target logical node as a usable virtual extended processor, and the bus network server is instructed to provide a communication connection between the second virtual extended processor and the target logical node's virtual CPU. This process is equivalent to logically mounting the second virtual extended processor to the target logical node. Specifically, the computing service configures the second virtual extended processor in the target logical node as a usable virtual extended processor by configuring it to be subordinate to the target logical node's virtual CPU. When the second virtual extended processor is subordinate to the target logical node's virtual CPU, the target logical node can use the second virtual extended processor. By unloading the first virtual extended processor from the target logical node and mounting the second virtual extended processor to the target logical node, hot-swapping of the virtual extended processor used by the target logical node can be achieved.
[0144] The operation of determining the second extended processor in the extended processor device pool can be implemented by a bus network service. The bus network can select an extended processor with the same functionality and specifications from among multiple extended processors in the extended processor device pool, based on the functions and specifications of the first extended processor. When multiple extended processors in the extended processor device pool have the same functions and specifications as the first extended processor, the bus network can optionally select one of them as the second extended processor based on a specified strategy. The specified strategy can be determined according to application requirements. For example, the specified strategy may randomly select one of multiple extended processors as the second extended processor. Alternatively, the specified strategy may indicate that an extended processor with specified characteristics will be selected as the second extended processor. This specified characteristic may be that the extended processor is deployed close to the CPU used by the virtual CPU. The bus network service records information about all the extended processors it manages, and based on this information, the bus network service can determine the functions and specifications of the extended processors.
[0145] Since the second virtual extended processor is used to replace the first virtual extended processor, and the replacement operation is performed after the first virtual extended processor fails, after the cloud management platform mounts the second virtual extended processor to the target logical node, if the target logical node needs to use the second virtual extended processor to continue providing services to the tenant, it also needs to perform a fault recovery operation on the target logical node. In one possible implementation, as shown in Figure 12, the implementation process includes:
[0146] Step 705: The virtual CPU of the target logical node provides checkpoint information to the second virtual extended processor for fault recovery.
[0147] Since the first virtual extended processor failed but the virtual CPU did not, the virtual CPU can obtain checkpoint information from when it executed tasks based on the first virtual extended processor. After obtaining the checkpoint information for fault recovery, the virtual CPU provides the second virtual extended processor with the same checkpoint information so that the second virtual extended processor can perform fault recovery based on this information. In one possible implementation, the instance in the virtual CPU that provides services to the tenant can read the checkpoint information from the virtual CPU and load it into the second virtual extended processor. The checkpoint information is used to indicate the checkpoint for fault recovery. The checkpoint for fault recovery can be the latest checkpoint recorded by the virtual CPU before the first virtual extended processor failed. When the target logical node also includes other virtual devices, the virtual CPU also needs to provide checkpoint information to these other virtual devices so that they can perform fault recovery based on this information.
[0148] Step 706: The virtual CPU and the second virtual extended processor of the target logical node perform fault recovery based on checkpoint information.
[0149] After the virtual CPU provides checkpoint information to the second virtual extended processor, the virtual CPU and the second virtual extended processor need to perform fault recovery based on the checkpoint indicated by the checkpoint information to ensure the consistency of task progress.
[0150] It should be noted that the target logical node can provide services to tenants independently or jointly with other logical nodes. For example, if the target logical node is a service node in a distributed system used to provide services to tenants, it can provide services to tenants jointly with other logical nodes in the distributed system. When the target logical node provides services to tenants jointly with other logical nodes, the fault recovery process also includes: step 708, where the virtual CPU of the target logical node provides checkpoint information for fault recovery to the virtual CPUs and virtual extended processors attached to other logical nodes.
[0151] When a target logical node jointly provides services to a tenant with other logical nodes, the virtual CPU of the target logical node may optionally also provide checkpoint information for fault recovery to the virtual CPUs and virtual extended processors attached to the other logical nodes. This ensures that virtual devices in all logical nodes jointly providing services to the tenant perform fault recovery based on the checkpoint information, thereby guaranteeing the consistency of task progress. When the other logical nodes also include other virtual devices, the virtual CPU of the target logical node also needs to provide checkpoint information to the other virtual devices so that they can perform fault recovery based on the checkpoint information. In one possible implementation, the instance in the virtual CPU of the target logical node used to provide services to the tenant can read checkpoint information from the virtual CPU, then provide the checkpoint information to the virtual CPUs of other logical nodes, and then the instance in the virtual CPU of the other logical nodes used to provide services to the tenant loads the checkpoint information into the other virtual devices of the other logical nodes.
[0152] Step 707: The virtual CPU and the second virtual extended processor that have completed fault recovery continue to provide services to the tenant.
[0153] Once the virtual CPU and second virtual extended processor have recovered from the failure, they can continue to provide services to the tenant. When the target logical node also includes other virtual devices, the virtual CPU, the second virtual extended processor, and other virtual devices jointly continue to provide services to the tenant. In one possible implementation, assuming the tenant's service is implemented through AI tasks, the target logical node runs a virtual machine via the virtual CPU, and the virtual machine contains at least one container, which runs an AI task. Before the first virtual extended processor is unloaded from the target logical node (i.e., while the first extended processor used by the first virtual extended processor is functioning correctly), at least one container uses the first virtual extended processor to execute AI tasks. After the first virtual extended processor is unloaded from the target logical node and the second virtual extended processor is mounted to the target logical node, at least one container uses the second virtual extended processor to execute AI tasks to continue providing services to the tenant.
[0154] As can be seen from the above, according to the logical node management method based on cloud computing technology provided in this application, when the cloud management platform confirms that at least one first extended processor in the extended processor device pool has failed, it unloads the first virtual extended processor from the target logical node. By replacing the virtual extended processor mounted on the target logical node, it is not necessary to replace all virtual devices mounted on the target logical node. The unfailed virtual devices mounted on the target logical node can continue to provide services to tenants, saving virtual device resources (such as CPU resources) and effectively improving the utilization rate of cloud resources. Furthermore, since the instance is deployed in a virtual CPU, and this application does not require replacing the virtual CPU, when the extended processor used by the virtual extended processor mounted on the target logical node fails, it is not necessary to re-manage the instance in the virtual CPU or reload the software stack, which can speed up the fault recovery process to a certain extent.
[0155] Optionally, as shown in Figure 12, before the target logical node continues to provide services to the tenant based on the capabilities provided by the second virtual extended processor, the logical node management method based on cloud computing technology provided in this application further includes:
[0156] Step 709: The cloud management platform configures the network address of the second virtual extended processor to the target network address used when the first virtual extended processor is mounted to the target logical node, configures the routing relationship between the second virtual extended processor and the virtual CPU based on the target network address, and configures the first virtual extended processor to no longer use the target network address.
[0157] The cloud management platform configures the network address of the second virtual extended processor to the target network address used when the first virtual extended processor was mounted to the target logical node. This is equivalent to keeping the target network address used when the first virtual extended processor was mounted to the target logical node unchanged, but allocating that target network address to the second virtual extended processor. As shown in Figure 11, the cloud management platform configures the network address IP6 of the second virtual extended processor to the network address used when the first virtual extended processor was mounted to the target logical node. This allows the second virtual extended processor to inherit the target network address. In one possible implementation, this operation can be achieved jointly by a compute service and a bus network service. For example, the compute device instructs the bus network service to configure the target network address for the second virtual extended processor. Under this instruction, the bus network service configures the network address of the second virtual extended processor to the target network address by configuring the network card of the second virtual extended processor's RDMA.
[0158] Correspondingly, the cloud management platform also needs to configure the first virtual extended processor to no longer use the target network address. For example, the network address of the first virtual extended processor can be configured to another network address that is not used by other devices. Alternatively, the configuration of the network address of the first virtual extended processor can be cancelled. Similarly, this operation can also be implemented jointly by the compute service and the bus network service. For example, the compute device instructs the bus network service to configure the first virtual extended processor to use another network address, or to cancel the configuration of the network address of the first virtual extended processor. The bus network service then configures the network card of the first virtual extended processor's RDMA according to this instruction. Canceling the configuration of the network address of the first virtual extended processor means removing the relevant configuration of the network address of the first virtual extended processor.
[0159] After the second virtual extended processor inherits the target network address of the first virtual extended processor, even though the second virtual extended processor uses the target network address of the first virtual extended processor, the links traversed by other devices when communicating with the second virtual extended processor change compared to the links traversed by other devices when communicating with the first virtual extended processor, because the first and second virtual extended processors are located in different positions in the network. Therefore, after the cloud management platform configures the network address of the second virtual extended processor as the target network address, in order to establish a network connection between the virtual CPU and the second virtual extended processor, the cloud management platform also needs to configure the routing relationship between the second virtual extended processor and the virtual CPU. For example, based on the target network address, the routing relationship of all network devices that need to be traversed when communicating between the second virtual extended processor and the virtual CPU is configured. In one possible implementation, this operation can be jointly implemented by the computing service and the bus network service. For example, the computing device instructs the bus network service to configure routing tables and other related configurations for all network devices that need to be traversed when communicating between the second virtual extended processor and the virtual CPU. Under this instruction, the bus network service configures the routing tables and other related configurations of the involved network devices to establish a network path between the second virtual extended processor and the virtual CPU.
[0160] It should be noted that when the second virtual extended processor also needs to communicate with other devices, the cloud management platform needs to configure the routing relationship between the second virtual extended processor and other devices. These other devices can be virtual devices mounted on the target logical node. Alternatively, when the target logical node and other logical nodes jointly provide services to the tenant, these other devices can be virtual devices mounted on other logical nodes. For example, as shown in Figure 12, before the target logical node continues to provide services to the tenant based on the capabilities provided by the second virtual extended processor, the logical node management method based on cloud computing technology provided in this application further includes:
[0161] Step 710: The cloud management platform configures the routing relationship between the second virtual extended processor and other virtual devices based on the target network address.
[0162] As described above, after the second virtual extended processor inherits the target network address of the first virtual extended processor, the communication links between other devices and the second virtual extended processor change compared to the communication links between other virtual devices and the first virtual extended processor. Therefore, the cloud management platform also needs to configure the routing relationships between the second virtual extended processor and other virtual devices based on the target network address. For example, configuring the routing relationships between the second virtual extended processor and other virtual devices in other logical nodes based on the target network address. The implementation process is detailed in the relevant description of configuring the routing relationship between the second virtual extended processor and the virtual CPU in the cloud management platform; it will not be elaborated upon here.
[0163] In this way, since the second virtual extension processor continues to use the target network address used when the first virtual extension processor was mounted to the target logical node, non-faulty devices only perceive the refresh or hot-plugging of the virtual extension processor, and do not perceive the replacement of the faulty device. The second virtual extension processor does not need to re-establish a communication connection with the non-faulty device, nor does it need to perform complex distributed state synchronization. After a simple fault recovery, it can continue to provide services to the tenant. Therefore, it can significantly speed up the fault recovery process and shorten the fault recovery time.
[0164] Furthermore, as shown in Figure 12, since the second virtual extended processor inherits the target network address of the first virtual extended processor, the logical node management method based on cloud computing technology provided in this application further includes the following before the target logical node continues to provide services to the tenant based on the capabilities provided by the second virtual extended processor:
[0165] Step 711: The second virtual extension processor resets the connections established by other virtual devices through the target network address.
[0166] After the second virtual extended processor inherits the target network address of the first virtual extended processor, although the network address used by the second virtual extended processor remains unchanged compared to the network address used by the first virtual extended processor, the virtual extended processor using that network address has indeed changed. Furthermore, the second virtual extended processor replaces the first virtual extended processor because the first virtual extended processor has failed. Therefore, before the virtual CPU can continue to provide services to tenants based on the capabilities provided by the second virtual extended processor, the second virtual extended processor needs to reset the connections established by other virtual devices through the target network address, switching communication between the first virtual extended processor and other virtual devices after the failure of the first virtual extended processor to communication between other virtual devices and the second virtual extended processor. This can be achieved by the second virtual extended processor sending a notification to other virtual devices to instruct them to re-perform communication after the checkpoint and clear the relevant content (such as context information) used in communication after the checkpoint. In one possible implementation, the second virtual extended processor instructing the clearing of the relevant content used in communication after the checkpoint can be achieved by adding semantics to the RDMA semantics and sending the added semantics to other virtual devices through the bus network connecting the second virtual extended processor and other virtual devices. For example, the newly added semantic is "Flush." The Flush semantic indicates that the contents of all queues on an established RDMA connection should be cleared, and the RDMA connection should be reset to its initial connection state. Here, the RDMA connection refers to the connection between the second virtual extension processor and other virtual devices. By resetting the connection established by the second virtual extension processor with the target network address, the second virtual extension processor can continue to communicate with other virtual devices using the target network address, facilitating normal subsequent communication. Furthermore, this reset operation allows the second virtual extension processor to restart communication without re-establishing communication connections with other virtual devices or performing complex distributed state synchronization, significantly accelerating fault recovery and shortening recovery time.
[0167] As can be seen from the above, according to the logical node management method based on cloud computing technology provided in this application, when the cloud management platform confirms that at least one first extended processor in the extended processor device pool has failed, it unloads the first virtual extended processor from the target logical node. By replacing the virtual extended processor mounted on the target logical node, it is not necessary to replace all virtual devices mounted on the target logical node. The unfailed virtual devices mounted on the target logical node can continue to provide services to tenants, saving virtual device resources (such as CPU resources) and effectively improving the utilization rate of cloud resources. Furthermore, since the instance is deployed in a virtual CPU, and this application does not require replacing the virtual CPU, when the extended processor used by the virtual extended processor mounted on the target logical node fails, it is not necessary to re-manage the instance in the virtual CPU or reload the software stack, which can speed up the fault recovery process to a certain extent. Furthermore, by continuing to use the target network address used when the first virtual extension processor was mounted to the target logical node, the second virtual extension processor enables non-faulty devices to only perceive the refresh or hot-plugging actions of the virtual extension processor, without perceiving the replacement of faulty devices. The second virtual extension processor does not need to re-establish communication connections with non-faulty devices, nor does it need to perform complex distributed state synchronization. Communication can be restarted through connection reset operations, which can significantly accelerate the fault recovery process and shorten the fault recovery time.
[0168] It should be noted that the order of steps in the logical node management method based on cloud computing technology provided in this application embodiment can be appropriately adjusted, and steps can also be added or removed as needed. Any variations that can be easily conceived by those skilled in the art within the scope of the technology disclosed in this application should be included within the protection scope of this application, and therefore will not be elaborated further.
[0169] The following describes an example of a virtual device in an embodiment of this application.
[0170] The above describes a logical node management method based on cloud computing technology according to embodiments of this application. Corresponding to the above method, embodiments of this application also provide a cloud management platform. Figure 13 is a schematic diagram of the structure of a cloud management platform provided in an embodiment of this application. Based on the following components shown in Figure 13, the cloud management platform shown in Figure 13 can perform all or part of the operations shown in Figures 7, 10, or 12. It should be understood that the cloud management platform may include more additional components than the components shown or omit some of the components shown, and embodiments of this application do not limit this. The cloud management platform is used to manage infrastructure. The infrastructure includes a CPU device pool and an extended processor device pool. The CPU device pool includes multiple CPUs, and the extended processor device pool includes multiple extended processors. The multiple CPUs in the CPU device pool and the multiple extended processors in the extended processor device pool are respectively connected to a high-speed interconnection network. 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 pools. As shown in Figure 13, the cloud management platform 130 may include:
[0171] A creation module 1301 is used to create a target logical node in an infrastructure, wherein the target logical node includes a virtual CPU, a first virtual extended processor, and a virtual bus network. The virtual CPU and the first virtual extended processor are logically connected to the virtual bus network. The virtual CPU is implemented through all or part of the functions of at least one CPU in the CPU device pool. The first virtual extended processor is implemented through all or part of the functions of at least one first extended processor in the extended processor device pool. The virtual bus network is implemented through a sub-network of a high-speed interconnect network.
[0172] The unloading module 1302 is used to unload the first virtual extended processor from the target logical node if it is confirmed that at least one first extended processor in the extended processor device pool has failed.
[0173] Mounting module 1303 is used to mount a second virtual extended processor to a target logical node. The second virtual extended processor is implemented through all or part of the functions of at least one second extended processor in the extended processor device pool. The second virtual extended processor is logically connected to the virtual bus network.
[0174] In one possible implementation, the target logical node runs a virtual machine via a virtual CPU. The virtual machine contains at least one container, which runs an artificial intelligence (AI) task. Before the first virtual extended processor is unloaded from the target logical node, the at least one container uses the first virtual extended processor to execute the AI task. After the second virtual extended processor is mounted to the target logical node, the at least one container uses the second virtual extended processor to execute the AI task.
[0175] In one possible implementation, the infrastructure also includes a memory device pool, a network interface card (NIC) device pool, and a disk device pool. Multiple memory modules in the memory device pool, multiple NICs in the NIC device pool, and multiple disks in the disk device pool are all connected to a high-speed interconnect network. The logical nodes also include virtual memory, virtual NICs, and virtual disks. The virtual memory, virtual NICs, and virtual disks are logically connected to a virtual bus network. The virtual memory is implemented using all or part of the functions of at least one memory module in the memory device pool. The virtual NICs are implemented using all or part of the functions of at least one NIC in the NIC device pool. The virtual disks are implemented using all or part of the functions of at least one disk in the disk device pool.
[0176] In one possible implementation, as shown in Figure 14, the cloud management platform 130 also includes:
[0177] The acquisition module 1304 is used to acquire the logical node creation request input by the tenant. The logical node creation request includes the CPU requirements, memory requirements, network card requirements, disk requirements, and extended processor requirements of the target logical node.
[0178] The creation module 1301 is used to create a target logical node according to a logical node creation request. The target logical node also includes virtual memory, a virtual network interface card (NIC), and a virtual disk. The virtual memory, virtual NIC, and virtual disk are logically connected to a virtual bus network. The virtual CPU is implemented using all or part of the functions of at least one CPU in the CPU device pool that meets the CPU requirements and is idle. The first virtual extended processor is implemented using all or part of the functions of at least one first extended processor in the extended processor device pool that meets the extended processor requirements and is idle. The virtual memory is implemented using all or part of the functions of at least one memory in the memory device pool that meets the memory requirements and is idle. The virtual NIC is implemented using all or part of the functions of at least one NIC in the NIC device pool that meets the NIC requirements and is idle. The virtual disk is implemented using all or part of the functions of at least one disk in the disk device pool that meets the disk requirements and is idle.
[0179] In one possible implementation, the extended processors in the extended processor device pool are of the type of neural network processor (NPU), graphics processing unit (GPU), tensor processor (TPU), data processing unit (DPU), or any combination thereof.
[0180] In one possible implementation, the high-speed interconnect network is achieved by interconnecting peripheral components to form a fast PCIe network, an unlimited bandwidth IB network, or a compute-fast link CXL network.
[0181] In one possible implementation, as shown in Figure 14, the cloud management platform 130 also includes:
[0182] The configuration module 1305 is used to configure the network address of the second virtual extended processor to the target network address used when the first virtual extended processor is mounted to the target logical node, configure the routing relationship between the second virtual extended processor and the virtual CPU based on the target network address, and configure the first virtual extended processor to no longer use the target network address.
[0183] In one possible implementation, the configuration module 1305 is also used to configure the routing relationship between the second virtual extended processor and other virtual devices based on the target network address.
[0184] Here, the detailed working process of the creation module 1301, unloading module 1302, mounting module 1303, acquisition module 1304, and configuration module 1305 is described in the preceding method embodiments. For example, the creation module 1301 uses the aforementioned step 701 to create a target logical node in the infrastructure. The unloading module 1302 uses the aforementioned step 702 to unload the first virtual extended processor from the target logical node if at least one first extended processor in the extended processor device pool is confirmed to have failed. The mounting module 1303 uses the aforementioned step 703 to mount the second virtual extended processor to the target logical node. The embodiments of this application will not be described again here.
[0185] The creation module 1301, unloading module 1302, mounting module 1303, acquisition module 1304, and configuration module 1305 can all be implemented in software or in hardware. For example, the implementation of the creation module 1301 will be described below. Similarly, the implementation of the unloading module 1302, mounting module 1303, acquisition module 1304, and configuration module 1305 can refer to the implementation of the creation module 1301.
[0186] As an example of a software functional unit, creation module 1301 may include code running on a computing instance. The computing instance may include at least one of a physical host (computing device), a virtual machine, or a container. Further, the aforementioned computing instance may be one or more. For example, creation module 1301 may include code running on multiple hosts / virtual machines / containers. It should be noted that the multiple hosts / virtual machines / containers used to run the code may be distributed within the same region or in different regions. Further, the multiple hosts / virtual machines / containers used to run the code may be distributed within the same availability zone (AZ) or in different AZs, each AZ including one cloud data center or multiple geographically proximate cloud data centers. Typically, a region may include multiple AZs.
[0187] Similarly, multiple hosts / virtual machines / containers used to run this code can be distributed within the same Virtual Private Cloud (VPC) or across multiple VPCs. Typically, a VPC is set up within a region. Communication between two VPCs within the same region, as well as between VPCs in different regions, requires a communication gateway to be set up within each VPC to enable interconnection between VPCs.
[0188] As an example of a hardware functional unit, creation module 1301 may include at least one computing device, such as a server. Alternatively, creation module 1301 may also be a device implemented using an application-specific integrated circuit (ASIC) or a programmable logic device (PLD). The PLD may be implemented using a complex programmable logical device (CPLD), a field-programmable gate array (FPGA), generic array logic (GAL), or any combination thereof.
[0189] The multiple computing devices included in creation module 1301 can be distributed within the same region or in different regions. Similarly, the multiple computing devices included in creation module 1301 can be distributed within the same Availability Zone (AZ) or in different AZs. Likewise, the multiple computing devices included in creation module 1301 can be distributed within the same VPC or in multiple VPCs. These multiple computing devices can be any combination of computing devices such as servers, ASICs, PLDs, CPLDs, FPGAs, and GALs.
[0190] It should be noted that, in other embodiments, any one of the creation module 1301, unloading module 1302, mounting module 1303, acquisition module 1304, and configuration module 1305 can be used to execute any step in the logical node management method based on cloud computing technology. The steps implemented by the creation module 1301, unloading module 1302, mounting module 1303, acquisition module 1304, and configuration module 1305 can be specified as needed. By implementing different steps in the logical node management method based on cloud computing technology through the creation module 1301, unloading module 1302, mounting module 1303, acquisition module 1304, and configuration module 1305, all functions of the cloud management platform can be realized.
[0191] Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the specific working processes of each component described above can be referred to the corresponding content in the foregoing method embodiments, and will not be repeated here.
[0192] This application also provides a cloud system. The cloud system includes a cloud management platform and infrastructure. The cloud management platform is used to manage the infrastructure. The infrastructure includes a CPU device pool and an extended processor device pool. The CPU device pool includes multiple CPUs, and the extended processor device pool includes multiple extended processors. The multiple CPUs in the CPU device pool and the multiple extended processors in the extended processor device pool are respectively connected to a high-speed interconnect network. The high-speed interconnect network is used to enable interconnection between devices in each device pool within and between pools. The cloud management platform is used to create target logical nodes in the infrastructure. Each target logical node includes a virtual CPU, a first virtual extended processor, and a virtual bus network. The virtual CPU and the first virtual extended processor are logically connected to the virtual bus network. The virtual CPU is connected to the CPU device pool via a high-speed interconnect network. The virtual extended processor is implemented by eliminating all or part of the functions of one CPU. The first virtual extended processor is implemented by all or part of the functions of at least one first extended processor in the extended processor device pool. The virtual bus network is implemented by a sub-network of a high-speed interconnect network. The cloud management platform is also used to unload the first virtual extended processor from the target logical node if it is confirmed that at least one first extended processor in the extended processor device pool has failed. The cloud management platform is also used to mount the second virtual extended processor to the target logical node. The second virtual extended processor is implemented by all or part of the functions of at least one second extended processor in the extended processor device pool. The second virtual extended processor is logically connected to the virtual bus network.
[0193] In one possible implementation, the target logical node runs a virtual machine via a virtual CPU. The virtual machine contains at least one container, which runs an artificial intelligence (AI) task. Before the first virtual extended processor is unloaded from the target logical node, the at least one container uses the first virtual extended processor to execute the AI task. After the second virtual extended processor is mounted to the target logical node, the at least one container uses the second virtual extended processor to execute the AI task.
[0194] In one possible implementation, the infrastructure also includes a memory device pool, a network interface card (NIC) device pool, and a disk device pool. Multiple memory modules in the memory device pool, multiple NICs in the NIC device pool, and multiple disks in the disk device pool are all connected to a high-speed interconnect network. The logical nodes also include virtual memory, virtual NICs, and virtual disks. The virtual memory, virtual NICs, and virtual disks are logically connected to a virtual bus network. The virtual memory is implemented using all or part of the functions of at least one memory module in the memory device pool. The virtual NICs are implemented using all or part of the functions of at least one NIC in the NIC device pool. The virtual disks are implemented using all or part of the functions of at least one disk in the disk device pool.
[0195] In one possible implementation, the cloud management platform is further configured to acquire a logical node creation request input by a tenant. This request includes the target logical node's CPU, memory, network interface card (NIC), disk, and extended processor requirements. Correspondingly, the cloud management platform is also configured to create the target logical node in the infrastructure based on the logical node creation request. The target logical node further includes virtual memory, a virtual NIC, and a virtual disk. These virtual memory, NIC, and disk are logically connected to a virtual bus network. The virtual CPU is implemented using all or part of the functionality of at least one idle CPU from the CPU device pool that meets the CPU requirements. The first virtual extended processor is implemented using all or part of the functionality of at least one idle first extended processor from the extended processor device pool that meets the extended processor requirements. The virtual memory is implemented using all or part of the functionality of at least one idle memory from the memory device pool that meets the memory requirements. The virtual NIC is implemented using all or part of the functionality of at least one idle NIC from the NIC device pool that meets the NIC requirements. The virtual disk is implemented using all or part of the functionality of at least one idle disk from the disk device pool that meets the disk requirements.
[0196] In one possible implementation, the extended processors in the extended processor device pool are of the type of neural network processor (NPU), graphics processing unit (GPU), tensor processor (TPU), data processing unit (DPU), or any combination thereof.
[0197] In one possible implementation, the high-speed interconnect network is achieved by interconnecting peripheral components to form a fast PCIe network, an unlimited bandwidth IB network, or a compute-fast link CXL network.
[0198] In one possible implementation, the cloud management platform is also used to configure the network address of the second virtual extended processor as the target network address used when the first virtual extended processor is mounted to the target logical node, configure the routing relationship between the second virtual extended processor and the virtual CPU based on the target network address, and configure the first virtual extended processor to no longer use the target network address.
[0199] In one possible implementation, where the target logical node and other logical nodes jointly provide services to the tenant, the cloud management platform is also used to configure the routing relationship between the second virtual extended processor and other virtual devices based on the target network address.
[0200] In one possible implementation, a second virtual extension processor is used to reset connections established by other virtual extension processors via a target network address.
[0201] In one possible implementation, a virtual CPU is used to provide checkpoint information for fault recovery to a second virtual extended processor; the virtual CPU and the second virtual extended processor are used to perform fault recovery based on the checkpoint information; and the virtual CPU and the second virtual extended processor, having completed fault recovery, are used to continue providing services to the tenant.
[0202] In one possible implementation, when the target logical node and other logical nodes jointly provide services to the tenant, the virtual CPU is also used to provide checkpoint information to the virtual CPUs and virtual extended processors mounted on other logical nodes.
[0203] Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the specific working processes of each component described above can be referred to the corresponding content in the foregoing method embodiments, and will not be repeated here.
[0204] The following provides examples illustrating the basic hardware structures involved in the embodiments of this application.
[0205] This application also provides a computing device 1500. As shown in FIG15, the computing device 1500 includes: a bus 1502, a processor 1504, a memory 1506, and a communication interface 1508. The processor 1504, the memory 1506, and the communication interface 1508 communicate with each other via the bus 1502. The computing device 1500 may be a server or a terminal device. It should be understood that this application does not limit the number of processors and memories in the computing device 1500.
[0206] Bus 1502 can be a Peripheral Component Interconnect (PCI) bus or an Extended Industry Standard Architecture (EISA) bus, etc. Buses can be categorized as address buses, data buses, control buses, etc. For ease of illustration, only one line is used in Figure 15, but this does not imply that there is only one bus or one type of bus. Bus 1502 can include pathways for transmitting information between various components of computing device 1500 (e.g., memory 1506, processor 1504, communication interface 1508).
[0207] Processor 1504 may include any one or more processors such as a central processing unit (CPU), a graphics processing unit (GPU), a microprocessor (MP), or a digital signal processor (DSP).
[0208] The memory 1506 may include volatile memory, such as random access memory (RAM). The processor 1504 may also include non-volatile memory, such as read-only memory (ROM), flash memory, hard disk drive (HDD), or solid state drive (SSD).
[0209] The memory 1506 stores the operating system and executable program code (i.e., executable code). The processor 1504 executes this executable program code to implement the functions of the aforementioned creation module 1301, unloading module 1302, mounting module 1303, acquisition module 1304, and configuration module 1305, thereby realizing a logical node management method based on cloud computing technology. In other words, the memory 1506 stores instructions for executing the logical node management method based on cloud computing technology.
[0210] The communication interface 1508 uses transceiver modules, such as, but not limited to, network interface cards and transceivers, to enable communication between the computing device 1500 and other devices or communication networks.
[0211] This application also provides a computing device cluster. The computing device cluster includes at least one computing device. The computing device can be a server, such as a central server, an edge server, or a local server in a local data center. In some embodiments, the computing device can also be a terminal device such as a desktop computer, a laptop computer, or a smartphone.
[0212] As shown in Figure 16, the computing device cluster includes at least one computing device 1500. The memory 1506 of one or more computing devices 1500 in the computing device cluster may store the same instructions for executing logical node management methods based on cloud computing technology.
[0213] In some possible implementations, the memory 1506 of one or more computing devices 1500 in the computing device cluster may also store partial instructions for executing logical node management methods based on cloud computing technology. In other words, a combination of one or more computing devices 1500 can jointly execute instructions for executing logical node management methods based on cloud computing technology.
[0214] It should be noted that the memory 1506 in different computing devices 1500 within the computing device cluster can store different instructions, each used to execute a portion of the functions of the cloud management platform. That is, the instructions stored in the memory 1506 of different computing devices 1500 can implement the functions of one or more modules among the creation module 1301, unloading module 1302, mounting module 1303, acquisition module 1304, and configuration module 1305.
[0215] In some possible implementations, one or more computing devices in a computing device cluster can be connected via a network. This network can be a wide area network (WAN) or a local area network (LAN), etc. Figure 17 illustrates one possible implementation. As shown in Figure 17, two computing devices 1500A and 1500B are connected via a network. Specifically, they are connected to the network through communication interfaces in each computing device. In this type of possible implementation, the memory 1506 in computing device 1500A stores instructions for executing the functions of the creation module 1301 and the unloading module 1302. Simultaneously, the memory 1506 in computing device 1500B stores instructions for executing the functions of the mounting module 1303, the acquisition module 1304, and the configuration module 1305.
[0216] It should be understood that the functions of computing device 1500A shown in Figure 17 can also be performed by multiple computing devices 1500. Similarly, the functions of computing device 1500B can also be performed by multiple computing devices 1500.
[0217] This application also provides another computing device cluster. The connection relationship between the computing devices in this computing device cluster can be similarly referred to the connection method of the computing device clusters in Figures 16 and 17. The difference is that the memory 1506 of one or more computing devices 1500 in this computing device cluster can store the same instructions for executing the logical node management method based on cloud computing technology.
[0218] In some possible implementations, the memory 1506 of one or more computing devices 1500 in the computing device cluster may also store partial instructions for executing logical node management methods based on cloud computing technology. In other words, a combination of one or more computing devices 1500 can jointly execute instructions for executing logical node management methods based on cloud computing technology.
[0219] This application also provides a computer program product containing instructions. The computer program product may be software or program products containing instructions, capable of running on a computing device or stored on any usable medium. When the computer program product runs on at least one computing device, it causes the at least one computing device to execute a logical node management method based on cloud computing technology.
[0220] This application also provides a computer-readable storage medium. The computer-readable storage medium can be any available medium that a computing device can store, or a data storage device such as a data center containing one or more available media. The available medium can be a magnetic medium (e.g., floppy disk, hard disk, magnetic tape), an optical medium (e.g., DVD), or a semiconductor medium (e.g., solid-state drive). The computer-readable storage medium includes instructions that instruct the computing device to execute a logical node management method based on cloud computing technology, or instruct the computing device to execute a logical node management method based on cloud computing technology.
[0221] Those skilled in the art will understand that all or part of the steps of the above embodiments can be implemented by hardware or by a program instructing related hardware. The program can be stored in a computer-readable storage medium, such as a read-only memory, a disk, or an optical disk.
[0222] It should be noted that all information (including but not limited to user device information, user personal information, etc.), data (including but not limited to data used for analysis, stored data, displayed data, etc.), and signals involved in this application have been authorized by the user or fully authorized by all parties, and the collection, use, and processing of related data must comply with the relevant laws, regulations, and standards of the relevant countries and regions. For example, the raw data and executable code involved in this application were obtained with full authorization.
[0223] In the embodiments of this application, the terms "first," "second," and "third" are used for descriptive purposes only and should not be construed as indicating or implying relative importance. The term "at least one" refers to one or more, and the term "multiple" refers to two or more, unless otherwise expressly defined.
[0224] In this application, the term "and / or" is merely a description of the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can represent: A existing alone, A and B existing simultaneously, or B existing alone. Additionally, the character " / " in this document generally indicates that the preceding and following related objects have an "or" relationship.
[0225] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of this application, and are not intended to limit them. Although this application has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some of the technical features. Such modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the protection scope of the technical solutions of the embodiments of this invention.
Claims
1. A logical node management method based on cloud computing technology, characterized in that, The method is applied to a cloud management platform for managing infrastructure, which includes a CPU device pool and an extended processor device pool. The CPU device pool includes multiple CPUs, and the extended processor device pool includes multiple extended processors. The multiple CPUs in the CPU device pool and the multiple extended processors in the extended processor device pool are respectively connected to a high-speed interconnect network. The high-speed interconnect network is used to enable interconnection between devices in each device pool within and between pools of the infrastructure. The method includes: The cloud management platform creates a target logical node in the infrastructure, wherein the target logical node includes a virtual CPU, a first virtual extended processor, and a virtual bus network. The virtual CPU and the first virtual extended processor are logically connected to the virtual bus network. The virtual CPU is implemented through all or part of the functions of at least one CPU in the CPU device pool. The first virtual extended processor is implemented through all or part of the functions of at least one first extended processor in the extended processor device pool. The virtual bus network is implemented through a sub-network of the high-speed interconnect network. If the cloud management platform confirms that at least one first extended processor in the extended processor device pool has failed, it will unload the first virtual extended processor from the target logical node. The cloud management platform mounts the second virtual extended processor to the target logical node. The second virtual extended processor is implemented through all or part of the functions of at least one second extended processor in the extended processor device pool. The second virtual extended processor is logically connected to the virtual bus network.
2. The method according to claim 1, characterized in that, The target logical node runs a virtual machine through the virtual CPU. The virtual machine contains at least one container, and the at least one container runs an artificial intelligence (AI) task. Before the first virtual extended processor is unloaded from the target logical node, the at least one container uses the first virtual extended processor to execute the AI task. After the second virtual extended processor is mounted to the target logical node, the at least one container uses the second virtual extended processor to execute the AI task.
3. The method according to claim 1 or 2, characterized in that, The infrastructure also includes a memory device pool, a network interface card (NIC) device pool, and a disk device pool. Multiple memory modules in the memory device pool, multiple NICs in the NIC device pool, and multiple disks in the disk device pool are all connected to a high-speed interconnect network. The logical node also includes virtual memory, virtual NICs, and virtual disks. The virtual memory, virtual NICs, and virtual disks are logically connected to the virtual bus network. The virtual memory is implemented through all or part of the functions of at least one memory module in the memory device pool. The virtual NIC is implemented through all or part of the functions of at least one NIC in the NIC device pool. The virtual disk is implemented through all or part of the functions of at least one disk in the disk device pool.
4. The method according to claim 3, characterized in that, The method further includes: The cloud management platform obtains a logical node creation request input by the tenant. The logical node creation request includes the CPU requirements, memory requirements, network card requirements, disk requirements, and extended processor requirements of the target logical node. The cloud management platform creates target logical nodes in the infrastructure, including: The cloud management platform creates the target logical node in the infrastructure according to the logical node creation request. The target logical node further includes virtual memory, virtual network interface card (NIC), and virtual disk. The virtual memory, virtual NIC, and virtual disk are logically connected to the virtual bus network. The virtual CPU is implemented using all or part of the functions of at least one idle CPU in the CPU device pool that meets the CPU requirements. The first virtual extended processor is implemented using all or part of the functions of at least one idle first extended processor in the extended processor device pool that meets the extended processor requirements. The virtual memory is implemented using all or part of the functions of at least one idle memory in the memory device pool that meets the memory requirements. The virtual NIC is implemented using all or part of the functions of at least one idle NIC in the NIC device pool that meets the NIC requirements. The virtual disk is implemented using all or part of the functions of at least one idle disk in the disk device pool that meets the disk requirements.
5. The method according to any one of claims 1 to 4, characterized in that, The extended processors in the extended processor device pool are of the type of neural network processor (NPU), graphics processing unit (GPU), tensor processor (TPU), data processing unit (DPU), or any combination thereof.
6. The method according to any one of claims 1 to 5, characterized in that, The high-speed interconnect network is implemented by interconnecting peripheral components to form a fast PCIe network, an unlimited bandwidth IB network, or a compute-fast link CXL network.
7. The method according to any one of claims 1 to 6, characterized in that, The method further includes: The cloud management platform configures the network address of the second virtual extended processor to the target network address used when the first virtual extended processor is mounted to the target logical node, configures the routing relationship between the second virtual extended processor and the virtual CPU based on the target network address, and configures the first virtual extended processor to no longer use the target network address.
8. The method as described in claim 7, characterized in that, When the target logical node and other logical nodes jointly provide services to the tenant, the method further includes: The cloud management platform configures the routing relationship between the second virtual extended processor and the other virtual devices based on the target network address.
9. The method as described in claim 8, characterized in that, The method further includes: The second virtual extension processor resets the connections established by the other virtual devices through the target network address.
10. A cloud system, comprising a cloud management platform and infrastructure, characterized in that, The cloud management platform is used to manage the infrastructure, wherein: The infrastructure includes a CPU device pool and an extended processor device pool. The CPU device pool includes multiple CPUs, and the extended processor device pool includes multiple extended processors. The multiple CPUs in the CPU device pool and the multiple extended processors in the extended processor device pool are respectively connected to a high-speed interconnection network. 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 pools. The cloud management platform is used to create target logical nodes in the infrastructure, wherein the target logical node includes a virtual CPU, a first virtual extended processor, and a virtual bus network. The virtual CPU and the first virtual extended processor are logically connected to the virtual bus network. The virtual CPU is implemented through all or part of the functions of at least one CPU in the CPU device pool. The first virtual extended processor is implemented through all or part of the functions of at least one first extended processor in the extended processor device pool. The virtual bus network is implemented through a sub-network of the high-speed interconnect network. The cloud management platform is also used to unload the first virtual extended processor from the target logical node if it is confirmed that at least one first extended processor in the extended processor device pool has failed. The cloud management platform is also used to mount a second virtual extended processor to the target logical node. The second virtual extended processor is implemented through all or part of the functions of at least one second extended processor in the extended processor device pool. The second virtual extended processor is logically connected to the virtual bus network.
11. The cloud system according to claim 10, characterized in that, The target logical node runs a virtual machine through the virtual CPU. The virtual machine contains at least one container, and the at least one container runs an artificial intelligence (AI) task. Before the first virtual extended processor is unloaded from the target logical node, the at least one container uses the first virtual extended processor to execute the AI task. After the second virtual extended processor is mounted to the target logical node, the at least one container uses the second virtual extended processor to execute the AI task.
12. The cloud system according to claim 10 or 11, characterized in that, The infrastructure also includes a memory device pool, a network interface card (NIC) device pool, and a disk device pool. Multiple memory modules in the memory device pool, multiple NICs in the NIC device pool, and multiple disks in the disk device pool are all connected to a high-speed interconnect network. The logical node also includes virtual memory, virtual NICs, and virtual disks. The virtual memory, virtual NICs, and virtual disks are logically connected to the virtual bus network. The virtual memory is implemented through all or part of the functions of at least one memory module in the memory device pool. The virtual NIC is implemented through all or part of the functions of at least one NIC in the NIC device pool. The virtual disk is implemented through all or part of the functions of at least one disk in the disk device pool.
13. The cloud system according to claim 12, characterized in that, The cloud management platform is also used to obtain logical node creation requests input by tenants, the logical node creation requests including the CPU requirements, memory requirements, network card requirements, disk requirements, and extended processor requirements of the target logical node; The cloud management platform is further configured to create the target logical node according to the logical node creation request. The target logical node includes virtual memory, a virtual network interface card (NIC), and a virtual disk. The virtual memory, NIC, and disk are logically connected to the virtual bus network. The virtual CPU is implemented using all or part of the functionality of at least one idle CPU in the CPU device pool that meets the CPU requirements. The first virtual extended processor is implemented using all or part of the functionality of at least one idle first extended processor in the extended processor device pool that meets the extended processor requirements. The virtual memory is implemented using all or part of the functionality of at least one idle memory in the memory device pool that meets the memory requirements. The virtual NIC is implemented using all or part of the functionality of at least one idle NIC in the NIC device pool that meets the NIC requirements. The virtual disk is implemented using all or part of the functionality of at least one idle disk in the disk device pool that meets the disk requirements.
14. The cloud system according to any one of claims 10 to 13, characterized in that, The extended processors in the extended processor device pool are of the type of neural network processor (NPU), graphics processing unit (GPU), tensor processor (TPU), data processing unit (DPU), or any combination thereof.
15. The cloud system according to any one of claims 10 to 14, characterized in that, The high-speed interconnect network is implemented by interconnecting peripheral components to form a fast PCIe network, an unlimited bandwidth IB network, or a compute-fast link CXL network.
16. The cloud system as described in any one of claims 10 to 15, characterized in that, The cloud management platform is further configured to configure the network address of the second virtual extended processor as the target network address used when the first virtual extended processor is mounted to the target logical node, configure the routing relationship between the second virtual extended processor and the virtual CPU based on the target network address, and configure the first virtual extended processor to no longer use the target network address.
17. The cloud system as described in claim 16, characterized in that, When the target logical node and other logical nodes jointly provide services to the tenant, the cloud management platform is also used to configure the routing relationship between the second virtual extended processor and the other virtual devices based on the target network address.
18. The cloud system as described in claim 17, characterized in that, The second virtual extension processor is used to reset the connections established by the other virtual extension processors through the target network address.
19. A computing device cluster, characterized in that, The system includes multiple computing devices, each comprising multiple processors and multiple memories, the multiple memories storing program instructions, and the multiple processors executing the program instructions to cause the cluster of computing devices to perform the method as described in any one of claims 1 to 9.
20. A computer-readable storage medium, characterized in that, Includes program instructions that, when executed on a computing device, cause the computing device to perform the method as described in any one of claims 1 to 9.
21. A computer program product containing instructions, characterized in that, When the instruction is executed by the computing device cluster, the computing device cluster causes the computing device cluster to perform the method as described in any one of claims 1 to 9.