Cloud management platform-based task processing method and cloud management platform

By automatically dividing tasks through the cloud management platform and executing them in the super cluster, the problems of high manual costs and poor scalability caused by tenants manually setting tags are solved, achieving efficient and low-cost task processing.

WO2025242082A1PCT designated stage Publication Date: 2025-11-27HUAWEI CLOUD COMPUTING TECHNOLOGIES CO LTD
View PDF 6 Cites 0 Cited by

Patent Information

Application Number
PCT/CN2025/095992
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2024-06-19
Filing Date
2025-05-20
Publication Date
2025-11-27

AI Technical Summary

Technical Problem

In existing technologies, the scheduling of computing nodes for the infrastructure provided by cloud management platforms to tenants requires tenants to manually set tags, resulting in a large amount of manual operation, increasing labor costs and reducing the tenant experience, and the cluster scalability is poor.

Method used

The cloud management platform automatically divides tasks into multiple sub-tasks and executes them on super nodes in the super cluster. It receives tenant requests through the task processing interface and automatically performs resource scheduling and expansion, reducing manual operations.

Benefits of technology

It improves the tenant experience, reduces task processing costs, and enhances the scalability and versatility of the cluster, making it suitable for various scenarios.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2025095992_27112025_PF_FP_ABST
    Figure CN2025095992_27112025_PF_FP_ABST
Patent Text Reader

Abstract

Disclosed in the present application are a cloud management platform-based task processing method and a cloud management platform, which can improve tenant experience and reduce costs of task processing, and such task processing mode can be widely applied to various scenarios and has certain universality. The method of the present application comprises: when having a task processing demand, a tenant may send a task processing request to a cloud management platform; as the task processing request is used for indicating a task to be processed and division information of the task, the cloud management platform can divide the task into a plurality of sub-tasks on the basis of the division information; and then, the cloud management platform can determine a target super-cluster amongst a plurality of super-clusters, and assign the plurality of sub-tasks to a plurality of super-nodes in the target super-cluster, such that the plurality of super-nodes in the super-cluster execute the plurality of sub-tasks, so as to obtain a processing result of the task, thus satisfying the task processing demand of the tenant.
Need to check novelty before this filing date? Find Prior Art

Description

A task processing method based on a cloud management platform and the cloud management platform

[0001] The present application claims priority to the Chinese Patent Application No. 202410626993.7, filed on May 20, 2024, and entitled "A task scheduling method based on a cloud management platform and the cloud management platform", and to the Chinese Patent Application No. 202410796628.0, filed on June 19, 2024, and entitled "A task processing method based on a cloud management platform and the cloud management platform", the contents of which are incorporated herein by reference in their entirety. TECHNICAL FIELD

[0002] Embodiments of the present application relate to the field of cloud technology, and in particular to a task processing method based on a cloud management platform and the cloud management platform. BACKGROUND

[0003] With the rapid development of cloud technology, tenants choose to complete artificial intelligence (AI) training tasks through infrastructure resources provided by cloud vendors, thereby meeting the training needs of tenants for neural network models.

[0004] In related technologies, the infrastructure provided by the cloud management platform to the tenants can include a large number of computing nodes. When the tenants need to use certain computing nodes to complete model training, the tenants need to pick out these computing nodes that are in contact one by one with the help of the cloud management platform, and manually set labels for these computing nodes. The labels of these computing nodes represent that these computing nodes constitute a model training cluster serving the tenants. After the tenants put the model training task, the cloud management platform can schedule the task to these computing nodes with labels for processing based on the set labels, thereby completing the model training task.

[0005] In the above process, since the scheduling of the computing nodes needs to be set by the tenants in advance, a large number of manual operations are involved, which leads to poor tenant experience and high labor cost required for the model training task. SUMMARY

[0006] Embodiments of the present application provide a task processing method based on a cloud management platform and the cloud management platform, which can improve tenant experience and reduce the cost of task processing. Such a task processing method can be widely applied to various scenarios and has certain universality.

[0007] The first aspect of the embodiments of the present application provides a task processing method based on a cloud management platform. The cloud management platform used to implement the method can manage infrastructures providing cloud services. The infrastructures include multiple super clusters, and each super cluster includes multiple super nodes. The method includes the following steps.

[0008] When a tenant has a task processing requirement, the cloud management platform can provide a task processing interface to the tenant. Then, the tenant can input a task processing request to the task processing interface provided by the cloud management platform. The task processing request is used to indicate a task to be processed and division information of the task. Then, the cloud management platform can receive the task processing request sent by the tenant through the task processing interface.

[0009] After obtaining the task processing request, the cloud management platform can analyze the task processing request to obtain the task to be processed by the tenant and the division information of the task. Therefore, the cloud management platform can divide the task into multiple sub-tasks according to the division information of the task.

[0010] After obtaining the multiple sub-tasks, the cloud management platform can select one super cluster as a target super cluster from the multiple super clusters that have been created. According to the rule that one task can be deployed in only one super cluster and one sub-task can be deployed in only one super node, the cloud management platform can assign the multiple sub-tasks to multiple super nodes of the target super cluster, respectively. It is worth noting that each super node of the multiple super nodes of the target super cluster can be assigned at least one sub-task. Then, the cloud management platform can instruct the multiple super nodes of the target super cluster to execute the multiple sub-tasks to obtain the processing result of the task.

[0011] As can be seen from the above method, for the task to be processed by the tenant, the cloud management platform can divide the task into multiple sub-tasks based on the division information of the task and select target super clusters for the multiple sub-tasks to assign the multiple sub-tasks to multiple super nodes in the target super clusters for execution, thereby quickly completing task processing. Since the task processing process (including task division and resource scheduling) does not require the participation of the tenant, a large amount of manual operation can be reduced, the tenant experience can be improved, and the cost of task processing can be reduced. Moreover, this task processing method can be widely applied to various scenarios and has a certain universality.

[0012] In one possible implementation, the task is a training task for a neural network model to be trained, and the processing result of the task is a trained neural network model. In the foregoing implementation, the task to be processed by the tenant and the processing result of the task are associated with the scenario in which the tenant is located. For example, when the tenant is in a distributed AI training scenario, the task can be a training task for a neural network model to be trained, and the processing result of the task can be a trained neural network model.

[0013] In a possible implementation, each subtask contains a plurality of task instances, each supernode contains a plurality of computing nodes, the cloud management platform allocates the plurality of subtasks to the plurality of supernodes of the target supernode cluster, and causes the plurality of supernodes of the target supernode cluster to execute the plurality of subtasks to obtain the processing result of the task, including: the cloud management platform allocates a target subtask to a target supernode in the target supernode cluster, allocates a target task instance in the target subtask to a target computing node in the target supernode, and causes the target computing node to execute the target task instance to obtain a processing result of the target task instance; wherein the target subtask is any one of the plurality of subtasks, the target supernode is any one of the plurality of supernodes of the target supernode cluster, the target task instance is any one of the plurality of task instances of the target subtask, the target computing node is any one of the plurality of computing nodes of the target supernode, and the processing result of the target task instance is used to obtain the processing result of the task. In the foregoing implementation, for any one of the plurality of subtasks in the task, the cloud management platform can allocate the subtask to one of the plurality of supernodes in the target supernode cluster. Since the subtask can contain a plurality of task instances, and the supernode can contain a plurality of computing nodes, for any one of the plurality of task instances in the subtask, the cloud management platform can also allocate the task instance to one of the plurality of computing nodes in the supernode. In this way, the cloud management platform can finally allocate the plurality of subtasks to the plurality of supernodes in the target supernode cluster, and for any one of the plurality of supernodes in the target supernode cluster, at least one of the plurality of subtasks can be allocated to the supernode. Similarly, the cloud management platform can allocate the plurality of task instances in any one of the subtasks to the plurality of computing nodes in the corresponding supernode, and for any one of the plurality of computing nodes in the supernode, at least one of the plurality of task instances in the subtask can be allocated to the computing node. Then, the cloud management platform can cause the computing nodes included in each supernode in the target supernode cluster to execute the corresponding task instance, so as to obtain the processing result of each task instance, and these processing results can be further processed to obtain the processing result of the task. As can be seen, the cloud management platform can strictly follow the rule that one task is deployed in one supernode cluster, one subtask is deployed in one supernode, and one task instance is deployed in one computing node, to allocate the task of the tenant to the target supernode cluster for execution, so that the task processing requirement of the tenant can be efficiently and stably completed.

[0014] In a possible implementation, the division information includes the number of subtasks and the number of task instances included in each subtask, and the cloud management platform divides the task into a plurality of subtasks based on the division information indicated by the task processing request, including: the cloud management platform divides the task into a plurality of subtasks according to the number of subtasks and the number of task instances included in each subtask. In the foregoing implementation, because the division information of the task includes the number of subtasks that can be obtained by dividing the task and the number of task instances that can be included in each subtask, the cloud management platform can divide the task into a plurality of subtasks according to the number of subtasks that can be obtained by dividing the task and the number of task instances that can be included in each subtask, and each subtask includes a plurality of task instances. It can be learned that, because the division information of the task is determined by the tenant, the cloud management platform can divide the task into a plurality of subtasks according to the requirement of the tenant, so as to accurately and efficiently complete task processing.

[0015] In a possible implementation, the division information further includes the specification of the computing node for executing the task instance, and the cloud management platform determines the target super cluster from the plurality of super clusters, including: the cloud management platform calculates the specification of the super cluster for executing the task based on the specification of the computing node for executing the task instance, the number of subtasks, and the number of task instances included in each subtask; and the cloud management platform selects the target super cluster from the plurality of super clusters based on the specification of the super cluster for executing the task. In the foregoing implementation, because the division information of the task includes the number of subtasks that can be obtained by dividing the task, the number of task instances that can be included in each subtask, and the specification of the computing node for executing the task instance, a series of calculations are performed, so as to obtain the specification of the super cluster for executing the task. After obtaining the specification of the super cluster for executing the task, the cloud management platform can determine the super cluster having the specification from the plurality of super clusters as the target super cluster. It can be learned that, because the division information of the task is determined by the tenant, the cloud management platform can select the target super cluster for providing the tenant with task processing service from the plurality of super clusters according to the requirement of the tenant, and task processing can be further accurately and efficiently completed.

[0016] In a possible implementation, the method further includes: providing, by the cloud management platform, a plurality of super cluster specifications to the tenant, the plurality of super cluster specifications being used by the tenant to determine the division information, wherein the super cluster specification includes a number of super nodes in a super cluster, a number of computing nodes included in each super node in the super cluster, and a specification of the computing nodes included in each super node in the super cluster. In the foregoing implementation, when the cloud management platform provides the task processing interface to the tenant, the task processing interface can further display the plurality of super cluster specifications that have been created. Then, the tenant can refer to the plurality of super cluster specifications to formulate the division information of the task to be processed, generate a task processing request based on the task and the division information, and send the task processing request to the cloud management platform through the task processing interface. Thus, the cloud management platform can display the plurality of super cluster specifications to the tenant, so that the tenant can customize the division information of the task, and the cloud management platform can complete the task division and resource scheduling based on the division information, which can meet the tenant's management and control of the overall task processing process, reduce the tenant's operation in the process, and improve the tenant's experience.

[0017] In a possible implementation, the method further includes: if there is no available super node in the plurality of super clusters, expanding, by the cloud management platform, a plurality of super clusters in the plurality of super clusters to obtain a plurality of expanded super clusters, wherein the expansion includes adding available super nodes to the plurality of super clusters; and determining, by the cloud management platform, the target super cluster from the plurality of super clusters includes: determining, by the cloud management platform, the target super cluster from the plurality of expanded super clusters. In the foregoing implementation, before determining the target super cluster for executing the task to be processed by the tenant, the cloud management platform can detect whether there is an available super node in the plurality of super clusters that have been created, and if there is no available super node in the plurality of super clusters, the cloud management platform can select a plurality of super clusters from the plurality of super clusters and expand the plurality of super clusters to obtain a plurality of expanded super clusters. The expansion performed by the cloud management platform includes adding available super nodes to the plurality of super clusters. In this way, the cloud management platform can determine the target super cluster from the plurality of expanded super clusters. Thus, since the resource scheduling is completed by the cloud management platform without the participation of the tenant, when the available super nodes in the super cluster are insufficient, the cloud management platform can also expand the super cluster in units of super nodes, and the expansion process still does not require the participation of the tenant, which can improve the expansibility of the super cluster and improve the tenant's experience to a certain extent.

[0018] In a possible implementation, when the network between the multiple supernodes of the target super cluster is a non-virtual private cloud (VPC) network, the multiple supernodes of the target super cluster are deployed in a same site; and when the network between the multiple supernodes of the target super cluster is a VPC network, the multiple supernodes of the target super cluster are deployed in a same site or different sites.

[0019] In a possible implementation, the site is a region, an availability zone, a data center, or a machine room.

[0020] In a possible implementation, the target computing node includes any of the following: a physical server, a virtual machine, a container, a micro virtual machine, or a bare metal server.

[0021] A second aspect of the embodiment of the application provides a cloud management platform, which is used to manage an infrastructure providing a cloud service, the infrastructure including multiple super clusters, each super cluster including multiple supernodes, and the cloud management platform including: a receiving module, configured to receive a task processing request sent by a tenant, the task processing request being used to indicate a task to be processed and division information of the task; a division module, configured to divide the task into multiple subtasks based on the division information indicated by the task processing request; and a processing module, configured to determine a target super cluster from the multiple super clusters, assign the multiple subtasks to the multiple supernodes of the target super cluster, and instruct the multiple supernodes of the target super cluster to execute the multiple subtasks to obtain a processing result of the task, wherein the target super cluster is any one of the multiple super clusters, and any one supernode of the target super cluster is assigned at least one subtask.

[0022] In a possible implementation, the task is a training task for a neural network model to be trained, and the processing result of the task is a trained neural network model.

[0023] In a possible implementation, each subtask includes multiple task instances, each supernode includes multiple computing nodes, and the processing module is configured to assign a target subtask to a target supernode in the target super cluster, assign a target task instance in the target subtask to a target computing node in the target supernode, and instruct the target computing node to execute the target task instance to obtain a processing result of the target task instance, wherein the target subtask is any one of the multiple subtasks, the target supernode is any one of the multiple supernodes of the target super cluster, the target task instance is any one of the multiple task instances of the target subtask, the target computing node is any one of the multiple computing nodes of the target supernode, and the processing result of the target task instance is used to obtain the processing result of the task.

[0024] In a possible implementation, the division information includes a number of subtasks and a number of task instances included in each subtask, and the division module is configured to divide the task into a plurality of subtasks according to the number of subtasks and the number of task instances included in each subtask.

[0025] In a possible implementation, the division information further includes specifications of computing nodes that execute the task instances, and the processing module is configured to: perform calculation on the specifications of the computing nodes that execute the task instances, the number of subtasks, and the number of task instances included in each subtask, to obtain specifications of a super cluster that executes the task; and select the target super cluster from the plurality of super clusters based on the specifications of the super cluster that executes the task.

[0026] In a possible implementation, the cloud management platform further includes a providing module configured to provide, to the tenant, specifications of the plurality of super clusters, the specifications of the plurality of super clusters being used by the tenant to determine the division information, and the specifications of the super cluster including a number of super nodes in the super cluster, a number of computing nodes included in each super node in the super cluster, and specifications of the computing nodes included in each super node in the super cluster.

[0027] In a possible implementation, the cloud management platform further includes an expansion module configured to, if there is no available super node in the plurality of super clusters, expand a plurality of super clusters in the plurality of super clusters to obtain a plurality of expanded super clusters, the expansion including adding available super nodes to the plurality of super clusters; and the processing module is configured to determine the target super cluster from the plurality of expanded super clusters.

[0028] In a possible implementation, when the network between the plurality of super nodes of the target super cluster is a VPC network, the plurality of super nodes of the target super cluster are deployed in a same site, and when the network between the plurality of super nodes of the target super cluster is a VPC network, the plurality of super nodes of the target super cluster are deployed in a same site or different sites.

[0029] In a possible implementation, the site is a region, an availability zone, a data center, or a machine room.

[0030] In a possible implementation, the target computing node includes any one of the following: a physical server, a virtual machine, a container, a micro virtual machine, or a bare metal server.

[0031] A third aspect of the embodiments of the present application provides a computing device cluster, including at least one computing device, each computing device including a processor and a memory: the memory is configured to store instructions; and the processor is configured to execute the method according to the instructions, so that the computing device cluster executes the method in the first aspect or any one of the possible implementations of the first aspect.

[0032] The fourth aspect of the embodiments of the present application provides a computer storage medium, which stores one or more instructions, and the instructions, when executed by one or more computers, cause the one or more computers to implement the method in the first aspect or any possible implementation manner of the first aspect.

[0033] The fifth aspect of the embodiments of the present application provides a computer program product, which stores instructions, and the instructions, when executed by a computer, cause the computer to implement the method in the first aspect or any possible implementation manner of the first aspect.

[0034] In the embodiments of the present application, when a tenant has a task processing requirement, the tenant can send a task processing request to the cloud management platform. Since the task processing request is used to indicate a task to be processed and division information of the task, the cloud management platform can divide the task into a plurality of sub-tasks based on the division information. Then, the cloud management platform can determine a target super cluster in a plurality of super clusters, and distribute the plurality of sub-tasks to a plurality of super nodes in the target super cluster (each super node of the plurality of super nodes can be distributed with at least one sub-task), so that the plurality of super nodes in the super cluster execute the plurality of sub-tasks, and then obtain a processing result of the task, thereby meeting the task processing requirement of the tenant. As can be seen, for the task to be processed of the tenant, the cloud management platform can divide the task into a plurality of sub-tasks based on the division information of the task, and select a target super cluster for the plurality of sub-tasks, so as to distribute the plurality of sub-tasks to a plurality of super nodes in the target super cluster for execution, thereby quickly completing the task processing. Since the task processing process (including task division and resource scheduling) does not require the participation of the tenant, a large amount of manual operation can be reduced, the tenant experience can be improved, and the cost of task processing can be reduced. Moreover, this task processing mode can be widely applied to various scenarios, and has a certain universality. BRIEF DESCRIPTION OF DRAWINGS

[0035] FIG. 1 is a structural schematic diagram of a cloud service system provided by the embodiments of the present application;

[0036] FIG. 2 is a flow schematic diagram of a task processing method based on a cloud management platform provided by the embodiments of the present application;

[0037] FIG. 3 is a schematic diagram of task division provided by the embodiments of the present application;

[0038] FIG. 4 is a schematic diagram of super cluster selection provided by the embodiments of the present application;

[0039] FIG. 5 is a schematic diagram of task distribution provided by the embodiments of the present application;

[0040] FIG. 6 is another schematic diagram of task distribution provided by the embodiments of the present application;

[0041] FIG. 7 is a schematic diagram of super cluster expansion according to an embodiment of the present application;

[0042] FIG. 8 is a schematic diagram of super cluster creation according to an embodiment of the present application;

[0043] FIG. 9 is a schematic diagram of a cloud management platform according to an embodiment of the present application;

[0044] FIG. 10 is a schematic diagram of a computing device according to an embodiment of the present application;

[0045] FIG. 11 is a schematic diagram of a computing device cluster according to an embodiment of the present application;

[0046] FIG. 12 is a schematic diagram of a network connection between computing devices in a computer cluster according to an embodiment of the present application. DETAILED DESCRIPTION

[0047] The embodiments of the present application provide a task processing method based on a cloud management platform and the cloud management platform, which can improve tenant experience and reduce the cost of task processing, and the task processing method can be widely applied to various scenes and has certain universality.

[0048] The terms "target", "second", and the like in the specification and claims of the present application and the above-described drawings are used to distinguish similar objects, and do not necessarily have to be used to describe a specific order or sequence. It should be understood that the terms used in this way can be interchanged under appropriate circumstances, and this is only a distinguishing way used in the description of the embodiments of the present application to describe the objects of the same attribute when describing. In addition, the terms "include" and "have" and any variations thereof are intended to cover non-exclusive inclusion, so that the processes, methods, systems, products, or devices containing a series of units do not have to be limited to those units, but can include other units that are not clearly listed or inherent to these processes, methods, products, or devices.

[0049] With the rapid development of cloud technology, tenants choose to complete AI training tasks through infrastructure resources provided by cloud vendors, thereby meeting the training needs of tenants for neural network models.

[0050] In the related art, the infrastructure provided by the cloud management platform to the tenant can include a large number of computing nodes, when the tenant needs to use some computing nodes to complete model training, the tenant needs to pick out these computing nodes that exist in contact (for example, computing nodes that need to be jointly used to complete model training) one by one with the help of the cloud management platform, and manually set labels for these computing nodes, the labels of these computing nodes indicating that these computing nodes constitute a model training cluster serving the tenant. After the tenant puts forward a model training task, the cloud management platform can schedule the task to these computing nodes with labels for processing based on the set labels, thereby completing the model training task.

[0051] In the above process, since the scheduling of the computing nodes in the cluster needs to be realized by the tenant setting labels in advance, a large number of manual operations are involved, which leads to poor tenant experience and high manual cost required by the model training task, and is not conducive to the application of the cluster in various scenarios, and the universality of the cluster is poor.

[0052] Further, since the scheduling of the computing nodes involves manual operation, when the computing nodes in the model training cluster are not enough for the tenant to use, the model training cluster needs to be expanded, and the tenant still needs to participate, which leads to poor expansibility of the cluster.

[0053] To solve the above problems, an embodiment of the present application provides a task processing method based on a cloud management platform, which can be implemented by a cloud service system. FIG. 1 is a structural schematic diagram of a cloud service system provided by an embodiment of the present application, as shown in FIG. 1, the cloud service system includes infrastructure that can provide cloud services and a cloud management platform that manages the infrastructure. The cloud management platform and the infrastructure are introduced respectively as follows:

[0054] The cloud management platform can manage the infrastructure in the whole cloud service system (e.g., in the infrastructure, multiple hyperclusters that can serve tenants are created, each hypercluster can include multiple hypernodes, and each hypernode can include multiple nodes), and can also open to tenants outside the cloud service system and respond to their requests. For example, the cloud management platform can provide various interfaces such as a login interface and a task processing interface for the client of the tenant (e.g., a terminal device used by the tenant or a browser on the terminal device, etc.) to access. Among them, the cloud management platform can authenticate the client of the tenant through the login interface, and allow the client of the tenant to log in to the cloud management platform after successful authentication. For another example, the cloud management platform can also allow the client of the tenant to send a task processing request to the cloud management platform through the task processing interface, and the task processing request can be used to indicate a hyperjob to be processed and division information of the hyperjob. Then, the cloud management platform can divide the hyperjob into multiple jobs based on the division information of the hyperjob indicated by the task processing request, each job can include multiple pods. Then, the cloud management platform can select a target hypercluster from the multiple hyperclusters, and assign each job in the multiple jobs to a hypernode in the target hypercluster for processing, so that the multiple jobs of the hyperjob are processed, and finally the processing result of the hyperjob is obtained.

[0055] The infrastructure can include multiple hyperclusters that can serve tenants, each hypercluster can include multiple hypernodes, and each hypernode can include multiple nodes. The hypercluster, the hypernode, and the node are introduced as follows:

[0056] (1) The hypercluster is composed of multiple hypernodes, and can represent the network connectivity domain boundary of the hypernode. In multiple hyperclusters, the networks between different hyperclusters can be disconnected, and the networks within the same hypercluster are connected, that is, for any one of the multiple hyperclusters, the multiple hypernodes included in the hypercluster can communicate with each other. It is worth noting that the hypercluster is a unit for the cloud management platform to allocate tasks, and one hypercluster can usually process at least one task for a tenant to meet the tenant's task processing demand.

[0057] (2) Super-node, which is composed of multiple computing nodes, and can represent the network performance domain boundary of the computing nodes. For any one of the multiple super-nodes, the multiple computing nodes contained in the super-node can achieve communication. Generally, in the same super-cluster, the communication performance between different computing nodes in a super-node is usually better than the communication performance between different super-nodes, that is, the performance of the network between different computing nodes in a super-node is usually better than the performance of the network between different super-nodes. It is worth noting that the super-node is the basic unit for the cloud management platform to allocate sub-tasks, and a super-node can usually process at least one sub-task for a tenant, thereby meeting the task processing needs of the tenant.

[0058] (3) Computing node, which is the basic unit for the cloud management platform to allocate task instances, and a computing node can usually process at least one task instance for a tenant, thereby meeting the task processing needs of the tenant.

[0059] For the task of a tenant, it can contain multiple sub-tasks, and each sub-task can contain multiple task instances. The task, sub-task, and task instance are introduced as follows:

[0060] (1) Task, which is usually specified by a tenant, and can represent a distributed task required to be processed by the tenant (for example, a training task for a neural network model to be trained, which can contain training data for the neural network model, etc.), and can be split into multiple sub-tasks (for example, the neural network model to be trained and its training data are split into multiple sub-models and multiple sub-data according to a certain training strategy, and the training task is correspondingly split into multiple sub-training tasks, etc.). It is worth noting that for a task of a tenant, since the data transmission between the task instances in the task has certain requirements on the network performance, the cloud management platform must schedule the task to a super-cluster for processing.

[0061] (2) Sub-task, which is obtained by splitting the task of the tenant. For any one of the multiple sub-tasks, since the sub-task contains multiple task instances, and the data transmission between the multiple task instances in the sub-task has higher requirements on the network performance, the cloud management platform must allocate the sub-task to a super-node for processing.

[0062] (3) Task instance, which is the basic unit of a sub-task (for example, the multiple task instances contained in a sub-task can be specifically presented as multiple applications or multiple processes programmed from a sub-training task, thereby running on a computing node). For different task instances in the same sub-task, the cloud management platform must allocate these task instances to multiple computing nodes in a super-node, and a computing node in the super-node can be allocated at least one task instance of the sub-task.

[0063] Further, for any one of the super clusters, when the network between the super nodes in the super cluster is a non-virtual private cloud (VPC) network (for example, a parameter surface network built by infiniband or roce, etc.), the super nodes in the super cluster are usually deployed in the same site. When the network between the super nodes in the super cluster is a VPC network, the super nodes in the super cluster can be deployed in the same site or in different sites, which is not limited here.

[0064] Further, for the aforementioned sites, the sites can be presented in various forms, for example, the site can be a region in the infrastructure, for example, the site can be an availability zone in the infrastructure, for example, the site can be a data center (DC) in the infrastructure, for example, the site can be a room in the infrastructure, etc.

[0065] Further, for any one of the super nodes, the super node can be understood as a group of computing nodes connected by special communication equipment between computing nodes, for example, a plurality of computing nodes connected to the same top of rack (TOR) can be packaged as a super node, etc.

[0066] Further, for any one of the computing nodes, the computing node can be a cloud instance in the infrastructure, and the cloud instance can include various types, for example, the cloud instance can be a physical server selected by the cloud management platform, for example, the cloud instance can be a processor of the physical server selected by the cloud management platform, for example, the cloud instance can be a bare metal server selected by the cloud management platform, for example, the cloud instance can be a virtual machine (VM) created by the cloud management platform on the physical server through virtualization technology, for example, the cloud instance can also be a container (docker) created by the cloud management platform on the physical server through virtualization technology, for example, the cloud instance can also be a micro-VM created by the cloud management platform on the physical server through virtualization technology, etc.

[0067] Further, when creating a super cluster, the cloud management platform creates computing nodes in batches according to the granularity of the super node, and then creates a super cluster. It is worth noting that once the super cluster is successfully created, the cloud management platform is no longer allowed to delete or change the computing nodes contained in any one of the super nodes in the super cluster, so as to maintain the consistency and integrity of the state of the super node.

[0068] Based on the cloud service system, when the tenant has a task processing requirement, the tenant can send a task processing request to the cloud management platform. Since the task processing request is used to indicate the task to be processed and the division information of the task, the cloud management platform can divide the task into multiple sub-tasks based on the division information. Then, the cloud management platform can determine a super cluster in the multiple super clusters and assign the multiple sub-tasks to multiple super nodes in the super cluster (each super node of the multiple super nodes can be assigned at least one sub-task), so that the multiple super nodes in the super cluster execute the multiple sub-tasks to obtain the processing result of the task, thereby meeting the task processing requirement of the tenant. As can be seen, for the task to be processed of the tenant, the cloud management platform can divide the task into multiple sub-tasks based on the division information of the task, and select a super cluster for the multiple sub-tasks, so as to assign the multiple sub-tasks to multiple super nodes in the super cluster for execution, thereby quickly completing the task processing. Since the task processing process (including task division and resource scheduling) does not require the participation of the tenant, a large amount of manual operation can be reduced, the tenant experience can be improved, and the cost of task processing can be reduced. Moreover, this task processing method can be widely applied to various scenarios and has a certain universality. In order to further understand the workflow of the cloud service system, the workflow is further introduced in combination with FIG. 2. FIG. 2 is a flowchart of a task processing method based on a cloud management platform according to an embodiment of the present application. As shown in FIG. 2, the method can be implemented by the cloud service system shown in FIG. 1. The cloud service system includes infrastructure providing cloud services for tenants and a cloud management platform managing the infrastructure. The infrastructure can include multiple super clusters created by the cloud management platform for tenants, and each super cluster includes multiple super nodes. The method includes the following steps.

[0069] 201. The cloud management platform receives a task processing request sent by the tenant. The task processing request is used to indicate a task to be processed and division information of the task.

[0070] In this embodiment, when the tenant has a task processing requirement, the cloud management platform can provide a task processing interface (for example, a task processing request input field of a tenant interface, etc.) to a client provided by the tenant. Then, the tenant can formulate a task processing request for the task to be processed based on its own task processing requirement, and input the task processing request to the task processing interface provided by the cloud management platform through the client. The task processing request is used to indicate the task to be processed and the division information of the task. Then, the cloud management platform can receive the task processing request sent by the client of the tenant through the task processing interface.

[0071] Specifically, the to-be-processed task of the tenant is associated with a scenario in which the tenant is located, and the scenario in which the tenant is located is not limited in this embodiment. For example, when the tenant is located in a distributed AI training scenario, the task can be a training task for a neural network model to be trained, which can include training data for the neural network model, conditions required for model training, and the like.

[0072] More specifically, the tenant sends a task processing request to the cloud management platform, and the task processing request is used to not only indicate the to-be-processed task of the tenant, but also indicate division information of the task. The division information of the task can include one or more of the following: a number of subtasks that can be divided from the task, a number of task instances that can be included in a subtask, and a specification required by a computing node for executing a task instance (for example, a number of computing resources (such as a processor and the like) required by the computing node, a number of storage resources (such as a memory and the like) required by the computing node, and a number of communication resources (such as a network card and the like) required by the computing node, and the like).

[0073] For example, when the tenant needs to train a neural network model, the tenant can log in to the cloud management platform. The cloud management platform can provide a tenant interface to the tenant, and the tenant interface includes a task processing request input field. Therefore, the tenant can input the following task processing request into the task processing request input field:

[0074] Based on the above task processing request, it can be known that the task processing request is used to indicate hyperjobA and division information of hyperjobA. The name of hyperjobA is multi-ai-job, indicating that it is a training task for a neural network model to be trained. The division information of hyperjobA includes a plurality of parameters. Replicas under replicatedJobs indicates a number of jobs that can be divided from hyperjobA, and the number is 4, indicating that hyperjobA can be divided into 4 jobs. Replicas under task of template indicates a number of pods that can be included in each job, and the number is 2, indicating that 1 job can include 2 pods. Template under task indicates a specification required by a node for executing a pod, and the specification is 4 devices named “accelerator-device”, that is, 4 processors.

[0075] Then, the cloud management platform can receive the above task processing request through the task processing request input field.

[0076] 202. The cloud management platform divides the task into a plurality of subtasks based on the division information indicated by the task processing request.

[0077] Upon receiving the task processing request, the cloud management platform can parse the request to obtain the tenant's pending tasks and the task's division information. Therefore, the cloud management platform can divide the task into multiple sub-tasks according to the requirements of the task's division information.

[0078] Specifically, the cloud management platform can divide this task into multiple sub-tasks in the following ways:

[0079] Since the task's partitioning information includes the number of subtasks that can be obtained from the task and the number of task instances that each subtask can contain, the cloud management platform can divide the task into multiple subtasks according to the number of subtasks that can be obtained from the task and the number of task instances that each subtask can contain, with each subtask containing multiple task instances.

[0080] As in the example above, as shown in Figure 3 (Figure 3 is a schematic diagram of task division provided in the embodiment of this application), since the number of jobs in the division information of hyperjobA is 4 and the number of pods is 2, the cloud management platform can divide hyperjobA into 4 jobs, and each job contains 2 pods.

[0081] 203. The cloud management platform determines the target supercluster from multiple superclusters, assigns multiple subtasks to multiple supernodes of the target supercluster, and instructs the multiple supernodes of the target supercluster to execute the multiple subtasks to obtain the task processing results. The target supercluster is any one of the multiple superclusters, and any supernode of the target supercluster is assigned at least one subtask.

[0082] After receiving multiple subtasks, the cloud management platform selects one of the existing superclusters as the target supercluster. Following the rule that a task can only be deployed on one supercluster and a subtask on only one supernode, the platform distributes the subtasks to multiple (available) supernodes within the target supercluster. Notably, each supernode in the target supercluster can be assigned at least one subtask. The cloud management platform then instructs the supernodes in the target supercluster to execute these subtasks, thereby obtaining the task's processing result. In this way, the cloud management platform completes the tenant's task through the target supercluster, thus fulfilling the tenant's task processing requirements.

[0083] Specifically, the processing result of this task is also related to the scenario in which the tenant is located. For example, when the tenant is in a distributed AI training scenario, this task can be a training task for a certain neural network model to be trained, and the processing result of this task is the neural network model that has been trained.

[0084] More specifically, the cloud management platform can identify the target supercluster in the following ways:

[0085] Since the division information of the task contains the number of subtasks that can be divided from the task, the number of task instances that can be contained by the subtasks, and the specifications required by the computing nodes that execute the task instances, a series of calculations are performed to obtain the specifications required by the hyper-cluster that executes the task. It should be noted that the specifications required by the hyper-cluster that executes the task can include the number of (available) super-nodes in the hyper-cluster, the number of (available) computing nodes contained in the super-nodes in the hyper-cluster, and the specifications of the computing nodes contained in the super-nodes in the hyper-cluster, etc. Wherein, the specifications required by the hyper-cluster satisfy the following conditions: (1) The specifications required by the computing nodes contained in the super-nodes in the hyper-cluster are greater than or equal to the specifications required by the computing nodes that execute the task instances. (2) The product of the number of computing nodes contained in the super-nodes in the hyper-cluster and the specifications required by the computing nodes contained in the super-nodes in the hyper-cluster is usually greater than or equal to the product of the number of task instances that can be contained by the subtasks and the specifications required by the computing nodes that execute the task instances. (3) The product of the number of super-nodes in the hyper-cluster, the number of computing nodes contained in the super-nodes in the hyper-cluster and the specifications required by the computing nodes contained in the super-nodes in the hyper-cluster is usually greater than or equal to the product of the number of subtasks that can be divided from the task, the number of task instances that can be contained by the subtasks and the specifications required by the computing nodes that execute the task instances.

[0086] After obtaining the specifications required by the hyper-cluster that executes the task, the cloud management platform can determine the hyper-cluster with the specifications from multiple hyper-clusters as the target hyper-cluster. Wherein, the target hyper-cluster with the specifications can mean: (1) The specifications of the computing nodes contained in the super-nodes in the target hyper-cluster are greater than or equal to the specifications required by the computing nodes that execute the task instances. (2) The product of the number of computing nodes contained in the super-nodes in the target hyper-cluster and the specifications of the computing nodes contained in the super-nodes in the target hyper-cluster is usually greater than or equal to the product of the number of task instances that can be contained by the subtasks and the specifications required by the computing nodes that execute the task instances. (3) The product of the number of super-nodes in the target hyper-cluster, the number of computing nodes contained in the super-nodes in the target hyper-cluster and the specifications of the computing nodes contained in the super-nodes in the target hyper-cluster is usually greater than or equal to the product of the number of subtasks that can be divided from the target task, the number of task instances that can be contained by the subtasks and the specifications required by the computing nodes that execute the task instances.

[0087] Still as the above example, as shown in FIG. 4 (FIG. 4 is a schematic diagram of hypercluster selection provided by an embodiment of the present application), after receiving the task processing request, the cloud management platform can obtain the division information of hyperjobA in the task processing request, that is, the number of jobs is 4, the number of pods is 2, and the node executing the pod needs to have 4 processors, so the cloud management platform can determine the required specification of the hypercluster executing the hyperjob based on the information, and the specification meets the following conditions: (1) the node included in the hypernode in the hypercluster has a number of (available) processors greater than or equal to 4; (2) the product of the number of (available) nodes included in the hypernode in the hypercluster and the number of (available) processors of the node included in the hypernode in the hypercluster is greater than or equal to 8; (3) the product of the number of (available) hypernodes in the hypercluster, the number of (available) nodes included in the hypernode in the hypercluster, and the number of (available) processors of the node included in the hypernode in the hypercluster is greater than or equal to 32.

[0088] Suppose that the cloud management platform is initially created as 4 hyperclusters, namely hypercluster1, hypercluster2, hypercluster3, and hypercluster4.

[0089] For hypercluster1, the number of (available) hypernodes in hypercluster1 is 4, the number of (available) nodes in hypercluster1 is 2, and the number of (available) processors of the node included in the hypernode in the hypercluster1 is 4. Since hypercluster1 has the above specification, hypercluster1 is a hypercluster that can execute hyperjobA.

[0090] For hypercluster2, the number of (available) hypernodes in hypercluster2 is 4, the number of (available) nodes in hypercluster2 is 4, and the nodes contained in the hypernodes in the hypercluster2 have the number of (available) processors of 2. Since hypercluster2 also has the above specifications, hypercluster2 is a hypercluster that can execute hyperjobA.

[0091] Since hypercluster3 and hypercluster4 do not have the above specifications, the cloud management platform can randomly select one of hypercluster1 and hypercluster2 as the hypercluster to execute hyperjobA, assuming that the cloud management platform selects hypercluster1 to execute.

[0092] More specifically, the cloud management platform can obtain the processing result of the task in the following manner:

[0093] For any one of the plurality of subtasks in the task (i.e., the target subtask), the cloud management platform can assign the subtask to one of the plurality of hypernodes in the target hypercluster (i.e., the target hypernode). Since the subtask can contain a plurality of task instances, and the hypernode (i.e., the hypernode assigned with the subtask) can contain a plurality of computing nodes, for any one of the plurality of task instances in the subtask (i.e., the target task instance), the cloud management platform can also assign the task instance to one of the plurality of computing nodes in the hypernode (i.e., the target computing node).

[0094] For the remaining task instances in the plurality of task instances in the subtask, the cloud management platform can also perform the operations on the remaining task instances as performed on the target task instance, so that the cloud management platform can finally assign the plurality of task instances of the subtask to the plurality of computing nodes in the hypernode. It is worth noting that any one of the plurality of computing nodes in the hypernode can be assigned with at least one of the plurality of task instances in the subtask.

[0095] For the remaining subtasks in the plurality of subtasks, the cloud management platform can also perform the operations on the remaining subtasks as performed on the target subtask, so that the cloud management platform can finally assign the plurality of subtasks to the plurality of hypernodes in the target hypercluster. It is worth noting that any one of the plurality of hypernodes in the target hypercluster can be assigned with at least one of the plurality of subtasks.

[0096] Then, the cloud management platform can make each hypernode in the target hypercluster execute a corresponding task instance, so as to obtain the processing result of each task instance, and the processing result can be further processed to obtain the processing result of the task.

[0097] Still as the above example, as shown in FIG. 5 (FIG. 5 is a schematic diagram of task allocation provided by an embodiment of the present application), after selecting hypercluster1, since hypercluster1 contains 4 available hypernodes, each hypernode contains 2 available nodes, and each node contains 4 available processors, the cloud management platform can deploy 4 jobs in hyperjobA in 4 hypernodes respectively, and deploy 2 pods in each job in 2 nodes in the corresponding hypernode respectively.

[0098] After completing the allocation, the cloud management platform can make each pod in hypercluster1 execute a corresponding pod, so as to obtain the processing result of hyperjobA.

[0099] Therefore, hyperjob will not be deployed across hyperclusters, job will not be deployed across hypernodes, and pod will not be deployed across nodes. That is, a hyperjob will be deployed in only one hypercluster, a job will be deployed in only one hypernode, and a pod will be deployed in only one node. In addition, for a hypercluster, different hyperjobs can be deployed in the hypercluster, different jobs can be deployed in a hypernode, and different pods can be deployed in a node.

[0100] For example, as shown in FIG. 6 (FIG. 6 is another schematic diagram of task allocation provided by an embodiment of the present application), suppose that hypercluster1 contains 5 available hypernodes, the first to fourth hypernodes contain 2 available nodes and 2 unavailable nodes, and the fifth hypernode contains 4 available nodes, and each node contains 4 available processors.

[0101] In the 1st to 4th hypernodes, the nodes unavailable in the four hypernodes have been allocated to the jobs in the hyperjob B (i.e. the nodes in dashed line in Fig. 6), but the four hypernodes still have 2 nodes available (i.e. the nodes in dark color filling in Fig. 6). Then, when the cloud management platform allocates the jobs in the hyperjob A, the 2 nodes still available in the four hypernodes are used preferentially, and the nodes in the 5th hypernode (i.e. the nodes in solid line in Fig. 6) are not used preferentially. In this way, the fragmentation of resources in the hypernodes can be avoided, and the resource utilization of the hypernodes can be provided.

[0102] More specifically, the cloud management platform can further perform the following operations:

[0103] When the cloud management platform provides the task processing interface to the tenant, the task processing interface (e.g. the hypercluster display column of the tenant interface) can also display the specifications of the created multiple hyperclusters, and it should be noted that the specification of any one of the multiple hyperclusters can include the number of hypernodes in the hypercluster, the number of computing nodes included in the hypernode in the hypercluster, and the specification of the computing nodes included in the hypernode in the hypercluster.

[0104] Then, the tenant can refer to the specifications of the multiple hyperclusters to formulate the division information of the task to be processed, generate a task processing request based on the task and the division information, and input the task processing request to the task processing interface to send to the cloud management platform.

[0105] It should be understood that in the embodiment, only the cloud management platform provides the specifications of the multiple hyperclusters to the tenant for illustrative introduction, and in actual application, the cloud management platform can also not provide the specifications of the multiple hyperclusters to the tenant, so that the tenant can determine the division information of the task by itself, and the cloud management platform will subsequently select the target hypercluster for the tenant from the multiple hyperclusters based on the division information, that is, in this case, the tenant can not perceive the existence of the hypercluster.

[0106] More specifically, the cloud management platform can further perform the following operations:

[0107] As shown in FIG. 7 (FIG. 7 is a schematic diagram of the super cluster expansion provided in an embodiment of the present application), after receiving the task processing request of the tenant, before determining the target super cluster for executing the pending task of the tenant, the cloud management platform can first detect whether the created multiple super clusters have available supernodes (for a supernode, if the supernode has a sufficient number of computing nodes, and the computing nodes have a sufficient number of available processors, it means that the supernode is available), if the multiple super clusters do not have available supernodes, the cloud management platform can select a plurality of super clusters from the multiple super clusters, and expand the plurality of super clusters, thereby obtaining a plurality of expanded super clusters. The expansion operation performed by the cloud management platform includes adding available supernodes to the plurality of super clusters.

[0108] Since the plurality of expanded super clusters have available supernodes, the cloud management platform can determine the target super cluster from the plurality of expanded super clusters.

[0109] It should be understood that in the present embodiment, the cloud management platform performs the life cycle management operation on the nodes in the form of a supernode as a basic unit. That is, when the cloud management platform creates a super cluster, as shown in FIG. 8 (FIG. 8 is a schematic diagram of the super cluster creation provided in an embodiment of the present application), the cloud management platform will cause a computing node pool to manage a to-be-created super cluster, enclose the computing nodes in the computing node pool to form multiple supernodes, and then add the supernodes to the super cluster one by one to form the super cluster (since the networks between the computing nodes in the computing node pool are interconnected, thus ensuring that the networks between the computing nodes in the created super cluster are also interconnected). Similarly, when the cloud management platform recycles the super cluster or the supernode, the cloud management platform will recycle the supernodes one by one to recycle a supernode or a super cluster. Similarly, when the cloud management platform needs to continue expanding the super cluster, the cloud management platform will add a supernode or supernodes to the super cluster to obtain the expanded super cluster. Moreover, the cloud management platform will not increase or recycle a computing node or computing nodes under a supernode, which can ensure the integrity of the supernode.

[0110] It should also be understood that the dependency relationship between the computing nodes, the supernodes, and the super clusters can be maintained in the form of labels, CRDs, etc.

[0111] ​In the embodiments of the present application, when a tenant has a task processing requirement, the tenant can send a task processing request to the cloud management platform. Since the task processing request is used to indicate a task to be processed and division information of the task, the cloud management platform can divide the task into multiple sub-tasks based on the division information. Then, the cloud management platform can determine a target super cluster in multiple super clusters and assign the multiple sub-tasks to multiple super nodes in the target super cluster (each super node of the multiple super nodes can be assigned at least one sub-task), so that the multiple super nodes in the super cluster execute the multiple sub-tasks, thereby obtaining a processing result of the task, so as to meet the task processing requirement of the tenant. As can be seen, for the task to be processed of the tenant, the cloud management platform can divide the task into multiple sub-tasks based on the division information of the task and select a target super cluster for the multiple sub-tasks, so as to assign the multiple sub-tasks to multiple super nodes in the target super cluster for execution, thereby quickly completing the task processing. Since the task processing process (including task division and resource scheduling) does not require the participation of the tenant, a large amount of manual operation can be reduced, the tenant experience can be improved, and the cost of task processing can be reduced. Moreover, this task processing mode can be widely applied to various scenarios and has a certain universality.

[0112] Further, since the resource scheduling is completed by the cloud management platform and does not require the participation of the tenant, when the available super nodes in the super cluster are insufficient, the cloud management platform can also expand the super cluster in units of super nodes. The expansion process still does not require the participation of the tenant, which can improve the expansibility of the super cluster to a certain extent and improve the tenant experience.

[0113] The above is a detailed description of the task processing method based on the cloud management platform provided by the embodiments of the present application. The cloud management platform provided by the embodiments of the present application will be introduced below. FIG. 9 is a structural schematic diagram of the cloud management platform provided by the embodiments of the present application. As shown in FIG. 9, the cloud management platform is used to manage an infrastructure providing cloud services. The infrastructure includes multiple super clusters, each super cluster includes multiple super nodes, and the cloud management platform includes:

[0114] The receiving module 901 is configured to receive a task processing request sent by a tenant. The task processing request is used to indicate a task to be processed and division information of the task.

[0115] The division module 902 is configured to divide the task into multiple sub-tasks based on the division information indicated by the task processing request.

[0116] The processing module 903 is configured to determine a target super cluster from the plurality of super clusters, allocate the plurality of sub-tasks to a plurality of super nodes of the target super cluster, and instruct the plurality of super nodes of the target super cluster to execute the plurality of sub-tasks to obtain a processing result of the task. The target super cluster is any one of the plurality of super clusters, and any one of the super nodes of the target super cluster is allocated at least one sub-task.

[0117] In a possible implementation, the task is a training task for a neural network model to be trained, and the processing result of the task is a trained neural network model.

[0118] In a possible implementation, each sub-task includes a plurality of task instances, and each super node includes a plurality of computing nodes. The processing module 903 is configured to allocate a target sub-task to a target super node in the target super cluster, allocate a target task instance in the target sub-task to a target computing node in the target super node, and instruct the target computing node to execute the target task instance to obtain a processing result of the target task instance. The target sub-task is any one of the plurality of sub-tasks, the target super node is any one of the plurality of super nodes of the target super cluster, the target task instance is any one of the plurality of task instances of the target sub-task, and the target computing node is any one of the plurality of computing nodes of the target super node. The processing result of the target task instance is used to obtain the processing result of the task.

[0119] In a possible implementation, the division information includes a number of sub-tasks and a number of task instances included in each sub-task. The division module 902 is configured to divide the task into the plurality of sub-tasks according to the number of sub-tasks and the number of task instances included in each sub-task.

[0120] In a possible implementation, the division information further includes specifications of computing nodes that execute the task instances. The processing module 903 is configured to calculate the specifications of the computing nodes that execute the task instances, the number of sub-tasks, and the number of task instances included in each sub-task to obtain specifications of a super cluster that executes the task, and select the target super cluster from the plurality of super clusters based on the specifications of the super cluster that executes the task.

[0121] In a possible implementation, the cloud management platform further includes a providing module configured to provide, to the tenant, specifications of the plurality of super clusters, where the specifications of the plurality of super clusters are used by the tenant to determine the division information. The specification of a super cluster includes a number of super nodes in the super cluster, a number of computing nodes included in each super node of the super cluster, and specifications of the computing nodes included in each super node of the super cluster.

[0122] In a possible implementation, the cloud management platform further includes: an expansion module, configured to, if no available supernode exists in the plurality of supernodes, expand a plurality of supernodes in the plurality of supernodes to obtain a plurality of supernodes after expansion, and the expansion includes adding available supernodes to the plurality of supernodes; and the processing module 903 is configured to determine the target supernode from the plurality of supernodes after expansion.

[0123] In a possible implementation, when the network between the plurality of supernodes of the target supernode is a VPC network, the plurality of supernodes of the target supernode are deployed in a same site, and when the network between the plurality of supernodes of the target supernode is a VPC network, the plurality of supernodes of the target supernode are deployed in a same site or different sites.

[0124] In a possible implementation, the site is a region, an availability zone, a data center, or a machine room.

[0125] In a possible implementation, the target computing node includes any one of the following: a physical server, a virtual machine, a container, a micro virtual machine, and a bare metal server.

[0126] It should be noted that the information interaction and implementation process between the modules / units of the apparatus are based on the same concept as the method embodiments of the present application, and the technical effects brought by the same are the same as those of the method embodiments of the present application. For details, refer to the foregoing description of the method embodiments. Here, no further description is given.

[0127] Referring to FIG. 10, FIG. 10 is a structural schematic diagram of a computing device provided by an embodiment of the present application. As shown in FIG. 10, the computing device 1000 (which can be used to present the cloud management platform) includes a processor 1001, a memory 1002, a communication interface 1003, and a bus 1004. The processor 1001, the memory 1002, and the communication interface 1003 are coupled through the bus (not shown in the figure). The memory 1002 stores instructions, and when the instructions in the memory 1002 are executed, the computing device 1000 performs the method performed by the cloud management platform in the method embodiments.

[0128] The computing device 1000 can be one or more integrated circuits (ICs) configured to implement any of the above methods, for example: one or more application specific integrated circuits (ASICs), or, one or more digital signal processors (DSPs), or, one or more field programmable gate arrays (FPGAs), or a combination of at least two of these forms of integrated circuitry. As another example, when units of the apparatus can be implemented by way of a processing element scheduler, the processing element can be a general purpose processor, such as a central processing unit (CPU) or other processor that can call procedures. As another example, these units can be integrated together in a system-on-a-chip (SOC) form.

[0129] The processor 1001 can be a central processing unit (CPU), a general purpose processor, a digital signal processor (DSP), an application specific integrated circuit (ASIC), a field programmable gate array (FPGA) or other programmable logic device, a transistor logic device, a hardware component, or any combination thereof. The general purpose processor can be a microprocessor, or any conventional processor.

[0130] The memory 1002 can be a volatile memory or a nonvolatile memory, or can include both volatile and nonvolatile memory. Among them, the nonvolatile memory can be a read-only memory (ROM), a programmable ROM (PROM), an erasable PROM (EPROM), an electrically EPROM (EEPROM), or a flash memory. The volatile memory can be a random access memory (RAM) used as an external cache. By way of example, and not limitation, many forms of RAM can be used, such as static RAM (SRAM), dynamic RAM (DRAM), synchronous dynamic RAM (SDRAM), double data rate SDRAM (DDR SDRAM), enhanced SDRAM (ESDRAM), synchlink DRAM (SLDRAM), and direct rambus RAM (DR RAM).

[0131] The executable program code stored in the memory 1002 is executed by the processor 1001 to realize the functions of the aforementioned receiving module, dividing module, processing module and the like, respectively, so as to realize the aforementioned task processing method based on the cloud management platform. That is, the memory 1002 has instructions for executing the aforementioned task processing method based on the cloud management platform.

[0132] The communication interface 1003 uses a transceiving module such as, but not limited to, a network interface card, a transceiver, to realize the communication between the computing device 1000 and other devices or communication networks.

[0133] The bus 1004 can include, in addition to a data bus, a power bus, a control bus, and a state signal bus, etc. The bus can be a peripheral component interconnect express (PCIe) bus, or an extended industry standard architecture (EISA) bus, a unified bus (Ubus or UB), a compute express link (CXL), a cache coherent interconnect for accelerators (CCIX), etc. The bus can be divided into an address bus, a data bus, a control bus, etc.

[0134] Referring to FIG. 11, FIG. 11 is a structural schematic diagram of a computing device cluster provided by an embodiment of the present application. As shown in FIG. 11, the computing device cluster 1100 includes at least one computing device 1000.

[0135] As shown in FIG. 11, the computing device cluster 1100 includes at least one computing device 1000. The memory 1002 in one or more computing devices 1000 in the computing device cluster 1100 can store the same instructions for performing the cloud management platform-based task processing method described above.

[0136] In some possible implementation manners, the memory 1002 in one or more computing devices 1000 in the computing device cluster 1100 can also respectively store partial instructions for performing the cloud management platform-based task processing method described above. In other words, the combination of one or more computing devices 1000 can collectively perform the cloud management platform-based task processing method described above.

[0137] It should be noted that the memory 1002 in different computing devices 1000 in the computing device cluster 1100 can store different instructions, respectively, for performing part of the functions of the cloud management platform described above. That is, the instructions stored in the memory 1002 in different computing devices 1000 can implement the functions of one or more of the receiving module, the dividing module, and the processing module, etc.

[0138] In some possible implementation manners, one or more computing devices 1000 in the computing device cluster 1100 can be connected through a network. The network can be a wide area network or a local area network, etc.

[0139] Referring to FIG. 12, FIG. 12 is a schematic diagram of the connection of the computer devices in the computer cluster provided in the embodiments of the present application through a network. As shown in FIG. 12, the two computer devices 1000A and 1000B are connected through a network. Specifically, the communication interface in each computer device is connected to the network.

[0140] In a possible implementation, the memory in the computer device 1000A stores instructions for performing the functions of the receiving module and other modules. Meanwhile, the memory in the computer device 1000B stores instructions for performing the functions of the dividing module, the processing module and other modules.

[0141] It should be understood that the functions of the computer device 1000A shown in FIG. 12 can also be completed by multiple computer devices. Similarly, the functions of the computer device 1000B can also be completed by multiple computer devices.

[0142] The embodiments of the present application also relate to a computer storage medium, which stores a program for performing signal processing, and when the program is run on a computer, the computer is caused to perform the steps performed by the cloud management platform in the embodiment shown in FIG. 2.

[0143] The embodiments of the present application also relate to a computer program product, which stores instructions, and the instructions cause the computer to perform the steps performed by the cloud management platform in the embodiment shown in FIG. 2 when the instructions are executed by the computer.

[0144] Those skilled in the art can clearly understand that, for the convenience and brevity of description, the specific working processes of the above-described system, device and unit can refer to the corresponding processes in the foregoing method embodiments, which will not be described herein.

[0145] In the several embodiments of the present application, it should be understood that the disclosed system, device and method can be implemented in other ways. For example, the device embodiments described above are only schematic. The division of the units is only a logical function division. There can be another division manner for actual implementation. For example, a plurality of units or components can be combined or integrated into another system, or some features can be ignored or not executed. In addition, the displayed or discussed mutual couplings or direct couplings or communication connections between the units can be indirect couplings or communication connections through some interfaces, devices or units, and can be electrical, mechanical or in other forms.

[0146] The units described as separate components may or may not be physically separate, and the components displayed as units may or may not be physical units, that is, may be located in one place, or may be distributed to multiple network units. Part or all of the units can be selected according to actual needs to achieve the purpose of the embodiment scheme.

[0147] In addition, each functional unit in each embodiment of the present application can be integrated in one processing unit, or each unit can be physically present alone, or two or more units can be integrated in one unit. The integrated unit can be realized in the form of hardware or in the form of a software functional unit.

[0148] The integrated unit, if realized in the form of a software functional unit and sold or used as an independent product, can be stored in a computer readable storage medium. Based on such understanding, the technical scheme of the present application essentially or the part that contributes to the prior art or the whole or part of the technical scheme can be embodied in the form of a software product. The computer software product is stored in a storage medium, including a plurality of instructions for causing a computer device (which can be a personal computer, a server, or a network device, etc.) to execute all or part of the steps of the method described in each embodiment of the present application. The foregoing storage medium includes: a U disk, a mobile hard disk, a read-only memory (ROM, read-only memory), a random access memory (RAM, random access memory), a magnetic disk or an optical disk, and various program code storage media.

Claims

1. A task processing method based on a cloud management platform, characterized in that, The cloud management platform is used for managing an infrastructure providing cloud services, the infrastructure comprising a plurality of super clusters, each super cluster comprising a plurality of super nodes, and the method comprises: The cloud management platform receives a task processing request sent by a tenant, the task processing request being used for indicating a task to be processed and division information of the task; The cloud management platform divides the task into a plurality of subtasks based on the division information indicated by the task processing request; The cloud management platform determines a target super cluster from the plurality of super clusters, allocates the plurality of subtasks to a plurality of super nodes of the target super cluster, and causes the plurality of super nodes of the target super cluster to execute the plurality of subtasks to obtain a processing result of the task, wherein the target super cluster is any one of the plurality of super clusters, and any one of the plurality of super nodes of the target super cluster is allocated at least one subtask.

2. The method of claim 1, wherein, The task is a training task for a neural network model to be trained, and the processing result of the task is a trained neural network model.

3. The method according to claim 1 or 2, characterized in that, Each subtask comprises a plurality of task instances, and each super node comprises a plurality of computing nodes. The cloud management platform allocates the plurality of subtasks to the plurality of super nodes of the target super cluster, and causes the plurality of super nodes of the target super cluster to execute the plurality of subtasks to obtain the processing result of the task, comprising: The cloud management platform allocates the target subtask to the target super node in the target super cluster, allocates a target task instance in the target subtask to a target computing node in the target super node, and causes the target computing node to execute the target task instance to obtain a processing result of the target task instance; The target subtask is any one of the plurality of subtasks, the target super node is any one of the plurality of super nodes of the target super cluster, the target task instance is any one of the plurality of task instances of the target subtask, the target computing node is any one of the plurality of computing nodes of the target super node, and the processing result of the target task instance is used for obtaining the processing result of the task.

4. The method according to any one of claims 1 to 3, characterized in that, The division information comprises a number of subtasks and a number of task instances included in a subtask. The cloud management platform divides the task into a plurality of subtasks based on the division information indicated by the task processing request, comprising: The cloud management platform divides the task into the plurality of subtasks according to the number of subtasks and the number of task instances included in a subtask.

5. The method of claim 4, wherein, The division information further comprises specifications of computing nodes for executing task instances. The cloud management platform determines a target super cluster from the plurality of super clusters, comprising: The cloud management platform calculates the specifications of the computing nodes for executing task instances, the number of subtasks, and the number of task instances included in a subtask to obtain specifications of a super cluster for executing the task; The cloud management platform selects a target super cluster from the plurality of super clusters based on the specifications of the super cluster for executing the task.

6. The method of claim 5, wherein, The method further comprises: The cloud management platform provides specifications of the multiple super clusters to the tenant, the specifications of the multiple super clusters being used by the tenant to determine the division information, a specification of a super cluster including a number of super nodes in the super cluster, a number of computing nodes included in a super node in the super cluster, and a specification of the computing nodes included in the super node in the super cluster.

7. The method according to any one of claims 1 to 6, characterized in that, The method further includes: If there is no available super node in the multiple super clusters, the cloud management platform expands a number of super clusters in the multiple super clusters to obtain expanded super clusters, the expansion including adding available super nodes to the number of super clusters; The cloud management platform determines a target super cluster from the multiple super clusters includes: The cloud management platform determines a target super cluster from the expanded super clusters.

8. The method according to any one of claims 1 to 7, characterized in that, When the network between the multiple super nodes of the target super cluster is a non-virtual private cloud (VPC) network, the multiple super nodes of the target super cluster are deployed in a same site, and when the network between the multiple super nodes of the target super cluster is a VPC network, the multiple super nodes of the target super cluster are deployed in a same site or different sites.

9. The method of claim 8, wherein, The site is a region, an availability zone, a data center, or a machine room.

10. The method of claim 3, wherein, The target computing node includes any one of a physical server, a virtual machine, a container, a micro virtual machine, and a bare metal server.

11. A cloud management platform, characterized by, The cloud management platform is configured to manage an infrastructure providing cloud services, the infrastructure including multiple super clusters, each super cluster including multiple super nodes, and the cloud management platform includes: a receiving module configured to receive a task processing request sent by a tenant, the task processing request being used to indicate a task to be processed and division information of the task; a division module configured to divide the task into multiple sub-tasks based on the division information indicated by the task processing request; a processing module configured to determine a target super cluster from the multiple super clusters, assign the multiple sub-tasks to multiple super nodes of the target super cluster, and cause the multiple super nodes of the target super cluster to execute the multiple sub-tasks to obtain a processing result of the task, wherein the target super cluster is any one of the multiple super clusters, and any one of the super nodes of the target super cluster is assigned at least one sub-task.

12. The cloud management platform of claim 11, wherein, The task is a training task for a neural network model to be trained, and the processing result of the task is a trained neural network model.

13. The cloud management platform of claim 11 or 12, wherein, Each sub-task includes multiple task instances, each super node includes multiple computing nodes, and the processing module is configured to assign the target sub-task to the target super node in the target super cluster, assign a target task instance in the target sub-task to a target computing node in the target super node, and cause the target computing node to execute the target task instance to obtain a processing result of the target task instance. The target subtask is any one of the plurality of subtasks, the target supernode is any one of the plurality of supernodes of the target supernode cluster, the target task instance is any one of the plurality of task instances of the target subtask, the target computing node is any one of the plurality of computing nodes of the target supernode, and the processing result of the target task instance is used to obtain the processing result of the task.

14. The cloud management platform of any of claims 11 to 13, wherein, The division information includes the number of subtasks and the number of task instances included in the subtasks, and the division module is configured to divide the task into the plurality of subtasks according to the number of subtasks and the number of task instances included in the subtasks.

15. The cloud management platform of claim 14, wherein, The division information further includes the specifications of the computing nodes for executing the task instances, and the processing module is configured to: calculate the specifications of the computing nodes for executing the task instances, the number of subtasks, and the number of task instances included in the subtasks to obtain the specifications of the supernode cluster for executing the task; select a target supernode cluster from the plurality of supernode clusters based on the specifications of the supernode cluster for executing the task.

16. The cloud management platform of claim 15, wherein, The cloud management platform further includes: a providing module configured to provide the specifications of the plurality of supernode clusters to the tenant, and the specifications of the plurality of supernode clusters are used by the tenant to determine the division information, wherein the specifications of the supernode cluster include the number of supernodes in the supernode cluster, the number of computing nodes included in the supernode in the supernode cluster, and the specifications of the computing nodes included in the supernode in the supernode cluster.

17. The cloud management platform of any of claims 11 to 16, wherein, The cloud management platform further includes: an expansion module configured to expand a plurality of supernode clusters in the plurality of supernode clusters if there is no available supernode in the plurality of supernode clusters to obtain a plurality of expanded supernode clusters, and the expansion includes adding available supernodes to the plurality of supernode clusters; the processing module is configured to determine a target supernode cluster from the plurality of expanded supernode clusters.

18. The cloud management platform of any of claims 11 to 17, wherein, When the network between the plurality of supernodes of the target supernode cluster is a VPC network, the plurality of supernodes of the target supernode cluster are deployed in the same site, and when the network between the plurality of supernodes of the target supernode cluster is a VPC network, the plurality of supernodes of the target supernode cluster are deployed in the same site or different sites.

19. The cloud management platform of claim 18, wherein, The site is a region, an availability zone, a data center, and a machine room.

20. The cloud management platform of claim 13, wherein, The target computing node includes any one of the following: a physical server, a virtual machine, a container, a micro virtual machine, and a bare metal server.

21. A cluster of computing devices, characterized in that, The computing device cluster includes at least one computing device, and each computing device includes a processor and a memory: The memory is configured to store instructions; The processor is configured to execute the method according to any one of claims 1-10 based on the instructions, so that the computing device cluster executes the method according to any one of claims 1-10.

22. A computer storage medium, comprising, The computer storage medium stores one or more instructions, which, when executed by one or more computers, cause the one or more computers to implement the method according to any one of claims 1-10.

23. A computer program product, characterised in that, The computer program product stores instructions, which, when executed by a computer, cause the computer to implement the method according to any one of claims 1-10.

Citation Information

Patent Citations

  • Computing poweralculation capability sharing method, device and equipment and medium

    CN109614242A

  • Distributed task running method, system and equipment

    CN110609749A

  • Multi-cluster computing task submission method and related device and equipment

    CN115509756A

  • Task allocation method and device, equipment and storage medium

    CN116932161A

  • Data processing over very large databases

    US20080027920A1