A cluster scheduling method, apparatus, electronic device, and program product

By leveraging neural network prediction models and node type matching in Kubernetes, the shortcomings of existing scheduling strategies in resource balancing and performance in complex business scenarios are addressed, achieving better container group scheduling and performance adaptation.

CN122285262APending Publication Date: 2026-06-26CHINA MOBILE (SUZHOU) SOFTWARE TECH CO LTD +1

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
CHINA MOBILE (SUZHOU) SOFTWARE TECH CO LTD
Filing Date
2026-03-05
Publication Date
2026-06-26

AI Technical Summary

Technical Problem

Existing Kubernetes scheduling strategies fail to effectively balance resource balancing and actual application performance in complex and ever-changing business scenarios, especially neglecting the differentiated needs of different types of applications for resources such as disk I/O and network bandwidth.

Method used

By acquiring the resource requirements and node status information of the container group, a neural network prediction model is used to predict the application performance indicators of the container group on candidate nodes. Combined with node type matching and weight configuration, the optimal target node is selected for scheduling, and the model is updated by monitoring the actual performance indicators.

Benefits of technology

It enables better resource allocation in complex application scenarios, improves the actual performance of container groups, adapts to changes in cluster load, and meets the needs of different types of applications.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122285262A_ABST
    Figure CN122285262A_ABST
Patent Text Reader

Abstract

This application discloses a cluster scheduling method, apparatus, electronic device, and program product, relating to the field of cloud computing technology. The method includes: acquiring resource requirement information of a container group to be scheduled in the cluster and resource status information of each worker node; filtering worker nodes based on the resource requirement information and resource status information to obtain a candidate node set; predicting application performance indicators of the container group running on each candidate node based on a neural network prediction model and the resource status information of each worker node in the candidate node set; selecting a target node from the candidate node set based on the predicted application performance indicators; and scheduling the container group to the target node. The technical solution of this application can balance the resources in the cluster with the actual operating performance of the application, effectively achieving accurate and efficient cluster scheduling.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of cloud computing technology, and in particular to a cluster scheduling method, apparatus, electronic device, and program product. Background Technology

[0002] In the field of containerized application scheduling, Kubernetes, as the mainstream container orchestration system, relies on its default scheduler's resource allocation strategy to achieve cluster load balancing. However, existing scheduling strategies still have significant limitations when applied to complex and ever-changing business scenarios: for example, they have a single scheduling objective, mainly focusing on the static balancing of CPU and memory resources among nodes, while ignoring the differentiated needs of different types of applications for resources such as disk I / O and network bandwidth, and their scheduling decisions do not take into account the actual performance of the application.

[0003] Therefore, there is an urgent need for a Kubernetes cluster scheduling method that can adapt to complex application requirements and balance resource balancing with actual application performance. Summary of the Invention

[0004] This application provides a cluster scheduling method, apparatus, electronic device, and program product.

[0005] Firstly, this application provides a cluster scheduling method, including: Obtain resource requirements information for the container groups to be scheduled in the cluster, as well as resource status information for each worker node in the cluster; Based on the resource requirements of the container group to be scheduled and the resource status information of each worker node, the worker nodes are filtered to obtain a set of candidate nodes. Based on the neural network prediction model, the application performance indicators of the container group to be scheduled running on each candidate node are predicted according to the resource status information of each working node in the candidate node set. Based on the predicted application performance metrics, the target node is selected from the candidate node set. Schedule the container group to be scheduled to the target node.

[0006] In some embodiments, resource status information includes at least one of processor, memory, disk, and network bandwidth.

[0007] In some embodiments, worker nodes are filtered based on the resource requirement information of the container group to be scheduled and the resource status information of each worker node, including: Based on the resource configuration of the work nodes, the work nodes are classified into different types; The type of container group to be scheduled is determined based on the resource requirement information of the container group to be scheduled. Configure corresponding weight coefficients for different types of worker nodes based on the type of container group to be scheduled; Based on the resource status information of each working node, calculate the degree of difference in resource utilization rate of each resource; Based on the weighting coefficient and the degree of difference index, the score of each working node is calculated, and the working nodes whose score results meet the preset conditions are included in the candidate node set.

[0008] In some embodiments, the type of worker node includes at least one of compute node, balancer node, and storage node; the type of container group to be scheduled includes at least one of compute container group, balancer container group, and storage container group.

[0009] In some embodiments, the training process of the neural network prediction model includes: Collect historical scheduling data, which includes resource status information and corresponding application performance metrics when the container group runs on each worker node. Using the resource availability rate calculated based on resource status information as the input feature and the corresponding application performance index as the output target, a neural network prediction model is trained. Application performance metrics should include at least the number of transactions per second.

[0010] In some embodiments, after scheduling the group of containers to be scheduled to the target node, the method further includes: Monitor the actual application performance metrics of the container group on the target node; The training samples of the neural network prediction model are updated based on the performance indicators of real-world applications.

[0011] Secondly, this application provides a cluster scheduling device, comprising: The information acquisition module is configured to acquire resource requirement information of the container group to be scheduled in the cluster, as well as resource status information of each worker node in the cluster. The initial screening module is configured to filter worker nodes based on the resource requirement information of the container group to be scheduled and the resource status information of each worker node, and obtain a set of candidate nodes. The performance prediction module is configured to predict the application performance metrics of the container group to be scheduled on each candidate node based on the resource status information of each working node in the candidate node set. The target decision module is configured to select a target node from the candidate node set based on the predicted application performance indicators. The scheduling execution module is configured to schedule the container group to be scheduled to the target node.

[0012] In some embodiments, the initial screening module includes: The type classification submodule is configured to classify work nodes by type based on their resource configuration. The type determination submodule is configured to determine the type of the container group to be scheduled based on the resource requirement information of the container group to be scheduled. The weight configuration submodule is configured to assign corresponding weight coefficients to different types of worker nodes based on the type of the container group to be scheduled. The difference calculation submodule is configured to calculate the degree of difference in resource utilization of each resource based on the resource status information of each working node. The scoring calculation submodule is configured to calculate the score of each working node based on the weight coefficient and the degree of difference index, and to include the working nodes whose scoring results meet the preset conditions into the candidate node set.

[0013] Thirdly, this application provides an electronic device, including a processor and a memory, wherein the memory stores a computer program, and the processor executes the computer program to implement any of the cluster scheduling methods.

[0014] Fourthly, this application provides a computer program product, including a computer-readable storage medium on which a computer program is stored, wherein the computer program, when executed by a processor, implements any one of the cluster scheduling methods.

[0015] The above-mentioned at least one technical solution adopted in the embodiments of this application can achieve the following beneficial effects: by comprehensively considering the resource status information such as processor, memory, disk and network bandwidth, and combining the type matching of container groups and worker nodes, weight coefficient configuration and resource utilization difference indicators in the initial screening stage, the screening results are more in line with the resource requirements of different types of applications; on this basis, the neural network prediction model is used to predict the application performance indicators of the container group at runtime based on the resource status information of the candidate nodes, so that the scheduling of the container group can provide target nodes with better actual performance; and by monitoring the actual performance indicators of the container group after scheduling, the training samples of the model are further updated, so that the prediction model can continuously adapt to the changes in cluster load, and the cluster scheduling can be more adaptable to different types of complex application scenarios.

[0016] It should be understood that both the foregoing general description and the following detailed description are exemplary and intended to provide further illustration of the claimed technology. Attached Figure Description

[0017] The above and other objects, features, and advantages of this application will become more apparent from the more detailed description of the embodiments of this application in conjunction with the accompanying drawings. The accompanying drawings are used to provide a further understanding of the embodiments of this application and form part of the specification. They are used together with the embodiments of this application to explain this application and do not constitute a limitation thereof. In the accompanying drawings, the same reference numerals generally represent the same components or steps.

[0018] Figure 1 This illustration schematically shows an overall flowchart of a cluster scheduling method according to an embodiment of this application; Figure 2 This illustration schematically shows a preliminary screening process for worker nodes in a cluster scheduling method according to an embodiment of this application. Figure 3 This illustration schematically shows a flowchart of an application performance index prediction method for a cluster scheduling method according to an embodiment of this application. Figure 4 This illustration schematically shows a target node selection process of a cluster scheduling method according to an embodiment of this application; Figure 5 This illustration schematically shows a container group scheduling process of a cluster scheduling method according to an embodiment of this application; Figure 6 This illustration schematically shows a neural network prediction model training process for a cluster scheduling method according to an embodiment of this application; Figure 7 This illustration schematically shows an iterative update process of a neural network prediction model for a cluster scheduling method according to an embodiment of this application. Figure 8 This schematic diagram illustrates the overall structure of a cluster scheduling device according to an embodiment of this application. Figure 9 This illustration schematically shows a preliminary screening module structure of a cluster scheduling device according to an embodiment of this application; Figure 10 An exemplary block diagram of a computer program product of a cluster scheduling method according to an embodiment of this application is shown schematically.

[0019] In the diagram: 801, Information Acquisition Module; 802, Initial Screening Module; 803, Performance Prediction Module; 804, Target Decision Module; 805, Scheduling and Execution Module; 806, Type Classification Submodule; 807, Type Determination Submodule; 808, Weight Configuration Submodule; 809, Difference Calculation Submodule; 810, Scoring Calculation Submodule; 1001, Computer Program. Detailed Implementation

[0020] To make the objectives, technical solutions, and advantages of this application more apparent, exemplary embodiments according to this application will be described in detail below with reference to the accompanying drawings. Obviously, the described embodiments are merely some embodiments of this application, and not all embodiments of this application. It should be understood that this application is not limited to the exemplary embodiments described herein.

[0021] Figure 1 The illustration shows an overall flowchart of a cluster scheduling method according to an embodiment of this application.

[0022] like Figure 1 As shown, the steps include: S101: Obtain resource requirement information for the container group to be scheduled in the cluster and resource status information for each worker node. The resource requirement information includes the requested and limited amounts of processors, memory, disks, and network bandwidth for the container group to be scheduled; the resource status information includes the current processor utilization, memory utilization, disk utilization, and network bandwidth utilization of each worker node, used to characterize the real-time resource load status of each worker node.

[0023] S102, based on the resource requirement information of the container group to be scheduled and the resource status information of each worker node, the worker nodes are filtered to obtain a candidate node set. This filtering process comprehensively considers the resource requirement information of the container group to be scheduled and the resource status information of the worker nodes, excluding worker nodes whose resources do not meet the basic requirements of the container group to be scheduled, and further scoring based on the node type matching relationship and the balance of resource utilization, including worker nodes whose scores reach a preset threshold into the candidate node set, providing a high-quality candidate node set for subsequent performance prediction.

[0024] S103, based on a neural network prediction model, predicts the application performance metrics of the container group to be scheduled running on each candidate node according to the resource status information of each worker node in the candidate node set. The neural network prediction model uses the resource status information of each candidate node as a basis to calculate the corresponding resource availability as an input feature. It performs forward inference through the model parameters obtained by offline training and outputs the predicted application performance metrics of the container group to be scheduled running on each candidate node. The predicted application performance metrics include at least the transaction processing per second, which are used to quantify the expected business performance of the container group on the target node.

[0025] S104. Based on the predicted application performance metrics, select the target node from the candidate node set. Compare the predicted application performance metrics corresponding to each candidate node, and prioritize the worker node with the best predicted application performance metrics as the target node to ensure that the container group is scheduled to the worker node that can provide the best business performance.

[0026] S105 schedules the container group to be scheduled to the target node. Then, it allocates the necessary computing, storage, and network resources to the container group on the target node, completing the deployment and startup of the container group.

[0027] Figure 2 The illustration shows a schematic diagram of the initial screening process of worker nodes in a cluster scheduling method according to an embodiment of this application.

[0028] like Figure 2 As shown, the steps include: S201. Classify the worker nodes according to their resource configuration. Specifically, based on the hardware resource configuration characteristics of each worker node, classify them into different types. For example, nodes configured with high-performance processors and large-capacity memory, but with average disk and network performance, are classified as compute-type nodes; nodes with relatively balanced performance in processor, memory, disk, and network bandwidth are classified as balanced nodes; and nodes with average processor and memory performance, but with high-performance disks and high-speed network bandwidth, are classified as storage-type nodes.

[0029] S202, Based on the resource requirement information of the container groups to be scheduled, determine the type of the container groups to be scheduled. The type of the container group to be scheduled is determined according to the relative relationship between the requested and limited amounts of processor, memory, disk, and network bandwidth in its resource requirement information; when the container group to be scheduled has high requirements for processor and memory resources, it is determined as a compute-type container group; when the container group to be scheduled has relatively balanced requirements for various resources, it is determined as a balanced container group; when the container group to be scheduled has high requirements for disk resources, it is determined as a storage-type container group, so that the container group type matches the business load characteristics.

[0030] S203, Configure corresponding weight coefficients for different types of worker nodes based on the type of the container group to be scheduled. Differentiated weight coefficients are configured for each type of worker node in different types of container groups to be scheduled. For example, when the container group to be scheduled is a compute-type container group, a higher weight coefficient is configured for compute-type nodes and a lower weight coefficient is configured for storage-type nodes; when the container group to be scheduled is a storage-type container group, the weight coefficient of the storage-type nodes is increased accordingly, so that worker nodes with high type matching degree receive higher priority in the scoring.

[0031] S204. Based on the resource status information of each worker node, calculate the resource utilization difference index for each resource. Based on the resource status information of the worker nodes, calculate the resource utilization of processor, memory, disk, and network bandwidth respectively, and further calculate the difference index between the utilization rates of each resource. The difference index between the utilization rates of each resource reflects the balance of multi-dimensional resource usage on the worker nodes. The smaller the difference index, the more balanced the resource utilization, and the better it is to avoid the constraint of a single resource bottleneck on the performance of the container group.

[0032] (Formula 1) For example, Formula 1 is used as the formula for calculating the degree of difference in resource utilization. Wherein, It indicates the degree of difference in resource utilization of a certain working node, and is used to characterize the balance of multi-dimensional resource use of the node; This indicates the number of resource types involved in the computation, corresponding to the resources mentioned above, such as processors, memory, disks, and network bandwidth. This indicates the working node number. Resource utilization rate of the resource type; This represents the average utilization rate of each resource in the work node, obtained by calculating the arithmetic mean of the utilization rates of each resource. The formula quantifies the dispersion of resource utilization rates using the standard deviation; the closer the result is to 0, the more balanced the load on various resources within the work node.

[0033] S205, based on the weight coefficients and the degree of difference, calculate the score of each working node, and include working nodes whose score results meet the preset conditions into the candidate node set. Specifically, for each working node, obtain its corresponding node weight coefficient according to its node type, and calculate the degree of difference in resource utilization of each working node, score it, and include working nodes whose scores meet the preset score threshold into the candidate node set.

[0034] (Formula 2) For example, Formula 2 is used as the formula for calculating the work node score. Wherein, This represents the final score of a worker node, which is used to measure the node's compatibility with the container group to be scheduled and its own resource load balancing. The higher the score, the better the node's compatibility. This represents the weight coefficient corresponding to the working node; This serves as an indicator of the degree of difference in resource utilization at each work node. This represents the maximum difference in resource utilization among all worker nodes in the cluster. It is used to normalize the degree of difference and ensure that the scoring results are within a reasonable range.

[0035] Figure 3 The illustration shows a schematic diagram of the application performance index prediction process of a cluster scheduling method according to an embodiment of this application.

[0036] like Figure 3 As shown, the steps include: S301, Obtain the resource status information of each worker node in the candidate node set. Specifically, for each worker node that has passed the initial screening process and been included in the candidate node set, obtain its current resource status information. This resource status information includes at least processor utilization, memory utilization, disk utilization, and network bandwidth utilization, which are used to characterize the real-time load of each resource of the worker node.

[0037] S302, based on the resource status information of each worker node, calculate the corresponding resource availability. Specifically, for each worker node in the candidate node set, calculate the processor availability, memory availability, disk availability, and network bandwidth availability based on the current usage of various resources contained in its resource status information and the total capacity of each type of resource of the worker node. Resource availability is used to characterize the proportion of remaining resources of a worker node that can still be used by the container group under the current load state. Resource availability will be used as an input feature of the neural network prediction model to quantify the worker node's ability to support the performance of the container group.

[0038] (Formula 3) For example, Formula 3 is used as the formula for calculating resource availability, where, It represents the resource availability rate of a certain type of resource, and is used to characterize the remaining proportion of that type of resource that can be allocated to the container group to be scheduled by the current worker node; This indicates the resource utilization rate of this type of resource, that is, the actual proportion of this type of resource currently occupied by the working node.

[0039] S303, the resource availability of each worker node is input into the neural network prediction model to obtain the predicted application performance indicators of the container group to be scheduled running on each candidate node. Specifically, the processor availability, memory availability, disk availability, and network bandwidth availability of each candidate worker node are used as input feature vectors and input into the pre-trained neural network prediction model. This neural network prediction model, through forward propagation calculation, outputs the expected application performance indicators that the container group to be scheduled will achieve after deployment and operation on that worker node. These predicted application performance indicators include at least the transaction processing per second (TPS), used to quantify the expected business processing capacity of the container group on that worker node.

[0040] Figure 4 The illustration shows a target node selection process of a cluster scheduling method according to an embodiment of this application.

[0041] like Figure 4 As shown, the steps include: S401, Obtain the predicted application performance metrics for each candidate node in the candidate node set. Specifically, for each candidate worker node after the application performance metric prediction process, obtain its corresponding predicted application performance metric. This predicted application performance metric is calculated and generated by a neural network prediction model based on the availability of each resource of the worker node, and includes at least the transaction processing per second, to quantify the expected business processing capacity after the container group to be scheduled is deployed and run on the worker node.

[0042] S402, compare and rank the predicted application performance metrics of each candidate node. Specifically, sort the predicted application performance metrics of all working nodes in the candidate node set according to their numerical values ​​to determine the relative superiority or inferiority of each candidate node in terms of expected business performance.

[0043] S403: The candidate node with the best predicted application performance index is determined as the target node. Specifically, based on the ranking results, the worker node with the highest predicted application performance index value is determined as the target node for the container group to be scheduled, and the container group to be scheduled is subsequently deployed to the target node.

[0044] Figure 5 The illustration shows a schematic diagram of a container group scheduling process according to an embodiment of the present application.

[0045] like Figure 5 As shown, the steps include: S501: Obtain the configuration information of the container group to be scheduled and the resource deployment information of the matching target node. Specifically, after the target node is determined, obtain the complete configuration information of the container group to be scheduled. This configuration information includes at least the container image, startup command, environment variables, storage volume mount, and network port mapping parameters. At the same time, obtain the resource deployment information of the target node, including the remaining resource capacity of the node, such as processors, memory, disk, and network bandwidth, as well as the network resource information such as the allocated IP address and port range.

[0046] S502, based on the configuration and resource deployment information, schedule and deploy the container group to be scheduled to the target node. Specifically, based on the configuration information of the container group to be scheduled and the resource deployment information of the target node, generate the description file required for the instantiation of the container group, and bind the container group to be scheduled to the target node. On the target node, allocate the requested processor, memory, disk, and network resources to the container group, pull the container image and start the container instance, completing the deployment of the container group on the target node.

[0047] S503 verifies the startup and running status of the container group to be scheduled on the target node, completing the container group scheduling. Specifically, after the container group is deployed, its running status on the target node is monitored, including at least whether the container group was successfully created, whether the container process started normally, and whether the health check passed. Once the container group is confirmed to be in a healthy running state, this scheduling process ends. If the container group fails to start or runs abnormally, it is rescheduled according to the preset retry policy.

[0048] Figure 6 The diagram illustrates a neural network prediction model training process for a cluster scheduling method according to an embodiment of this application.

[0049] like Figure 6 As shown, the steps include: S601, Collect historical scheduling data. Historical scheduling data includes resource status information and corresponding application performance metrics for container groups running on each worker node. Specifically, it collects relevant historical scheduling data for container groups that have been scheduled and are running stably during cluster operation. Each piece of historical scheduling data corresponds to the running status of a container group instance on its deployed worker node, and includes at least the resource status information of the worker node during the container group's operation, as well as the actual application performance metrics achieved by the container group on that worker node. Resource status information includes processor utilization, memory utilization, disk utilization, and network bandwidth utilization; application performance metrics include at least transactions per second.

[0050] S602 calculates the resource availability of each resource based on resource status information. Specifically, for each piece of historical scheduling data containing resource status information, processor availability, memory availability, disk availability, and network bandwidth availability are calculated based on the current usage of each type of resource and the total resources of the worker node. Resource availability reflects the proportion of remaining resources available for the container group to use by the worker node at a historical runtime.

[0051] S603 constructs a neural network training sample set using resource availability as the input feature and the corresponding application performance metric as the output target. Specifically, the processor availability, memory availability, disk availability, and network bandwidth availability calculated from each historical scheduling data point are used as the input feature vector, and the actual application performance metric recorded in that historical scheduling data point is used as the corresponding output label. After the above transformation, all historical scheduling data forms a training sample set consisting of pairs of input features and output labels. This training sample set is used for the supervised learning process of the subsequent neural network prediction model.

[0052] S604, Training a Neural Network Prediction Model Based on a Training Sample Set. Specifically, the constructed training sample set is input into the neural network prediction model for iterative training. During training, the model calculates the predicted output based on the input features, measures the error between the predicted output and the actual output label using a loss function, and continuously adjusts the connection weights and bias parameters within the model using the backpropagation algorithm. Training terminates when the model's prediction error on the validation set converges to a preset range or reaches a preset number of iterations, resulting in a fully trained neural network prediction model.

[0053] Figure 7 The illustration shows a schematic diagram of the iterative update process of the neural network prediction model of a cluster scheduling method according to an embodiment of the present application.

[0054] like Figure 7 As shown, the steps include: S701 monitors the actual application performance metrics of the scheduled container group running on the target node. Specifically, for a container group that has been scheduled and deployed to the target node, the actual application performance metrics achieved by the container group during its operation are continuously monitored. These actual application performance metrics include at least the number of transactions per second, used to quantify the business processing capacity of the container group under real production load.

[0055] S702, Collect resource status information of the target node during container group operation. Specifically, during container group operation, real-time resource status information of the target node is collected synchronously. This resource status information includes at least processor utilization, memory utilization, disk utilization, and network bandwidth utilization, used to characterize the actual load of each resource of the working node during container group operation.

[0056] S703, resource status information and corresponding actual application performance indicators are used as new training samples. The collected resource status information is converted into the corresponding resource availability rate and used as input features; the monitored actual application performance indicators are used as output targets; the input features and output targets are paired to form a new training sample, which is used to supplement the load scenarios not covered in the historical training sample set.

[0057] S704 updates the training sample set of the neural network prediction model based on newly added training samples, achieving iterative optimization of the model. Specifically, newly added training samples are incorporated into the original training sample set to form an expanded training sample set. The expanded training sample set is used to incrementally train or periodically retrain the neural network prediction model, enabling the model to learn changes in the cluster environment and load characteristics. This allows the model to be continuously updated and optimized as the cluster runs, adapting to complex application scenarios.

[0058] Figure 8 The diagram illustrates the overall structure of a cluster scheduling device according to an embodiment of this application.

[0059] like Figure 8 As shown, the device includes an information acquisition module 801, a preliminary screening module 802, a performance prediction module 803, a target decision module 804, and a scheduling execution module 805.

[0060] Among them, the information acquisition module 801 is configured to acquire the resource requirement information of the container group to be scheduled in the cluster and the resource status information of each working node.

[0061] The initial screening module 802 is configured to screen the worker nodes based on the resource requirement information of the container group to be scheduled and the resource status information of each worker node, and obtain a set of candidate nodes.

[0062] The performance prediction module 803 is configured to predict the application performance indicators of the container group to be scheduled running on each candidate node based on the resource status information of each working node in the candidate node set.

[0063] The target decision module 804 is configured to select a target node from the candidate node set based on the application performance indicators obtained from the prediction.

[0064] The scheduling execution module 805 is configured to schedule the container group to be scheduled to the target node, allocate the required resources to the container group, and complete the deployment and startup.

[0065] Figure 9 The diagram illustrates the structure of the initial screening module of a cluster scheduling device according to an embodiment of this application.

[0066] like Figure 9 As shown, the initial screening module 802 includes a type classification submodule 806, a type determination submodule 807, a weight configuration submodule 808, a difference calculation submodule 809, and a score calculation submodule 810.

[0067] Among them, the type classification submodule 806 is configured to classify the work nodes according to their resource configuration.

[0068] The type determination submodule 807 is configured to determine the type of the container group to be scheduled based on the resource requirement information of the container group to be scheduled.

[0069] The weight configuration submodule 808 is configured to configure corresponding weight coefficients for different types of worker nodes based on the type of the container group to be scheduled.

[0070] The difference calculation submodule 809 is configured to calculate the difference index of resource utilization rate of each resource based on the resource status information of each working node.

[0071] The scoring calculation submodule 810 is configured to calculate the score of each working node based on the weight coefficient and the degree of difference index, and to include the working nodes whose scoring results meet the preset conditions into the candidate node set.

[0072] Figure 10 An exemplary block diagram of a computer program product of a cluster scheduling method according to an embodiment of this application is shown schematically.

[0073] like Figure 10 As shown, the computer program product stores a computer program 1001, which, when executed by a processor, implements the method provided in any embodiment of this application.

[0074] The basic principles of this application have been described above with reference to specific embodiments. However, it should be noted that the advantages, benefits, and effects mentioned in this application are merely examples and not limitations, and should not be considered as essential features of each embodiment of this application. Furthermore, the specific details disclosed above are for illustrative and facilitative purposes only, and are not limitations. These details do not limit the application to the necessity of employing the aforementioned specific details for implementation.

[0075] The block diagrams of devices, apparatuses, devices, and systems involved in this application are merely illustrative examples and are not intended to require or imply that they must be connected, arranged, or configured in the manner shown in the block diagrams. As those skilled in the art will recognize, these devices, apparatuses, devices, and systems can be connected, arranged, and configured in any manner. Words such as “comprising,” “including,” “having,” etc., are open-ended terms meaning “including but not limited to,” and are used interchangeably with them. The terms “or” and “and” as used herein refer to the terms “and / or,” and are used interchangeably with them unless the context clearly indicates otherwise. The term “such as” as used herein refers to the phrase “such as but not limited to,” and is used interchangeably with it.

[0076] Additionally, as used herein, the "or" used in a list of items beginning with "at least one" indicates a separate list, such that a list of, for example, "at least one of A, B, or C" means A or B or C, or AB or AC or BC, or ABC (i.e., A and B and C). Furthermore, the word "exemplary" does not imply that the described example is preferred or better than other examples.

[0077] It should also be noted that in the system and method of this application, the components or steps can be decomposed and / or recombined. These decompositions and / or recombinations should be considered as equivalent solutions of this application.

[0078] Various changes, substitutions, and modifications can be made to the technology described herein without departing from the teachings defined by the appended claims. Furthermore, the scope of the claims of this application is not limited to the specific aspects of the processes, machines, manufacturing, events, means, methods, and actions described above. Currently existing or later-developed processes, machines, manufacturing, events, means, methods, or actions that perform substantially the same function or achieve substantially the same result as the corresponding aspects described above can be utilized. Therefore, the appended claims include such processes, machines, manufacturing, events, means, methods, or actions within their scope.

[0079] The above description of the disclosed aspects is provided to enable any person skilled in the art to make or use this application. Various modifications to these aspects will be readily apparent to those skilled in the art, and the general principles defined herein can be applied to other aspects without departing from the scope of this application. Therefore, this application is not intended to be limited to the aspects shown herein, but rather to be accorded the widest scope consistent with the principles and novel features disclosed herein.

[0080] The above description has been given for purposes of illustration and description. Furthermore, this description is not intended to limit the embodiments of this application to the forms disclosed herein. Although numerous exemplary aspects and embodiments have been discussed above, those skilled in the art will recognize certain variations, modifications, alterations, additions, and sub-combinations thereof.

Claims

1. A cluster scheduling method, characterized in that, include: Obtain the resource requirements of the container group to be scheduled in the cluster, as well as the resource status information of each working node in the cluster; Based on the resource requirement information of the container group to be scheduled and the resource status information of each working node, the working nodes are filtered to obtain a set of candidate nodes; Based on the neural network prediction model, the application performance indicators of the container group to be scheduled running on each candidate node are predicted according to the resource status information of each working node in the candidate node set. Based on the predicted application performance metrics, a target node is selected from the candidate node set. The container group to be scheduled is scheduled to the target node.

2. The cluster scheduling method according to claim 1, characterized in that, The resource status information includes at least one of the following: processor, memory, disk, and network bandwidth.

3. The cluster scheduling method according to claim 1, characterized in that, The work nodes are filtered based on the resource requirement information of the container group to be scheduled and the resource status information of each work node, including: Based on the resource configuration of the work nodes, the work nodes are classified into different types; The type of the container group to be scheduled is determined based on the resource requirement information of the container group to be scheduled; Based on the type of the container group to be scheduled, configure corresponding weight coefficients for the different types of worker nodes; Based on the resource status information of each working node, calculate the degree of difference in resource utilization rate of each resource; Based on the weighting coefficients and the difference index, the scores of each working node are calculated, and the working nodes whose scores meet the preset conditions are included in the candidate node set.

4. The cluster scheduling method according to claim 3, characterized in that, The working node type includes at least one of compute node, balanced node and storage node; the container group to be scheduled includes at least one of compute container group, balanced container group and storage container group.

5. The cluster scheduling method according to claim 1, characterized in that, The training process of the neural network prediction model includes: Collect historical scheduling data, which includes the resource status information and corresponding application performance indicators when the container group runs on each of the work nodes. The neural network prediction model is trained using the resource availability rate calculated based on the resource status information as the input feature and the corresponding application performance index as the output target. The application performance metrics include at least the number of transactions per second.

6. The cluster scheduling method according to claim 1, characterized in that, After scheduling the group of containers to be scheduled to the target node, the process further includes: Monitor the actual application performance metrics of the container group on the target node; The training samples of the neural network prediction model are updated based on the actual application performance indicators.

7. A cluster scheduling device, characterized in that, include: The information acquisition module is configured to acquire resource requirement information of the container group to be scheduled in the cluster, as well as resource status information of each working node in the cluster. The initial screening module is configured to screen the working nodes based on the resource requirement information of the container group to be scheduled and the resource status information of each working node to obtain a set of candidate nodes; The performance prediction module is configured to predict the application performance indicators of the container group to be scheduled on each candidate node based on the resource status information of each working node in the candidate node set. The target decision module is configured to select a target node from the candidate node set based on the predicted application performance indicators. The scheduling execution module is configured to schedule the container group to be scheduled to the target node.

8. The cluster scheduling device according to claim 7, characterized in that, The initial screening module includes: The type classification submodule is configured to classify the work nodes according to their resource configuration. The type determination submodule is configured to determine the type of the container group to be scheduled based on the resource requirement information of the container group to be scheduled. The weight configuration submodule is configured to configure corresponding weight coefficients for different types of work nodes according to the type of the container group to be scheduled; The difference calculation submodule is configured to calculate the degree of difference in resource utilization of each resource based on the resource status information of each working node; The scoring calculation submodule is configured to calculate the score of each working node based on the weight coefficient and the difference index, and to include the working nodes whose scoring results meet the preset conditions into the candidate node set.

9. An electronic device, characterized in that, It includes a processor and a memory, the memory storing a computer program, and the processor executing the computer program to implement the cluster scheduling method according to any one of claims 1 to 6.

10. A computer program product comprising a computer-readable storage medium on which a computer program is stored, characterized in that, When the computer program is executed by the processor, it implements the cluster scheduling method according to any one of claims 1 to 6.