Cluster scaling method, computing service platform, device, medium, and product

WO2026189108A1PCT designated stage Publication Date: 2026-09-17CLOUD INTELLIGENCE ASSETS HOLDING (SINGAPORE) PTE LTD +1
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
PCT/CN2026/078469
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2025-03-11
Filing Date
2026-02-11
Publication Date
2026-09-17

Smart Images

  • Figure CN2026078469_17092026_PF_FP_ABST
    Figure CN2026078469_17092026_PF_FP_ABST
Patent Text Reader

Abstract

Embodiments of the present disclosure provide a cluster scaling method, a computing service platform, a device, a medium, and a product. The method comprises: in response to submission of a computing task, a scheduler obtains input / output resource requirement information of the computing task and respective first specification information of different original cache nodes in a cache cluster, wherein resources described by the first specification information are defined as generic resources that can be collected by the scheduler. Subsequently, when the first specification information does not satisfy the input / output resource requirement information, a management and control component creates a new cache node in the cache cluster. In the described method, the resources described by the specification information are abstracted into the generic resources so as to be collected by the scheduler, so that the scheduler can accurately determine whether the first specification information satisfies the input / output resource requirement information. Furthermore, the management and control component can perform elastic scaling on the cache cluster on the basis of the determination result, thereby improving utilization rate of cache resources in the computing service platform and reducing storage costs.
Need to check novelty before this filing date? Find Prior Art

Description

Cluster scaling methods, computing service platforms, equipment, media and products Technical Field

[0001] This disclosure relates to the field of elastic computing technology, and in particular to a cluster scaling method, computing service platform, device, medium and product. Background Technology

[0002] A computing service platform is a cloud computing architecture-based system designed to provide users with efficient, flexible, and scalable computing resources and services. Within the computing service platform, computing clusters provide computing power, while caching clusters provide storage for pending, intermediate, and result data during the execution of computing tasks.

[0003] Based on the above description, how to improve the utilization rate of the cache cluster in the computing service platform has become an urgent problem to be solved. Summary of the Invention

[0004] In view of this, embodiments of the present disclosure provide a cluster scaling method, computing service platform, device, medium, and product to dynamically scale the cache cluster according to computing tasks, thereby improving the utilization of the cache cluster.

[0005] This disclosure provides a cluster scaling method, applied to a management component in a computing service platform. The computing service platform further includes a cache cluster, a computing cluster, and a scheduler. The method includes: acquiring the execution status of a computing task, the execution status being determined by the scheduler based on first specification information of different original cache nodes and input / output resource requirements of the computing task, the different original cache nodes being contained in the cache cluster, and the resources described by the first specification information being defined as general resources available for acquisition by the scheduler; if the execution status indicates that the first specification information of the different original cache nodes does not meet the input / output resource requirements, then generating a first scaling instruction for the cache cluster, using the first scaling instruction to create the new cache node in the cache cluster, enabling a target computing node in the computing cluster to process the pending data cached in the new cache node, the pending data corresponding to the computing task.

[0006] This disclosure provides a cluster scaling method applied to a scheduler in a computing service platform. The computing service platform includes a cache cluster, a computing cluster, and a management and control component. The method includes: in response to receiving a computing task, collecting first specification information of different original cache nodes in the cache cluster, wherein the resources described by the first specification information are defined as general resources for the scheduler to collect; determining the execution status of the computing task based on the first specification information of the different original cache nodes and the input / output resource requirements of the computing task; if the execution status indicates that the first specification information of the different original cache nodes does not meet the input / output resource requirements, then after creating a new cache node in the cache cluster, allocating the computing task to a target computing node in the computing cluster, so that the target computing node processes the data to be processed in the newly added cache node, wherein the data to be processed corresponds to the computing task.

[0007] This disclosure provides a computing service platform, including: a computing cluster, a cache cluster, and a management and control component; a scheduler in the computing cluster is used to acquire input / output resource requirement information of computing tasks and first specification information of different original cache nodes in the cache cluster; determine whether the first specification information meets the input / output resource requirement information, wherein the resources described by the first specification information are defined as general resources for the scheduler to collect; the management and control component is used to generate a first expansion instruction for the cache cluster if the first specification information of the different original cache nodes does not meet the input / output resource requirement information, so as to create a new cache node in the cache cluster using the first expansion instruction; a target computing node in the computing cluster is used to process the unprocessed data cached in the new cache node, wherein the unprocessed data corresponds to the computing task.

[0008] This disclosure provides an electronic device including a processor and a memory. The memory stores one or more computer instructions, wherein the one or more computer instructions, when executed by the processor, implement the cluster scaling method described above. The electronic device may also include a communication interface for communicating with other devices or communication networks.

[0009] This disclosure provides a non-transitory machine-readable storage medium storing executable code, which, when executed by a processor of an electronic device, enables the processor to at least implement the cluster scaling method described above.

[0010] This disclosure provides a computer program product, which includes a computer program or instructions. When the computer program or instructions are executed by a processor, the processor is able to implement the cluster scaling method described above.

[0011] The computing service platform provided in this embodiment may include a cache cluster, a computing cluster, and a management and control component. The computing cluster may include computing nodes and a scheduler, and the cache cluster may include cache nodes.

[0012] The cluster scaling method provided in this disclosure can be applied to the management and control components of the aforementioned computing service platform. After a user submits a computing task to the scheduler, the scheduler obtains the input / output (I / O) resource requirements of that computing task. Simultaneously, since the resources described by the first specification information of different original cache nodes in the cache cluster are defined as general resources for the scheduler to collect, the scheduler can also obtain the first specification information. The scheduler can determine whether the first specification information meets the I / O resource requirements to obtain the execution status of the computing task. When the execution status of the computing task reflects that the first specification information does not meet the I / O resource requirements, the management and control components can create a new cache node in the cache cluster. The target node in the computing cluster can then process the data to be processed corresponding to the computing task stored in the newly added cache node.

[0013] Compared to a fixed-specification cache cluster, in the above method, the resources described by the first specification information of the cache nodes are abstracted into general resources that can be collected by the scheduler, allowing the scheduler to more accurately obtain the execution status of computing tasks. The management component can determine whether to elastically scale the cache cluster based on the execution status of the computing tasks. Elastic scaling of the cache cluster can improve the utilization rate of cache resources in the computing service platform and reduce storage costs. Furthermore, in the above method, the collaborative work of the scheduler and management component can achieve the elastic scaling of the cache cluster without the user's awareness. Attached Figure Description

[0014] The accompanying drawings, which are included to provide a further understanding of this disclosure and form part of this disclosure, illustrate exemplary embodiments of this disclosure and are used to explain this disclosure, but do not constitute an undue limitation of this disclosure.

[0015] Figure 1 is a schematic diagram of the structure of a computing service platform provided in an embodiment of this disclosure.

[0016] Figure 2 is a schematic diagram of another computing service platform provided in an embodiment of this disclosure.

[0017] Figure 3 is a schematic diagram of the working process of a computing service platform provided in an embodiment of this disclosure.

[0018] Figure 4 is a schematic diagram of the working process of another computing service platform provided in an embodiment of this disclosure.

[0019] Figure 5 is a signaling diagram of the working process of the computing service platform provided in the embodiments of this disclosure.

[0020] Figure 6 is a schematic diagram of an application of a cloud computing environment provided in an embodiment of this disclosure.

[0021] Figure 7 is a flowchart of a cluster scaling method provided in an embodiment of this disclosure.

[0022] Figure 8 is a flowchart of another cluster scaling method provided in an embodiment of this disclosure.

[0023] Figure 9 is a schematic diagram of the structure of an electronic device provided in an embodiment of this disclosure. Detailed Implementation

[0024] To make the objectives, technical solutions, and advantages of the embodiments of this disclosure clearer, the technical solutions of the embodiments of this disclosure will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this disclosure, and not all embodiments. Based on the embodiments of this disclosure, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this disclosure.

[0025] The terminology used in the embodiments of this disclosure is for the purpose of describing particular embodiments only and is not intended to limit the disclosure. The singular forms “a,” “the,” and “the” used in the embodiments of this disclosure and the appended claims are also intended to include the plural forms, unless the context clearly indicates otherwise. “Multiple” generally includes at least two, but does not exclude the inclusion of at least one.

[0026] It should be understood that the term "and / or" used in this article is merely a description of the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can represent: A existing alone, A and B existing simultaneously, and B existing alone. Additionally, the character " / " in this article generally indicates that the preceding and following related objects have an "or" relationship.

[0027] Depending on the context, the words “if” or “suppose” as used here can be interpreted as “when” or “in response to determination” or “in response to identification.” Similarly, depending on the context, the phrases “if determination” or “if identification (of the condition or event of the statement)” can be interpreted as “when determination” or “in response to determination” or “when identification (of the condition or event of the statement)” or “in response to identification (of the condition or event of the statement).”

[0028] It should be noted that, in the cases involving user interaction operations or triggering operations in the embodiments of this disclosure, the user interaction operations or triggering operations involved in the embodiments of this disclosure include, but are not limited to, various interaction operations such as touch operations, gesture operations, voice operations, head movement operations, and eye movement operations; among them, touch operations include, but are not limited to, click operations, double click operations, long press operations, swipe operations, pinch operations, or mouse hover operations, etc. Swipe operations include, but are not limited to, straight line swipes, curved line swipes, etc.

[0029] It should be noted that, in the cases involving user information in the embodiments of this disclosure, the user information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data used for analysis, stored data, displayed data, etc.) involved in the embodiments of this disclosure are all information and data authorized by the user or fully authorized by all parties. Furthermore, the collection, use and processing of related data must comply with the relevant laws, regulations and standards of the relevant countries and regions, and corresponding operation entry points are provided for users to choose to authorize or refuse.

[0030] It should also be noted that the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a product or system comprising a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a product or system. Without further limitation, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the product or system that includes said element.

[0031] Before providing a detailed description of the various embodiments provided in this disclosure, the relevant concepts involved in the embodiments of this disclosure may also be introduced.

[0032] High Performance Computing (HPC): A technology that utilizes powerful computing resources (such as supercomputers or computing clusters) to handle large-scale, complex computing tasks.

[0033] Computing service platform: A platform that encapsulates high-performance computing as a service. This platform may include computing clusters and storage clusters, and the nodes in the computing clusters and storage clusters can be managed and scheduled in a unified manner.

[0034] Computational task: The basic unit of work submitted by a user to the computing service platform for computation, also known as a job. Jobs can be submitted in the form of command line, shell script, or executable file.

[0035] Computing Cluster: A cluster within a computing service platform that provides computing capabilities. This cluster may include computing nodes, which are used to execute user-submitted computing tasks, that is, to process the data to be processed corresponding to the computing tasks.

[0036] Storage Cluster: A cluster within a computing service platform that provides storage capabilities. A storage cluster can store data to be processed corresponding to computing tasks, intermediate data generated during the execution of computing tasks by computing nodes, and result data obtained after the computing tasks are completed. Specifically, a storage cluster can include dynamic storage clusters or static storage clusters. A dynamic storage cluster, for example, can be a cache cluster containing cache nodes, which can use hard disks as caching media. A static storage cluster, for example, can include object storage services (OSS) provided by cloud service providers.

[0037] Generic Resources: Reference data used for node management and scheduling in a computing service platform, such as CPU resources, GPU resources, Tensor Processing Unit (TPU) resources, network bandwidth, file system, dedicated hardware devices, or other custom resources.

[0038] Before describing the various embodiments provided in this disclosure in detail, the background of the use of this disclosure may also be introduced.

[0039] Building upon the background technology, when a user submits a computing task to a computing service platform, in response to the submission, the computing nodes in the platform can read the data to be processed corresponding to the computing task from the cache nodes and process that data. Optionally, the data to be processed for different computing tasks can have different amounts; therefore, during the execution of computing tasks, large I / O or small I / O situations may occur between the computing nodes and the cache nodes.

[0040] To adapt to scenarios where large and small I / O coexist and dynamically change, a sufficient number of cache nodes with diverse specifications can be deployed in the cache cluster. However, this deployment method reduces the utilization rate of the cache cluster. To improve the above problem, the computing service platform and cluster scaling methods provided in the embodiments of this disclosure can be used.

[0041] Based on the above description, some embodiments of this disclosure will be described in detail below with reference to the accompanying drawings. Where there is no conflict between the embodiments, the following embodiments and features can be combined with each other. Furthermore, the timing of the steps in the following method embodiments is merely an example and not a strict limitation.

[0042] Figure 1 is a schematic diagram of the structure of a computing service platform provided in an embodiment of this disclosure. As shown in Figure 1, the computing service platform may include a computing cluster, a cache cluster, and a management and control component. The computing cluster may include computing nodes and a scheduler, and the cache cluster may include cache nodes.

[0043] The working process of the computing service platform can be described as follows: In response to the submission of a computing task, the task processing request can be obtained by the computing service platform. The task processing request may include the I / O resource requirement information of the computing task. At this time, the scheduler in the computing cluster can obtain the I / O resource requirement information and the first specification information of different original cache nodes in the cache cluster. The resource described by the first specification information can be defined as a custom resource as a general resource for the scheduler to collect, so that the scheduler can collect the first specification information.

[0044] Among them, the I / O resource requirement information can reflect the data transfer resources required in the process of reading the data to be processed corresponding to the computing task from the cache node to the computing node, such as the number of cache nodes required (i.e., the reference number) and the storage bandwidth of the cache nodes required (i.e., the reference storage bandwidth).

[0045] Optionally, the specifications of a cache node can describe various resources such as its hard disk capacity, memory capacity, number of processor cores, core frequency, and multiplication factor. Furthermore, the storage bandwidth of the cache node can be estimated based on the specifications. Therefore, the scheduler's collection of the first set of specifications is equivalent to collecting the storage bandwidth resource of the cache nodes in the cache cluster. Specifically, for the method of estimating storage bandwidth using specifications, optionally, storage bandwidth = core frequency × multiplication factor × (memory bus width / 8).

[0046] Optionally, the scheduler can be a Simple Linux Utility for Resource Management (SLURM), and the collection of primary specification information can be performed by the Generalized Resource (GRES) module in SLURM.

[0047] Furthermore, the scheduler can also determine whether the collected first specification information meets the I / O resource requirements. The scheduler's above-mentioned judgment process can be considered a monitoring process of the task execution status, and the monitoring results can include the following:

[0048] In one scenario, if the initial specifications do not meet the I / O resource requirements, the scheduler can set the execution status of the computation task to a waiting state. In response to the computation task being in a waiting state, the management component generates a first expansion instruction for the cache cluster and executes this instruction to create a new cache node in the cache cluster. Finally, the scheduler can allocate the computation task to a target compute node in the compute cluster, so that the target compute node can process the pending data corresponding to the computation task cached in the new cache node.

[0049] In this scenario, after the scheduler detects that the target compute node has completed processing the data to be processed, it can set the execution status of the compute task to "complete." In response to the compute task being in the "complete" state, the management component generates a first scaling-down instruction for the cache cluster and executes this instruction to release the newly added cache nodes in the cache cluster.

[0050] In the above scenario, after receiving a computing task, the cache node can be expanded; and after the computing task is completed, the expanded cache node can be reclaimed, which means that the cache node can be elastically scaled, thereby improving the storage utilization of the cache node.

[0051] In another scenario, if the first specification information meets the I / O resource requirements, the scheduler can set the computing task to a normal state. The scheduler can then allocate the computing task to a target computing node in the computing cluster, so that the target computing node can read the data to be processed from at least one original cache node in the cache cluster and process the data.

[0052] Optionally, when the target computing node fails to execute the computing task, the scheduler can also detect this and set the computing task to a failed state. The scheduler can also reassign computing nodes to the computing task.

[0053] Optionally, when multiple computing tasks are submitted to the computing service platform, the scheduler can sort and manage the queues of these tasks, and schedule them sequentially according to the sorting results. Optionally, the scheduler can sort the queues according to parameters such as the priority and response time of the computing tasks. The aforementioned priority, response time, I / O resource requirements, and computing resource requirements mentioned in subsequent embodiments can all be obtained by the scheduler as parameters describing the computing task requirements.

[0054] In this embodiment, after a user submits a computing task to the scheduler in the computing cluster, the scheduler can obtain the I / O resource requirements of the computing task. Simultaneously, since the resources described by the first specification information of different original cache nodes in the cache cluster are defined as general resources for the scheduler to collect, the scheduler can also obtain the first specification information. When the scheduler determines that the first specification information does not meet the I / O resource requirements, the management component can create a new cache node in the cache cluster. Afterwards, the target node in the computing cluster can process the data to be processed corresponding to the computing task stored in the newly added cache node.

[0055] Compared to a fixed-specification cache cluster, in the above embodiment, the resources described by the first specification information of the cache nodes are abstracted into general resources that can be collected by the scheduler. The scheduler can then more accurately determine whether the first specification information meets the I / O resource requirements. The management component can determine whether to elastically scale the cache cluster based on the judgment result. Elastic scaling of the cache cluster can improve the utilization rate of cache resources in the computing service platform and reduce storage costs. Furthermore, in the above method, the collaborative work of the scheduler and the management component can also achieve the elastic scaling of the cache cluster without the user's awareness.

[0056] In addition, in the above embodiments, the scaling up and down of cache nodes is at the task granularity. That is, for any computing task submitted to the computing service platform, the scheduler and management components can determine whether to scale up or down the cache nodes in the above manner, which also improves the targeting of scaling up and down.

[0057] Figure 2 is a schematic diagram of another computing service platform provided in an embodiment of this disclosure. Based on the platform shown in Figure 1, as shown in Figure 2, the computing service platform may further include a distributed storage system.

[0058] Distributed storage systems can store data to be processed corresponding to computing tasks, intermediate data generated during the execution of computing tasks, and result data obtained after the computing tasks are completed. Optionally, data in a distributed storage system can be stored in the form of objects, in which case the distributed storage system can be provided as an OSS service. Specific examples of distributed storage systems include Juiced File System (JuiceFS), etc.

[0059] It should be noted that the various data generated at different stages of the computation task can be temporarily stored in cache nodes and eventually persisted in the distributed storage system. For the data to be processed stored in the distributed storage system, the cache nodes can access the distributed storage system to read the data into the cache nodes, so that the target compute nodes can read and process the data in the cache nodes. Optionally, OSS can be mounted to the cache nodes through the Object Storage Service File System (OSSFS) to allow the cache nodes to access OSS; alternatively, the cache nodes can also access the data in OSS using the interfaces provided by OSS.

[0060] In this embodiment, the configuration of a distributed storage system in the service computing platform can reduce the storage pressure on the cache cluster and also reduce the deployment cost of the computing service platform.

[0061] Optionally, the computing service platform may also include a resource pool, and the management component may use the resources in the resource pool to expand the cache nodes.

[0062] In this embodiment, the resource pool can provide basic support for the expansion of cache nodes, thereby enabling the expansion and contraction of cache nodes.

[0063] As can be seen from the description in the embodiment shown in Figure 1, since the I / O resource requirement information of the computing task may include the reference storage bandwidth of the cache nodes required to process the computing task and the reference number of cache nodes required, the situation of "the first specification information does not meet the I / O resource requirement information" mentioned in the embodiment shown in Figure 1 can be further refined into the following situations.

[0064] In one scenario, if the specifications of the original cache nodes in the cache cluster are not met—that is, if the actual storage bandwidth of the original cache nodes in the cache cluster does not meet the reference storage bandwidth in the I / O resource requirement information—the management component can create new cache nodes with the reference storage bandwidth, and the number of new cache nodes will meet the reference number in the I / O resource requirement information. In this case, all the data to be processed corresponding to the computing task can be stored in the new cache nodes.

[0065] For example, if a cache cluster contains 5 original cache nodes with a storage bandwidth of 4G / s and 5 original cache nodes with a storage bandwidth of 2G / s, and the reference storage bandwidth in the I / O resource requirement information is 8G / s with a reference quantity of 2, then the new cache nodes added for the expansion of the management component can be 2 nodes with a storage bandwidth of 8G / s.

[0066] In another scenario, if the number of original cache nodes in the cache cluster is insufficient (i.e., the actual number of original cache nodes does not meet the reference number in the I / O resource requirement information), the management component can create new cache nodes to ensure that the total number of new cache nodes and at least one original cache node meets the reference number, and that the actual storage bandwidth of both the new cache nodes and at least one original cache node also meets the reference storage bandwidth in the I / O resource requirement information. In this case, the data to be processed corresponding to the computation task can be stored simultaneously on both the new cache nodes and at least one original cache node.

[0067] For example, if a cache cluster contains 5 original cache nodes with a storage bandwidth of 4G / s and 5 original cache nodes with a storage bandwidth of 2G / s, and the reference storage bandwidth in the I / O resource requirement information is 4G / s with a reference quantity of 8, then the new cache nodes added for the expansion of the management component can be 3 nodes with a storage bandwidth of 4G / s.

[0068] Based on the above two scenarios, it can be concluded that the cache node storing the data to be processed can be a newly added cache node, or a combination of a newly added cache node and at least one original cache node.

[0069] In this embodiment, by defining the specification information of the cache node as a general resource for the scheduler to collect, the management and control component can use the first specification information collected by the scheduler and the I / O resource requirement information of the computing task to expand the cache node for the computing task submitted to the computing service platform, so as to ensure the execution efficiency of the computing task.

[0070] For the computing service platform provided in the embodiments shown in Figures 1 and 2, in addition to scaling up and down the cache nodes as needed, the computing nodes can also optionally be scaled up and down as needed. That is, both the computing cluster and the cache cluster in the computing service platform provided in the embodiments of this disclosure can be scaled up and down.

[0071] Alternatively, the management component can also use resources in the resource pool to expand the computing nodes.

[0072] Regarding scaling up or down compute nodes, optionally, in response to the submission of a compute task, the scheduler, while obtaining the first specification information and I / O resource requirement information, can also obtain the compute resource requirement information of the compute task, as well as the second specification information of each original compute node in the compute cluster. The scheduler can further determine whether the second specification information of each original compute node meets the compute resource requirement information. The management component can determine whether to scale up the compute cluster based on the determination result, that is, whether to create new compute nodes in the compute cluster.

[0073] Similar to the I / O resource requirement information, the computing resource requirement information may optionally be included in the task processing request. Optionally, the computing resource requirement information may include the number of computing nodes required to execute the computing task (i.e., the reference number), and the number of processor cores in the computing nodes (i.e., the reference number of cores), etc. Similar to the first specification information, the computing node specification information may also be defined as general resources for the scheduler to collect. Optionally, the computing node specification information may include CPU resources, GPU resources, TPU resources, etc.

[0074] In one scenario, the second specification information satisfies the computing resource requirements, meaning there is at least one original computing node in the computing cluster that meets the requirements. In this case, the scheduler sets the execution status of the task to normal, and the management component does not need to expand the computing nodes. The scheduler can directly assign the computing task to the at least one original computing node. In this case, the target computing node for executing the computing task is also this at least one original computing node.

[0075] In another scenario, if the second specification information does not meet the computing resource requirements, meaning that the computing cluster does not have computing nodes that meet the computing resource requirements, the scheduler sets the execution status of the task to a waiting state. The management component can then generate a second expansion instruction for the computing cluster and execute this second expansion instruction to create new computing nodes in the computing cluster.

[0076] In this scenario, once the scheduler detects that a computing task has been completed, it can set the task's execution status to "complete." In response to the task being in a complete state, the management component generates a second scaling-down instruction for the computing cluster. Executing this second scaling-down instruction releases newly added computing nodes within the cluster.

[0077] Furthermore, in this case, since the computing resource requirements information of the computing task can specifically include the number of reference cores of the computing nodes required to process the computing task and the reference number of computing nodes required, the above-mentioned situation of "the second specification information does not meet the computing resource requirements information" can be further refined into the following situations.

[0078] In one scenario, the specifications of the original compute nodes in the computing cluster do not meet the requirements—that is, the actual number of cores in the original compute nodes does not meet the reference number of cores in the computing resource requirements information. In this case, the management component can create new compute nodes with the reference number of cores, and the number of new compute nodes will meet the reference number in the computing resource requirements information. In this situation, the target compute nodes for executing computing tasks may include newly added cache nodes.

[0079] For example, if a computing cluster contains 5 original computing nodes with 4 cores each and 5 original computing nodes with 8 cores each, and the reference number of cores in the computing resource requirement information is 16 and the reference quantity is 2, then the new computing nodes added for the expansion of the management component can be 2 nodes with 16 cores each.

[0080] In another scenario, if the number of original compute nodes in the computing cluster is insufficient—that is, the actual number of original compute nodes in the computing cluster does not meet the reference number in the computing resource requirement information—the management component can generate a second expansion instruction to create new compute nodes in the computing cluster. This ensures that the total number of new compute nodes and at least one original compute node meets the reference number, and that the actual number of cores in both the new compute nodes and at least one original compute node also meets the reference number of cores in the computing resource requirement information. In this case, the target compute nodes for executing computing tasks include the new cache node and at least one original compute node.

[0081] For example, if a computing cluster contains 5 original computing nodes with 4 cores and 5 original computing nodes with 8 cores, and the reference number of cores in the computing resource requirement information is 4 and the reference quantity is 8, then the new computing nodes added for the expansion of the management component can be 3 nodes with 4 cores.

[0082] In this embodiment, by defining the specification information of computing nodes as general resources for the scheduler to collect, the management and control component can use the second specification information collected by the scheduler and the computing resource requirement information of the computing tasks submitted to the computing service platform to expand the computing nodes, so as to ensure the execution efficiency of the computing tasks.

[0083] In summary, the coordinated operation of the scheduler and management components enables the scaling up and down of the cache cluster and / or computing cluster within the computing service platform. After scaling up, the scheduler can allocate computing tasks to target computing nodes, which then read and process the data to be processed corresponding to the computing tasks from the corresponding cache nodes. Depending on the situation, the target computing nodes may include newly added computing nodes, or may include newly added computing nodes and at least one original computing node. The data to be processed can be cached in the newly added cache nodes, or cached in the newly added cache nodes and at least one original cache node.

[0084] The expansion and contraction process can be described in more detail below.

[0085] In cases where the management component expands the cache cluster but not the compute cluster: After the scheduler identifies the target compute node in the compute cluster and the management component creates the new cache node, it can further establish an association between the target compute node and the cache node storing the data to be processed. The target compute node can then establish an access connection with the cache node according to this association and use this connection to read and compute the corresponding pending tasks from the cache node.

[0086] In this scenario, the cache node storing the data to be processed can include at least one original cache node in the cache cluster, or a combination of at least one original cache node and a newly added cache node. The target computing node performing the computation task can include at least one original computing node in the computing cluster. The data to be processed can be distributed across different cache nodes.

[0087] Optionally, when the computing task is completed, the process of the management component releasing the newly added cache node can also be as follows: the management component can delete the association relationship containing the newly added cache node, and at the same time, at least one original computing node that is the target computing node can also disconnect its access connection with the newly added cache node.

[0088] The content of this embodiment can also be understood in conjunction with Figure 3.

[0089] In this embodiment, when the cache cluster is expanded but the computing cluster is not expanded, the computing task can be assigned to at least one original computing node, so that the at least one original computing node can use the access connection to read the data to be processed corresponding to the computing task from the newly added cache node and complete the computing task, or so that the at least one original computing node can use the access connection to read the data to be processed from the newly added cache node and at least one original cache node respectively and complete the computing task.

[0090] As shown in Figure 3, the computing service platform may include a cache cluster containing 5 raw cache nodes with a storage bandwidth of 4G / s and 5 raw cache nodes with a storage bandwidth of 2G / s, and the raw cache nodes may be numbered from 0 to 9. The computing service platform may also include 5 raw computing nodes with 4 cores and 5 raw computing nodes with 8 cores, and the raw computing nodes may be numbered from 0 to 9.

[0091] Assuming the computation task's I / O resource requirements are two cache nodes with 8G / s storage bandwidth, and the computation requirements are two compute nodes with 8 cores each, then the new cache nodes added during the management component's expansion can be two nodes with 8G / s storage bandwidth, numbered A and B. Furthermore, the data to be processed for the computation task can be cached in these new cache nodes.

[0092] At this point, after the new cache nodes are created, the scheduler can assign the computation task to the original compute nodes numbered 8 and 9. Then, the management component can create an association between compute node 8 and cache node A, and an association between compute node 9 and cache node B. Compute node 8 can create an access connection with cache node A according to the association, and compute node 9 can create an access connection with cache node B according to the association. Compute nodes 8 and 9 can then use these access connections to read data from the corresponding cache nodes and process it, thereby completing the computation task.

[0093] Furthermore, after the computation task is completed, the management component can also release the newly created cache node A and cache node B. Specifically, the management component can delete the association between compute node 8 and cache node A, and compute node 8 can also disconnect its access connection with cache node A. Similarly, the management component can also delete the association between compute node 9 and cache node B, and compute node 9 can disconnect its access connection with cache node B.

[0094] When the management component expands both the cache cluster and the compute cluster simultaneously: After creating new cache nodes and compute nodes, the management component can further create associations between target compute nodes and cache nodes storing data to be processed. Target compute nodes can establish access connections with cache nodes according to these associations, and then use these connections to read and process data from the cache nodes storing the data to be processed.

[0095] In this scenario, the cache node storing the data to be processed can include at least one original cache node in the cache cluster, or a combination of at least one original cache node and a newly added cache node. The target computing node performing the computation task can include at least one original computing node in the computing cluster, or a combination of at least one original computing node and a newly added computing node.

[0096] Optionally, when the execution status of the computing task is completed, the management component can also release the newly added computing node. The release process can be described as follows: the management component can delete the association relationship containing the newly added computing node. At the same time, the newly added computing node can also disconnect itself from the access connection between itself and each cache node in the cache cluster.

[0097] Optionally, any computing node in the computing service platform can be associated with at least one cache node, and any cache node can also be associated with at least one computing node.

[0098] The content of this embodiment can also be understood in conjunction with Figure 4.

[0099] In this embodiment, when both the cache cluster and the computing cluster are expanded simultaneously, computing tasks can be assigned to target computing nodes. These target computing nodes can then use access connections to read the data to be processed corresponding to the computing task from the newly added cache nodes and complete the computing task. Alternatively, they can read the data to be processed from both the newly added cache nodes and at least one original cache node and complete the computing task. The target computing node can include at least one original computing node, or a combination of at least one original computing node and a newly added computing node.

[0100] As shown in Figure 4, the computing service platform may include a cache cluster containing 5 raw cache nodes with a storage bandwidth of 4G / s and 5 raw cache nodes with a storage bandwidth of 2G / s, and the raw cache nodes may be numbered from 0 to 9. The computing service platform may also include 5 raw computing nodes with 4 cores and 5 raw computing nodes with 8 cores, and the raw computing nodes may be numbered from 0 to 9.

[0101] Assuming the computation task requires two cache nodes with 8G / s storage bandwidth and two compute nodes with 16 cores each, the new cache nodes added during the expansion of the management component can be two nodes with 8G / s storage bandwidth and two nodes with 16 cores each. These new cache nodes are designated A and B, and the new compute nodes are designated I and II. The data to be processed for the computation task can be cached on these new cache nodes.

[0102] At this point, after the creation of the new cache node and the new compute node, the scheduler can assign the compute task to the new compute node I and the new compute node II. Then, the management component can create an association between compute node I and cache node A, and an association between compute node II and cache node B. Compute node I can create an access connection with cache node A according to the association, and compute node II can create an access connection with cache node B according to the association. Compute node I and compute node II can then use these access connections to read data from the corresponding cache node and process it, thereby completing the compute task.

[0103] Furthermore, after the computation task is completed, the management component can also release the newly created cache nodes and compute nodes. Specifically, the management component can delete the association between compute node I and cache node A, and compute node I will disconnect from cache node A. Similarly, the management component can delete the association between compute node II and cache node B, and compute node II will disconnect from cache node B.

[0104] For scenarios involving simultaneous scaling up and down of both the computing cluster and the cache cluster, the workflow of the computing service platform can be understood by referring to the signaling diagram shown in Figure 5. Additionally, the flow indicated by the dashed lines in the signaling diagram also illustrates the scenario where scaling up the computing cluster is not performed.

[0105] Furthermore, the computing service platform provided in the above embodiments of this disclosure can be deployed in a server-side device within a cloud computing environment. Users can submit computing tasks to the computing service platform via client devices. Optionally, the aforementioned server-side device can be a cloud server maintained by a cloud service provider—referred to as a node. The client device can be a laptop, tablet, PC, robot, etc.

[0106] In the cloud computing environment shown in Figure 6, there may be a distributed deployment of several computing nodes and cache nodes (201-1, 201-2, ... shown in Figure 6), each node may have computing, storage, and other processing resources. In the cloud computing environment, multiple nodes can be organized to provide a certain service, such as the high-performance computing service mentioned in the embodiments of this disclosure. Of course, a single node can also provide one or more services, such as services A, B, C, and D shown in Figure 6. The way services are provided in the cloud computing environment can be by providing service interfaces to the outside world, allowing client devices to use the corresponding services by calling these service interfaces. Service interfaces include software development kits (SDKs), application programming interfaces (APIs), and other forms.

[0107] The services described above are deployed using various virtualization technologies supported by the cloud computing environment, such as virtual machine-based and container-based virtualization technologies. Taking container-based virtualization technology as an example, several containers corresponding to a service can be assembled into a container group (pod). For example, service B illustrated in Figure 6 can be configured with one or more pods, and each pod can include an agent and one or more containers. The one or more containers in the pod are used to handle requests related to one or more corresponding functions of the service, and the agent in the pod is used to control network functions related to the service, such as routing and load balancing.

[0108] During operation, executing a request from a client device may require calling one or more services in the cloud computing environment. Executing one or more functions of one service may require calling one or more functions of another service. As shown in Figure 6, after receiving a request from a client device, service A can call service B, and service B can request service D to execute one or more functions.

[0109] Based on the above description of the structure and operation of the computing service platform, Figure 7 is a flowchart of a cluster scaling method provided in an embodiment of this disclosure. This method can be executed by the management component in the computing service platform provided in the above embodiments of this disclosure. As shown in Figure 7, the method may include the following steps.

[0110] S101, Obtain the execution status of the computing task. The execution status is determined by the scheduler based on the first specification information of each of the different original cache nodes and the I / O resource requirement information of the computing task. The different original cache nodes are included in the cache cluster, and the resources described by the first specification information are defined as general resources for the scheduler to obtain.

[0111] S102, if the execution status indicates that the first specification information of different original cache nodes does not meet the I / O resource requirements, then a first expansion instruction for the cache cluster is generated to create new cache nodes in the cache cluster using the first expansion instruction, so that the target computing node in the computing cluster can process the data to be processed cached in the new cache node, and the data to be processed corresponds to the computing task.

[0112] In this embodiment, the management and control component can obtain the execution status of the computing tasks reported by the scheduler. When the execution status of a computing task is in a waiting state, the management and control component can generate a first expansion instruction and execute the first expansion instruction to expand the cache cluster. After expansion, the scheduler can allocate computing tasks to target computing nodes in the computing cluster, so that the target nodes can read and process the pending tasks from the newly added cache nodes.

[0113] Optionally, after the target compute node completes the processing of the data to be processed, the scheduler can set the compute task to a completed state. In response to the completion of the compute task, the management component can generate a first scaling-down instruction to release the newly added cache node in the cache cluster.

[0114] After a computation task is submitted to the computation service platform, the scheduler obtains the I / O resource requirements of the computation task contained in the task processing request. Then, the scheduler determines whether the initial specifications of different original cache nodes in the cache cluster meet the I / O resource requirements, and determines the execution status of the computation task based on the determination result. If the initial specifications do not meet the I / O resource requirements, the scheduler sets the computation task to a waiting state.

[0115] In this embodiment, after a computing task is submitted to the scheduler in the computing cluster, when the scheduler sets the computing task to a waiting state based on the I / O resource requirements of the computing task and the first specification information of different original cache nodes in the cache cluster—that is, when the first specification information does not meet the I / O resource requirements—the management component can create a new cache node in the cache cluster. Subsequently, the target node in the computing cluster can process the pending data corresponding to the computing task stored in the newly added cache node.

[0116] Compared to a fixed cache cluster, in the above method, the resources described by the first specification information of the cache nodes are abstracted into general resources that can be collected by the scheduler, allowing the scheduler to more accurately obtain the execution status of computing tasks. Furthermore, the management component can also automatically and elastically scale the cache cluster based on the execution status of computing tasks, improving the utilization rate of cache resources in the computing service platform and reducing storage costs without the user's awareness.

[0117] The above method allows for task-level scaling of cache nodes, meaning that for any computing task submitted to the computing service platform, the method can be used to determine whether to scale the cache nodes, which improves the targeted nature of scaling.

[0118] Furthermore, the contents not described in detail in this embodiment and the technical effects that can be achieved can be found in the relevant descriptions in the above embodiments, and will not be repeated here.

[0119] In the embodiment shown in Figure 7, the scheduler can determine whether the first specification information of different original cache nodes in the cache cluster meets the I / O resource requirements. At the same time, the scheduler can also determine whether the second specification information of different original computing nodes in the computing cluster meets the computing resource requirements of the computing task.

[0120] If the second specification information meets the computing resource requirements, the computing task is set to normal status, and the management platform does not need to expand the computing cluster.

[0121] If the second specification information does not meet the computing resource requirements, the computing task is set to a waiting state. At this time, the management component can generate a second scaling-up instruction to create a new computing node in the computing cluster. Optionally, after the target computing node completes processing the data to be processed, the scheduler can set the computing task to a completed state. In response to the completion of the computing task, the management component can generate a second scaling-down instruction to release the newly added computing node in the computing cluster.

[0122] As can be seen from the above method embodiments, after a computing task is submitted, the scheduler can simultaneously determine whether the first specification information meets the I / O resource requirements and whether the second specification information meets the computing resource requirements. If both the I / O and computing resource requirements are met, the computing task can be set to a normal state; otherwise, it can be set to a waiting state. When the computing task is in a waiting state, the management component can choose to expand the cache cluster and / or computing cluster based on the aforementioned determination results. Furthermore, when the computing task is in a completed state, the management component can also generate a scaling-down instruction to release previously created newly created cache nodes and / or newly created computing nodes.

[0123] Optionally, when the management and control platform expands the cache cluster based on the execution status of the computing task but does not expand the computing cluster, the scheduler can assign the computing task to at least one original computing node in the cache cluster. This at least one original computing node can be the target computing node in the embodiment shown in Figure 7.

[0124] Furthermore, to ensure the normal execution of computing tasks, after the new cache node is created, the management component can optionally create an association between the new cache node and at least one original computing node. At least one original computing node can also create access connections with the new cache node.

[0125] Optionally, when the management and control platform expands both the cache cluster and the computing cluster based on the execution status of the computing tasks, the scheduler can also assign the computing tasks to the target computing nodes. In this case, the target nodes can be newly added computing nodes in the computing cluster, or a combination of at least one original computing node and a newly added computing node in the computing cluster.

[0126] Furthermore, to ensure the normal execution of computing tasks, optionally, after the creation of new cache nodes and new compute nodes, the management component can also establish an association between the new cache nodes and the cache nodes storing the data to be processed corresponding to the computing tasks. Subsequently, the new compute node can also create an access connection between itself and the cache nodes storing the data to be processed corresponding to the computing tasks, based on the aforementioned association. The cache node storing the data to be processed can be a combination of at least one original cache node and a new cache node in the cache cluster.

[0127] Optionally, when the management and control platform expands the computing cluster according to the execution status of computing tasks, the scheduler can also allocate computing tasks to target computing nodes. At this time, the target node can be a newly added computing node in the computing cluster, or it can be a combination of at least one original computing node and a newly added computing node in the computing cluster.

[0128] Furthermore, to ensure the normal execution of computing tasks, the management component can optionally establish associations between newly added cache nodes and cache nodes storing the data to be processed corresponding to the computing tasks. Subsequently, newly added computing nodes can create access connections between themselves and the cache nodes storing the data to be processed corresponding to the computing tasks, based on these associations. The cache node storing the data to be processed can be at least one original cache node in the cache cluster.

[0129] In the various situations described above, the specific creation process of the association and access connection can be found in the descriptions of the relevant embodiments above, and will not be repeated here.

[0130] In this embodiment, the specification information, after being abstracted into general resources, can be collected by the scheduler. This allows the scheduler to accurately determine the execution status of computing tasks, enabling the management platform to scale up and down the cache cluster and / or computing cluster in real time. Furthermore, after scaling up or down, the management platform and nodes can achieve normal execution of computing tasks through association relationships and access connections.

[0131] Figure 8 is a flowchart of another cluster scaling method provided in an embodiment of this disclosure. This method can be executed by the scheduler in the computing service platform provided in the above embodiments of this disclosure. As shown in Figure 8, the method may include the following steps.

[0132] S201, in response to receiving the computing task, collects the first specification information of each of the different original cache nodes in the cache cluster. The resources described by the first specification information are defined as general resources for the scheduler to collect.

[0133] S202, determine the execution status of the computing task based on the first specification information of each original cache node and the I / O resource requirements of the computing task.

[0134] S203, if the execution status indicates that the first specification information of different original cache nodes does not meet the I / O resource requirements, then after creating a new cache node in the cache cluster, the computing task is assigned to the target computing node in the computing cluster, so that the target computing node processes the data to be processed in the new cache node, and the data to be processed corresponds to the computing task.

[0135] In this embodiment, since the specification information of cache nodes is defined as a general resource, the scheduler can collect the specification information of cache nodes and compare it with I / O resource information to determine the execution status of the computing task. When the execution status indicates that the first specification information of different original cache nodes does not meet the I / O resource requirements, the execution status is a waiting state. At this time, after the management platform expands the cache cluster and / or computing cluster, the scheduler can further allocate the computing task to the target computing node so that the target node can compute and execute the computing task.

[0136] Furthermore, any content not described in detail in this embodiment, as well as the technical effects that can be achieved, can be found in the relevant descriptions of the above embodiments, and will not be repeated here.

[0137] It should be noted that although the executing entity of each step is specified in the description of the steps provided in the above embodiments, this disclosure does not limit the steps in the above method embodiments to the same device. That is, the steps in the method embodiments can be executed by the same device, or the method can be executed by different devices. For example, the executing entity of steps S101 to S103 can be device A; or the executing entity of steps S101 and S102 can be device A, and the executing entity of step S103 can be device B; and so on.

[0138] Furthermore, in some of the processes described in the above embodiments and accompanying drawings, multiple operations appear in a specific order. However, it should be clearly understood that these operations may not be executed in the order they appear in this document, or they may be executed in parallel. The operation numbers, such as S101, S102, etc., are merely used to distinguish different operations and do not represent any execution order. Additionally, these processes may include more or fewer operations, and these operations may be executed sequentially or in parallel. It should be noted that the descriptions such as "first" and "second" in this document are used to distinguish different messages, devices, modules, etc., and do not represent a sequential order, nor do they limit "first" and "second" to different types.

[0139] In one possible design, the cluster scaling methods provided in the above embodiments can be applied to an electronic device. This electronic device can be a management component in a computing service platform, wherein the computing service platform further includes a cache cluster and a computing cluster, and the computing cluster includes a scheduler.

[0140] As shown in Figure 9, the electronic device may include a processor 21 and a memory 22. The memory 22 is used to store programs that support the electronic device in executing the cluster scaling method provided in the embodiment shown in Figure 7, and the processor 21 is configured to execute the programs stored in the memory 22.

[0141] The program includes one or more computer instructions, wherein when the one or more computer instructions are executed by the processor 21, they can achieve the following steps: obtaining the execution status of the computing task, the execution status being determined by the scheduler based on the first specification information of each of the different original cache nodes and the I / O resource requirement information of the computing task, the different original cache nodes being included in the cache cluster, and the first specification information being defined as a general resource for the scheduler to obtain; if the execution status indicates that the first specification information of each of the different original cache nodes does not meet the I / O resource requirement information, then generating a first expansion instruction for the cache cluster to create the new cache node in the cache cluster, so that the target computing node in the computing cluster processes the data to be processed cached in the new cache node, the data to be processed corresponding to the computing task.

[0142] Optionally, the target computing node includes newly added computing nodes in the computing cluster.

[0143] Processor 21 can also be used to: obtain the execution status of the computing task, the execution status being determined by the scheduler based on the second specification information of each of the different original computing nodes and the computing resource requirement information of the computing task, the different original computing nodes being included in the computing cluster; if the execution status indicates that the second specification information of each of the different original computing nodes in the computing cluster does not meet the computing resource requirement information, then generate a second expansion instruction for the computing cluster to create a new computing node in the computing cluster; create an association relationship between the new computing node and the new cache node, so that the new computing node obtains the data to be processed from the new cache node according to the association relationship with the new cache node.

[0144] Optionally, the target computing node includes at least one original computing node in the computing cluster.

[0145] Processor 21 can also be used to: if the execution state indicates that the second specification information of at least one original computing node in the computing cluster meets the computing resource requirement information, then create an association between the at least one original computing node and the newly added cache node, so that the at least one original computing node obtains the data to be processed from the newly added cache node according to the association with the newly added cache node.

[0146] Optionally, the processor 21 can also be used to: in response to the completion of the computing task, generate a first shrinkage instruction for the cache cluster and a second shrinkage instruction for the computing cluster, so as to release the newly added cache node using the first shrinkage instruction and release the newly added computing node using the second shrinkage instruction.

[0147] Optionally, the processor 21 is also used to perform all or part of the steps in the embodiment shown in FIG7 above.

[0148] Optionally, the electronic device shown in FIG9 can also be a scheduler in a computing service platform. The memory 22 in the electronic device is used to store programs that support the electronic device in executing the cluster scaling method provided in the embodiment shown in FIG8 above, and the processor 21 is configured to execute the programs stored in the memory 22.

[0149] The program includes one or more computer instructions, wherein when the one or more computer instructions are executed by the processor 21, they can perform the following steps: in response to the receipt of a computing task, collecting first specification information of each of the different original cache nodes in the cache cluster, wherein the resources described by the first specification information are defined as general resources for the scheduler to collect; determining the execution status of the computing task based on the first specification information of each of the different original cache nodes and the I / O resource requirement information of the computing task; if the execution status indicates that the first specification information of each of the different original cache nodes does not meet the I / O resource requirement information, then after creating a new cache node in the cache cluster, the computing task is assigned to a target computing node in the computing cluster, so that the target computing node processes the data to be processed in the new cache node, wherein the data to be processed corresponds to the computing task.

[0150] Optionally, the processor 21 is also used to perform all or part of the steps in the embodiment shown in FIG8 above.

[0151] The structure of the electronic device may also include other components such as a communication component 23, a display 24, a power supply component 25, and an audio component 26.

[0152] Figure 9 only schematically shows some components and does not imply that the electronic device includes only the components shown in Figure 9. Furthermore, the components in Figure 9 are optional, not mandatory, and their specific inclusion depends on the product form of the electronic device. The electronic device in this embodiment can be a conventional server, cloud server, or server array, or other server-side equipment.

[0153] The processor 21 can be any hardware processing device capable of executing the above-described method logic. Optionally, the processor can be a CPU, a graphics processing unit (GPU), or a microcontroller unit (MCU); it can also be a field-programmable gate array (FPGA), a programmable array logic (PAL), a general array logic (GAL), a complex programmable logic device (CPLD), or other programmable devices; or it can be an advanced RISC machine (ARM) or a system on chip (SoC), etc., but is not limited to these.

[0154] The aforementioned memory 22 can be implemented by any type of volatile or non-volatile storage device or a combination thereof, such as Static Random-Access Memory (SRAM), Electrically Erasable Programmable Read Only Memory (EEPROM), Erasable Programmable Read Only Memory (EPROM), Programmable Read-Only Memory (PROM), Read-Only Memory (ROM), magnetic storage, flash memory, magnetic disk, or optical disk.

[0155] The aforementioned communication component 23 is configured to facilitate wired or wireless communication between the device containing the communication component and other devices. The device containing the communication component can access wireless networks based on communication standards, such as WiFi, 2G, 3G, 4G / LTE, 5G, or combinations thereof. In one exemplary embodiment, the communication component receives broadcast signals or broadcast-related information from an external broadcast management system via a broadcast channel. In one exemplary embodiment, the communication component also includes a Near Field Communication (NFC) module to facilitate short-range communication. For example, the NFC module may be implemented based on Radio Frequency Identification (RFID), Infrared Data Association (IRDA) technology, Ultra Wide Band (UWB) technology, Bluetooth (BT) technology, and other technologies.

[0156] The aforementioned display 24 includes a screen, which may include a Liquid Crystal Display (LCD) and a Touch Panel (TP). If the screen includes a Touch Panel, the screen can be implemented as a touchscreen to receive input signals from the user. The Touch Panel includes one or more touch sensors to sense touches, swipes, and gestures on the Touch Panel. The touch sensors can sense not only the boundaries of touch or swipe actions but also the duration and pressure associated with the touch or swipe operation.

[0157] The aforementioned power supply component 25 provides power to various components of the device in which it resides. The power supply component may include a power management system, one or more power supplies, and other components associated with generating, managing, and distributing power to the device in which it resides.

[0158] The audio component 26 described above can be configured to output and / or input audio signals. For example, the audio component includes a microphone (MIC) configured to receive external audio signals when the device containing the audio component is in an operating mode, such as call mode, recording mode, or voice recognition mode. The received audio signals can be further stored in memory or transmitted via a communication component. In some embodiments, the audio component also includes a speaker for outputting audio signals.

[0159] Accordingly, this disclosure also provides a computer-readable storage medium storing a computer program, which, when executed by a processor, enables the processor to implement the steps in the above-described method embodiments. The computer-readable storage medium includes volatile or non-volatile or a combination thereof, and may be removable or non-removable. Examples of computer-readable storage media include, but are not limited to, phase-change random access memory (PRAM), SRAM, dynamic random access memory (DRAM), other types of random-access memory (RAM), ROM, EEPROM, EPROM, PROM, flash memory or other memory technologies, CD-ROM, Digital Video Disc (DVD) or other optical storage, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other non-transmission medium.

[0160] Accordingly, this disclosure also provides a computer program product, which includes a computer program or instructions that, when executed by a processor, enable the processor to implement the steps in the above method embodiments. These computer programs or instructions can be applied to the processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing device, enabling the processor of such a device to function as an apparatus for implementing the corresponding functions in the above method embodiments.

[0161] Furthermore, the specific implementation form of the computer program product is not limited in the embodiments disclosed herein. In some embodiments, the computer program product may be implemented as an application (APP), a mini-program, a PC client, a program module, a plug-in, an installation package, a software development kit (SDK), an image file of an optical disc (such as an ISO file), a plug-in, or software in the form of Software as a Service (SaaS), etc., but is not limited thereto.

[0162] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of this disclosure, and are not intended to limit them. Although this disclosure has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some of the technical features. Such modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the spirit and scope of the technical solutions of the embodiments of this disclosure.

Claims

A cluster scaling method, wherein, The method is applied to a management component in a computing service platform, which further includes a cache cluster, a computing cluster, and a scheduler; the method includes: The execution status of the computing task is obtained. The execution status is determined by the scheduler based on the first specification information of each of the different original cache nodes and the input and output resource requirements of the computing task. The different original cache nodes are included in the cache cluster. The resources described by the first specification information are defined as general resources that can be obtained by the scheduler. If the execution status indicates that the first specification information of each of the different original cache nodes does not meet the input and output resource requirements, a first expansion instruction is generated for the cache cluster to create a new cache node in the cache cluster, so that the target computing node in the computing cluster processes the data to be processed cached in the new cache node, and the data to be processed corresponds to the computing task. The method of claim 1, wherein, The target computing node includes newly added computing nodes in the computing cluster; the method further includes: The execution status of the computing task is obtained. The execution status is determined by the scheduler based on the second specification information of each of the different original computing nodes and the computing resource requirement information of the computing task. The different original computing nodes are included in the computing cluster. If the execution status indicates that the second specification information of each of the different original computing nodes in the computing cluster does not meet the computing resource requirement information, then a second expansion instruction for the computing cluster is generated to create new computing nodes in the computing cluster using the second expansion instruction; An association is created between the newly added computing node and the newly added cache node, so that the newly added computing node can obtain the data to be processed from the newly added cache node according to the association with the newly added cache node. The method of claim 2, wherein, The target computing node includes at least one original computing node in the computing cluster; the method further includes: If the execution status indicates that the second specification information of at least one original computing node in the computing cluster meets the computing resource requirement information, then an association is created between the at least one original computing node and the newly added cache node, so that the at least one original computing node obtains the data to be processed from the newly added cache node according to the association with the newly added cache node. The method of claim 2, wherein, The method further includes: In response to the completion of the computing task, a first shrinkage instruction for the cache cluster and a second shrinkage instruction for the computing cluster are generated, so as to release the newly added cache node using the first shrinkage instruction and release the newly added computing node using the second shrinkage instruction. A cluster scaling method, wherein, A scheduler applied in a computing service platform, the computing service platform further including a cache cluster, a computing cluster, and a management and control component; the method includes: In response to the receipt of a computing task, the first specification information of each of the different original cache nodes in the cache cluster is collected, and the resources described by the first specification information are defined as general resources for the scheduler to collect. The execution status of the computing task is determined based on the first specification information of each of the different original cache nodes and the input and output resource requirements of the computing task. If the execution status indicates that the first specification information of each of the different original cache nodes does not meet the input and output resource requirements, then after creating a new cache node in the cache cluster, the computing task is assigned to the target computing node in the computing cluster, so that the target computing node processes the data to be processed in the new cache node, and the data to be processed corresponds to the computing task. A computing services platform, comprising: Compute clusters, cache clusters, and management components; The scheduler in the computing cluster is used to obtain the input and output resource requirements of the computing tasks and the first specification information of each of the different original cache nodes in the cache cluster; determine whether the first specification information meets the input and output resource requirements, and the resources described by the first specification information are defined as general resources for the scheduler to collect. The control component is used to generate a first expansion instruction for the cache cluster if the first specification information of the different original cache nodes does not meet the input and output resource requirements information, so as to create a new cache node in the cache cluster using the first expansion instruction. The target computing node in the computing cluster is used to process the data to be processed cached in the newly added cache node, and the data to be processed corresponds to the computing task. The platform of claim 6, wherein The target computing node includes at least one original computing node in the computing cluster; The scheduler is used to obtain the computing resource requirement information of the computing task, as well as the second specification information of each of the different original computing nodes in the computing cluster. The resources described by the second specification information are defined as general resources for the scheduler to collect. If the second specification information of the target computing node meets the computing resource requirement information, then the computing task is assigned to the target computing node. The platform of claim 7, wherein, The control component is used to create the association between the target computing node and the newly added cache node; The target computing node is used to create an access connection between the target computing node and the new cache node according to the association relationship between the target computing node and the new cache node; and to read the data to be processed from the new cache node using the access connection. The platform of claim 7, wherein, The control component is used to create the association between the target computing node and the newly added cache node, and the association between the target computing node and the original cache node in the cache cluster. The target computing node is used to create an access connection between the target computing node and the new cache node according to the association relationship with the new cache node, and to create an access connection between the target computing node and the original cache node according to the association relationship with the original cache node; Data is read from the newly added cache node using the access connection between the new cache node and the new cache node. Data is read from the original cache node using the access connection between the original cache node and the cache node. The platform of any one of claims 6 to 9, wherein, The scheduler is also used to monitor the execution status of the computing task; The control component is used to generate a first scaling-down instruction for the cache cluster when the execution status of the computing task is completed, and to execute the first scaling-up instruction to release the newly added cache nodes in the cache cluster. The platform of claim 6, wherein, The target computing node includes newly added computing nodes in the computing cluster; The control component is configured to generate a second expansion instruction for the computing cluster if the second specification information of different original computing nodes in the computing cluster does not meet the computing resource requirements information, so as to create the new computing node in the computing cluster using the second expansion instruction; and to create an association between the new computing node and the new cache node. The scheduler is configured to allocate the computing tasks to the target computing node in response to the creation of the new computing node; The newly added computing node is used to respond to the allocation of the computing task and, according to the association relationship with the newly added cache node, create an access connection between the newly added computing node and the newly added cache node. The platform of claim 11, wherein, The control component is used to create the association between the newly added computing node and the original cache node; The newly added computing node is used to create an access connection between the newly added computing node and the original cache node according to the association relationship between the new computing node and the original cache node; Data is read from the newly added cache node using the access connection between the newly added cache node and the original cache node using the access connection between the newly added cache node and the original cache node. The data to be processed includes data read from both the newly added cache node and the original cache node. The platform of claim 11, wherein, The target computing node also includes at least one original computing node in the computing cluster; The control component is used to create associations between the at least one original computing node and the newly added cache node; Any one of the at least one original computing nodes is used to create an access connection with the new cache node based on the association between the original computing node and the new cache node; and to read data from the new cache node using the access connection with the new cache node, wherein the data to be processed includes the data read from the new cache node. The platform of claim 13, wherein, The control component is used to create associations between the at least one original computing node and the original cache node, as well as associations between the newly added computing node and the original cache node; Each of the original computing nodes is used to create an access connection with the original cache node based on the association relationship with the original cache node; and to read data from the original cache node using the association relationship with the original cache node; The newly added computing node is used to create an access connection with the original cache node based on the association relationship with the original cache node; and to read data from the original cache node using the access connection with the original cache node, wherein the data to be processed includes data read from the at least one original cache node and the newly added cache node. The platform of any one of claims 11 to 14, wherein The control component is further configured to generate a second scaling-down instruction for the computing cluster in response to the completion of the computing task, so as to release the newly added computing nodes in the computing cluster using the second scaling-down instruction. The platform according to claim 10 or 15, wherein, The control component is also used to delete the associations containing the newly added cache node and the associations containing the newly added compute node; The original computing node in the computing cluster is used to disconnect the access connection with the newly added cache node if the execution status of the computing task is completed. The newly added computing node is used to disconnect the access connection between the computing task and different cache computing nodes in the cache cluster if the execution status of the computing task is completed. The platform of claim 6, wherein, The platform also includes a distributed storage system for storing the data to be processed, the intermediate data corresponding to the computing task, and the result data. An electronic device, comprising: A memory and a processor; wherein the memory stores executable code, and when the executable code is executed by the processor, the processor performs the cluster scaling method as described in any one of claims 1 to 5. A non-transitory machine-readable storage medium, wherein The non-transitory machine-readable storage medium stores executable code that, when executed by a processor of an electronic device, causes the processor to perform the cluster scaling method as described in any one of claims 1 to 5. A computer program product, wherein, The computer program product includes a computer program or instructions that enable the computer program or instructions to implement the cluster scaling method according to any one of claims 1 to 5.