Cluster scheduling method and device, equipment and medium

By using energy consumption prediction models in cloud computing clusters to select the node with the lowest energy consumption to perform tasks, the problem of high energy consumption in cloud computing clusters is solved, and higher energy efficiency and lower power consumption costs are achieved.

CN119829287APending Publication Date: 2025-04-15CHINA TELECOM CORP LTD TECHNOLOGY INNOVATION CENTER +1
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411907916.5
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-12-23
Publication Date
2025-04-15

AI Technical Summary

Technical Problem

The energy consumption of nodes in the cloud computing cluster is high, resulting in an increase in the total energy consumption of the cloud computing environment and affecting energy efficiency.

Method used

By obtaining the physical machine information of the node and the task requested task information, we judge whether the task is a high-power task, and select alternative nodes among multiple nodes. We use the energy consumption prediction model to predict the energy consumption of the task on different nodes, and finally schedule the task to the node with the lowest energy consumption to execute.

Benefits of technology

It effectively reduces the overall energy consumption of the data center, improves energy usage efficiency, reduces electricity costs, and avoids the impact of server heating and performance caused by high energy consumption.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119829287A_ABST
    Figure CN119829287A_ABST
Patent Text Reader

Abstract

The invention provides a cluster scheduling method and device, equipment and a medium, and relates to the technical field of cloud computing. The method comprises the following steps: acquiring physical machine information of a plurality of nodes and task information of a task request; judging whether the task request is a high-power-consumption task or not according to the task information; under the condition that the task request is a high-power-consumption task, multiple alternative nodes are selected from the multiple nodes based on the physical machine information and the task information of the multiple nodes, and the available resource quantity of the alternative nodes is larger than the resource quantity requested in the task information; inputting the task information and the physical machine information of each alternative node into an energy consumption prediction model to obtain an energy consumption prediction value of the task request running on the alternative nodes; determining the alternative node with the lowest energy consumption predicted value in the plurality of alternative nodes as a target node; and scheduling the task request to the target node for execution. According to the embodiment of the invention, the overall energy consumption of the cloud computing data center can be reduced, and the energy use efficiency is improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to the field of cloud computing technology, and in particular to a cluster scheduling method, device, equipment and medium. Background Art

[0002] With the rapid expansion of the cloud computing industry, especially the global popularity of large-scale model training and applications, the energy consumption problem brought about by cloud computing infrastructure has become an important challenge of global concern. The energy consumption of cloud computing facilities includes not only the fixed energy consumption required to maintain the basic operation of the equipment, but also the dynamic energy consumption generated by the server when processing and responding to business requests. These two parts together constitute the total energy consumption in the cloud computing environment, which puts forward higher requirements for energy efficiency and prompts the industry to find more environmentally friendly and sustainable solutions.

[0003] It should be noted that the information disclosed in the above background technology section is only used to enhance the understanding of the background of the present disclosure, and therefore may include information that does not constitute the prior art known to ordinary technicians in the field. Summary of the invention

[0004] The present disclosure provides a cluster scheduling method, apparatus, device and medium, which can reduce the energy consumption of nodes (servers) in the cluster for processing tasks, at least to a certain extent, and thus reduce the dynamic energy consumption during the operation of cloud computing.

[0005] Other features and advantages of the present disclosure will become apparent from the following detailed description, or may be learned in part by the practice of the present disclosure.

[0006] According to one aspect of the present disclosure, a cluster scheduling method is provided, including:

[0007] Obtain physical machine information of multiple nodes and task information of task requests;

[0008] According to the task information, determine whether the task request is a high power consumption task;

[0009] In the case where the task request is a high power consumption task, multiple candidate nodes are selected from the multiple nodes based on the physical machine information and task information of the multiple nodes, and the available resources of the candidate nodes are greater than the resources requested in the task information;

[0010] Input the task information and the physical machine information of each candidate node into the energy consumption prediction model to obtain the energy consumption prediction value of the task request running on the candidate node;

[0011] Determine the candidate node with the lowest predicted energy consumption value among multiple candidate nodes as the target node;

[0012] Schedule the task request to the target node for execution.

[0013] In one embodiment of the present disclosure, the method further includes:

[0014] When the task request is not a high power consumption task, multiple candidate nodes are selected from the multiple nodes based on the physical machine information and task information of the multiple nodes;

[0015] Determine the candidate node with the largest amount of remaining resources among the multiple candidate nodes as the target node;

[0016] Schedule the task request to the target node for execution.

[0017] In one embodiment of the present disclosure, before inputting the task information and the physical machine information of each candidate node into the energy consumption prediction model, the method further includes:

[0018] Obtain historical task information, physical machine information, and task energy consumption information of multiple nodes;

[0019] Use the normalization function to unify the historical task information and physical machine information to between 0 and 1 to obtain a one-dimensional vector;

[0020] Align and match the one-dimensional vector with the energy consumption information of the task according to the timestamp and task identifier to obtain a training data set;

[0021] The support vector regression model is selected, and the one-dimensional vector is used as the X input data for model training, and the energy consumption information of the task is used as the Y input data for model training to obtain the energy consumption prediction model.

[0022] In one embodiment of the present disclosure, when the task request is a high power consumption task, multiple candidate nodes are selected from multiple nodes based on physical machine information and task information of multiple nodes, including:

[0023] In the case where the task request is a high power consumption task, based on the physical machine information and task information of the multiple nodes, determining M nodes whose available resource amounts are greater than the resource amounts requested in the task information;

[0024] Sort the M nodes according to the order of available resources of the nodes from most to least;

[0025] When M is greater than the quantity threshold N, N nodes are selected as candidate nodes according to the ranking of the M nodes;

[0026] When M is not greater than the quantity threshold N, M nodes are determined as candidate nodes;

[0027] Wherein, M and N are positive integers.

[0028] In one embodiment of the present disclosure, determining a candidate node with the lowest predicted energy consumption value among multiple candidate nodes as a target node includes:

[0029] The plurality of candidate nodes are sorted according to the order of energy consumption prediction values ​​from low to high, wherein the candidate nodes with the same energy consumption prediction values ​​are sorted according to the order of available resources from large to small;

[0030] The candidate node ranked first is determined as the target node.

[0031] In one embodiment of the present disclosure, task information includes task type, resource request, resource limitation and concurrency, wherein the resource request records the amount of resources requested by the task request, and the resource limitation records the minimum amount of resources required by the task request.

[0032] In one embodiment of the present disclosure, the physical machine information includes physical machine hardware information and physical machine operating status information, and the physical machine operating status information includes the physical machine temperature.

[0033] According to another aspect of the present disclosure, a cluster scheduling device is provided, including:

[0034] An information acquisition module is used to obtain physical machine information of multiple nodes and task information of task requests;

[0035] A task judgment module, used to judge whether the task request is a high power consumption task according to the task information;

[0036] A first selection module is used to select multiple candidate nodes from the multiple nodes based on the physical machine information and task information of the multiple nodes when the task request is a high power consumption task, wherein the available resources of the candidate nodes are greater than the resources requested in the task information;

[0037] The model prediction module is used to input the task information and the physical machine information of each candidate node into the energy consumption prediction model to obtain the energy consumption prediction value of the task request running on the candidate node;

[0038] The second selection module is used to determine the candidate node with the lowest energy consumption prediction value among the multiple candidate nodes as the target node;

[0039] The task scheduling module is used to schedule task requests to the target node for execution.

[0040] According to another aspect of the present disclosure, an electronic device is provided, including: a memory for storing instructions; and a processor for calling the instructions stored in the memory to implement the above cluster scheduling method.

[0041] According to another aspect of the present disclosure, a computer-readable storage medium is provided, on which computer instructions are stored. When the computer instructions are executed by a processor, the above-mentioned cluster scheduling method is implemented.

[0042] According to another aspect of the present disclosure, a computer program product is provided. The computer program product stores instructions, and when the instructions are executed by a computer, the computer implements the above cluster scheduling method.

[0043] According to yet another aspect of the present disclosure, there is provided a chip, comprising at least one processor and an interface;

[0044] An interface for providing program instructions or data to at least one processor;

[0045] At least one processor is used to execute program instructions to implement the above cluster scheduling method.

[0046] The cluster scheduling method, apparatus, device and medium provided in the embodiments of the present disclosure not only consider the available resource amount of the node when selecting the execution node for tasks identified as high power consumption, but also specially add an energy consumption prediction model. By inputting the task information and the physical machine information of the alternative nodes into the energy consumption prediction model, the running energy consumption of the task on different nodes can be estimated in advance, and finally the node with the lowest energy consumption is selected as the target node to execute the task. This approach effectively reduces the overall energy consumption of the data center and improves the energy utilization efficiency.

[0047] It is to be understood that the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the present disclosure. BRIEF DESCRIPTION OF THE DRAWINGS

[0048] The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments consistent with the present disclosure and, together with the description, serve to explain the principles of the present disclosure.

[0049] Obviously, the drawings described below are only some embodiments of the present disclosure, and a person skilled in the art can obtain other drawings based on these drawings without any creative work.

[0050] Figure 1 A flow chart of a cluster scheduling method in an embodiment of the present disclosure is shown;

[0051] Figure 2 Another flow chart of a cluster scheduling method in an embodiment of the present disclosure is shown;

[0052] Figure 3 A flow chart of model training in an embodiment of the present disclosure is shown;

[0053] Figure 4 A flowchart of selecting candidate nodes in an embodiment of the present disclosure is shown;

[0054] Figure 5 A schematic diagram of a Master node in an embodiment of the present disclosure is shown;

[0055] Figure 6 A schematic diagram of a cluster scheduling device in an embodiment of the present disclosure is shown;

[0056] Figure 7 A structural block diagram of an electronic device in an embodiment of the present disclosure is shown. DETAILED DESCRIPTION

[0057] In order to make the purpose, technical scheme and advantages of the embodiments of the present disclosure clearer, the technical scheme in the embodiments of the present disclosure will be clearly and completely described below in conjunction with the drawings in the embodiments of the present disclosure. Obviously, the described embodiments are only part of the embodiments of the present disclosure, rather than all of the embodiments. The components of the embodiments of the present disclosure generally described and shown in the drawings here can be arranged and designed in various different configurations. Therefore, the following detailed description of the embodiments of the present disclosure provided in the drawings is not intended to limit the scope of the present disclosure for protection, but merely represents the selected embodiments of the present disclosure. Based on the embodiments of the present disclosure, all other embodiments obtained by those skilled in the art without making creative work belong to the scope of protection of the present disclosure.

[0058] It is understandable that before using the technical solutions disclosed in the embodiments of the present disclosure, the types, scope of use, usage scenarios, etc. of the personal information involved in the present disclosure should be informed to the user and the user's authorization should be obtained in an appropriate manner in accordance with relevant laws and regulations.

[0059] The inventors found in their research that the current cloud computing cluster scheduling method mainly considers the remaining resources of the node, such as the remaining CPU resources and the remaining storage resources, while ignoring the important factor of energy consumption. Energy consumption is not only related to the remaining resources of the node, but also to the information of the physical machine where the node is located and the operating status of the physical machine. For example, if the CPU temperature of the physical machine where the node is located is high, the physical machine will increase the heat dissipation demand and turbo frequency adjustment, which will lead to additional energy consumption, use a large amount of power resources, cause insufficient power supply or cause an increase in electricity bills in the data center. In addition, high energy consumption will cause the server to heat up and generate heat accumulation, which will affect the performance of the equipment and the stability of the system.

[0060] The present exemplary implementation is described in detail below with reference to the accompanying drawings and embodiments.

[0061] Figure 1 A flow chart of a cluster scheduling method in an embodiment of the present disclosure is shown as follows: Figure 1 As shown, the cluster scheduling method provided in the embodiment of the present disclosure includes S101-S106.

[0062] In S101 , physical machine information of multiple nodes and task information of task requests are obtained.

[0063] In some embodiments, the task information includes task type, resource request, resource limit and concurrency, wherein the resource request records the amount of resources requested by the task request, and the resource limit records the minimum amount of resources required by the task request. In some embodiments, the task information can be the YAML information of the task.

[0064] Task types may include big data, AI training, video transcoding, etc. Resource requests may include the number of CPU cores and memory, etc. Resource constraints may record the minimum number of CPU cores and / or minimum memory required, etc. In addition, resource constraints may also record the GPU required model.

[0065] In some embodiments, the physical machine information includes physical machine hardware information and physical machine operating status information, and the physical machine operating status information includes the physical machine temperature.

[0066] The physical machine hardware information is fixed information of the physical machine, which is closely related to the energy consumption of the physical machine and may include one or more of the physical machine CPU model, number of CPU cores, GPU model, number of GPU cards, memory type, and hard disk type.

[0067] The physical machine operation status information is acquired through monitoring and is closely related to energy consumption, including the physical machine CPU status, GPU status, memory status, and power status, among which the CPU status may include the CPU temperature, and the GPU status may include the GPU temperature.

[0068] In S102, it is determined whether the task request is a high power consumption task according to the task information.

[0069] In some embodiments, S102 may include:

[0070] When the task type is a preset type, determining that the task request is a high power consumption task;

[0071] or, when the resource requested by the resource request is greater than a resource threshold corresponding to the resource, determining that the task request is a high power consumption task;

[0072] or, when the resource recorded in the resource restriction is greater than a preset restriction threshold, determining that the task request is a high power consumption task;

[0073] Or, when the concurrency value is greater than a preset concurrency threshold, the task request is determined to be a high power consumption task.

[0074] In some embodiments, tasks of big data, AI training, video transcoding, etc. can be judged as high-power consumption tasks. In the resource request, the number of CPU cores is greater than the threshold, and the memory is greater than the threshold. The threshold is set by experience, such as the number of CPU cores is greater than 4, and the memory is greater than 10GiB. It can be judged as a high-power consumption task. In the resource limit, the CPU is greater than the threshold, and the memory is greater than the threshold. The threshold is set by experience, such as the resource limit of 16 for the number of CPU cores and the memory limit of tens of GiB. It can be judged as a high-power consumption task. The GPU required model is a high-power consumption model, such as RTX4090, which is a high-power consumption task. If the concurrency field is turned on and has a large value, it is a high-power consumption task.

[0075] In S103, when the task request is a high power consumption task, multiple candidate nodes are selected from the multiple nodes based on the physical machine information and task information of the multiple nodes, and the available resources of the candidate nodes are greater than the resources requested in the task information.

[0076] In S104, the task information and the physical machine information of each candidate node are input into the energy consumption prediction model to obtain the energy consumption prediction value of the task request running on the candidate node.

[0077] The energy consumption prediction model may be a machine learning model, and the energy consumption prediction model may be trained based on historical task information, physical machine information, and energy consumption information of the task.

[0078] In S105, the candidate node with the lowest predicted energy consumption value among the multiple candidate nodes is determined as the target node.

[0079] In S106 , the task request is scheduled to the target node for execution.

[0080] The cluster scheduling method of the disclosed embodiment considers the hardware information and operating status of the physical machine, and schedules tasks to nodes with lower operating energy consumption on the physical machine where the node is located, thereby reducing the energy consumption of the cloud computing infrastructure and further reducing electricity costs.

[0081] Figure 2 A flow chart of a cluster scheduling method in an embodiment of the present disclosure is shown as follows: Figure 2 As shown, the cluster scheduling method provided in the embodiment of the present disclosure includes S201-S208, wherein S201-S206 are the same as S101-S106 of the above embodiment and are not described again.

[0082] In S207 , when the task request is not a high power consumption task, multiple candidate nodes are selected from the multiple nodes based on the physical machine information and task information of the multiple nodes.

[0083] In S208, the candidate node with the largest amount of remaining resources among the multiple candidate nodes is determined as the target node.

[0084] After S208 , S206 is executed to schedule the task request to the target node for execution.

[0085] from Figure 2 It can be seen that the embodiments of the present disclosure use different scheduling methods for high-power consumption tasks and non-high-power consumption tasks. For high-power consumption tasks, when selecting execution nodes, not only the available resources of the node are considered, but also an energy consumption prediction model is specially added. By inputting the task information and the physical machine information of the candidate node into the energy consumption prediction model, the running energy consumption of the task on different nodes can be estimated in advance, and finally the node with the lowest energy consumption is selected as the target node to execute the task. This approach effectively reduces the overall energy consumption of the data center and improves energy efficiency. The scheduling method used for non-high-power consumption tasks can be the same as the related technology.

[0086] In some embodiments, the number of candidate nodes in S203 may be different from the number of candidate nodes in S207. As an example, the number of candidate nodes in S203 may be greater than the number of candidate nodes in S207. For high-power consumption tasks, when selecting the target node to be executed, not only the available resources of the node are considered, but also the energy consumption prediction model is specially added, so it is necessary to introduce more candidate nodes for comparison and selection. For non-high-power consumption tasks, when selecting candidate nodes and target nodes, the main consideration is the available resources, so there is no need to introduce too many candidate nodes.

[0087] In some embodiments, before the above S104 inputs the task information and the physical machine information of each candidate node into the energy consumption prediction model, the following steps may also be included: Figure 3 S301-S304 shown.

[0088] In S301, historical task information, physical machine information, and energy consumption information of tasks of multiple nodes are obtained;

[0089] In S302, a normalization function is used to unify the historical task information and the physical machine information to between 0 and 1, thereby obtaining a one-dimensional vector;

[0090] In S303, the one-dimensional vector and the energy consumption information of the task are aligned and matched according to the timestamp and the task identifier to obtain a training data set;

[0091] In S304, a support vector regression model is selected, a one-dimensional vector is used as X input data for model training, and energy consumption information of the task is used as Y input data for model training to obtain an energy consumption prediction model.

[0092] The disclosed embodiment uses a normalization function to unify the task information and physical machine information to between 0 and 1, and then splices the above information as input features into a one-dimensional vector. The one-dimensional vector is aligned and matched with the energy consumption value according to the timestamp and the task identifier (ID), and a support vector regression model (or other machine learning model) is selected as a data set. The one-dimensional vector is used as the X input data for model training, and the energy consumption value is used as the Y input data for model training. The model is saved, and the parameters are adjusted to select a model with a higher accuracy rate.

[0093] In some embodiments, Figure 4 As shown, the above S103 may include S401-S404.

[0094] In S401, when the task request is a high power consumption task, based on the physical machine information and task information of multiple nodes, M nodes whose available resource amounts are greater than the resource amounts requested in the task information are determined;

[0095] In S402, the M nodes are sorted in descending order according to the available resources of the nodes;

[0096] In S403, when M is greater than the quantity threshold N, N nodes are selected as candidate nodes according to the ranking of the M nodes;

[0097] In S404, when M is not greater than the quantity threshold N, M nodes are determined as candidate nodes; wherein M and N are positive integers.

[0098] In some embodiments, the above S105 determines the candidate node with the lowest energy consumption prediction value among multiple candidate nodes as the target node. The multiple candidate nodes may be sorted in order from low to high according to the energy consumption prediction values, wherein the candidate nodes with the same energy consumption prediction values ​​are sorted in order from most to least according to the amount of available resources; and the candidate node ranked first is determined as the target node.

[0099] The task scheduling method of the cluster in the related art is to first pre-select nodes according to the resources required for the task, and then prioritize the nodes with the most remaining resources. This method only focuses on the remaining resources of the node and does not consider energy consumption information. In the embodiment of the present disclosure, first, multiple tasks are received, and the YAML information of the task is used to determine whether it is a high-power consumption task, and a low-power consumption scheduling algorithm is used for high-power consumption tasks. In addition, the YAML information of the physical machine's historical tasks, the physical machine information, and the energy consumption information of the task are collected to train a task energy consumption prediction model. Then, the scheduling control pre-selects and prioritizes multiple nodes with the highest ranking of remaining resources, and uses the physical machine information of these nodes and the YAML information of the task to be received to use the energy consumption prediction model to predict the energy consumption of the task running on the physical machine. Finally, the above multiple nodes are sorted from low to high according to the predicted energy consumption, and the task is scheduled to the node with the lowest predicted energy consumption.

[0100] The disclosed embodiment uses YAML information to filter out high-energy consumption tasks, classifies scheduling tasks more finely, uses energy consumption models to predict more accurate energy consumption information for task operation, and uses low-energy consumption scheduling algorithms to schedule tasks to nodes with lower energy consumption. It achieves fine-grained scheduling of tasks based on energy consumption while meeting resource requirements and load balancing, reduces task operation energy consumption, reduces electricity costs, and avoids reduced reliability of servers due to excessive energy consumption.

[0101] In some embodiments, the execution subject of the above cluster scheduling method embodiment can be the Master node in the cluster. The Master node is the control center and brain of the entire system. It is responsible for managing and scheduling all resources in the cluster to ensure that the application runs in the desired state. The Master node does not directly participate in the execution of user loads, but focuses on maintaining the health and status of the cluster.

[0102] like Figure 5 As shown, the Master node may include a data acquisition module, a task energy consumption model module, a scheduling control module, a low energy consumption scheduling control plug-in and a data storage module.

[0103] The data collection module is used to collect task running data, including task information and physical machine information. Task information is task YAML information, and physical machine information is physical machine load information and physical machine configuration information.

[0104] The task energy consumption model module is used to use the data from the data acquisition module to train the task energy consumption prediction model using a machine learning algorithm and store the model.

[0105] The scheduling control module is the original scheduling module of the cluster, including functions such as access control, information storage, and node binding, and includes the original pre-selection optimization algorithm.

[0106] The low-energy scheduling control plug-in is a scheduling control plug-in that includes three functions: high-power task identification, task energy consumption model reasoning, and low-energy scheduling algorithm. High-power task identification uses the YAML information of the task to identify high-energy tasks and mark them. Task energy consumption model reasoning uses task information and node physical machine information to predict task energy consumption through the task energy consumption model. The low-energy scheduling algorithm uses the predicted energy consumption information to schedule tasks.

[0107] The data storage module is used to store node information, including node physical machine information, task information, including task YAML file information, and task binding node information.

[0108] In some embodiments, the functional points of the low energy consumption scheduling control plug-in include high energy consumption task identification, task energy consumption model reasoning and low energy consumption scheduling algorithm.

[0109] Identification of high-power consumption tasks: Based on the YAML information of the task, including task type, resource request, resource limit, and concurrency. Task types such as big data, AI training, and video transcoding can be judged as high-power consumption tasks. In the resource request, if the number of CPU cores is greater than the threshold, and the memory is greater than the threshold, the threshold is set by experience, such as the number of CPU cores is greater than 4, and the memory is greater than 10GiB, it can be judged as a high-power consumption task. In the resource limit, if the CPU is greater than the threshold, and the memory is greater than the threshold, the threshold is set by experience, such as the resource limit of 16 for the number of CPU cores, and the memory limit is tens of GiB, it can be judged as a high-power consumption task. If the GPU required model is a high-power consumption model, such as RTX4090, it is a high-power consumption task. If the concurrency field is turned on and has a large value, it is a high-power consumption task.

[0110] Task energy consumption model reasoning: Based on the model Model trained by the task energy consumption model module, the task information Task_info, the physical machine hardware information Mac_info and the physical machine load information Load_info are input. The input information is expanded in detail in the task energy consumption model module to predict the energy consumption of the task to be run by the physical machine, which can be expressed as: Power prediction value ← Model([Task_info, Mac_info, Load_info]).

[0111] Low-energy scheduling algorithm: First, receive high-power tasks, and then use the pre-selection optimization algorithm in the original scheduling control module to obtain the top N nodes that meet the resource requirements of these tasks and have more remaining resources. N is determined by experience. Then, use Prometheus to obtain the physical machine information of these N nodes, including the current load information and hardware information of the physical machine. Then, input the physical machine information and task YAML information into the task energy consumption prediction model to infer the energy consumption of the task to be assigned running on the physical machine where the candidate node is located. Then, sort the N nodes according to the predicted energy consumption. If two nodes are on the same physical machine, the one with more remaining resources is ranked first. Finally, select the node ranked first and bind the task to it.

[0112] The main functions of the task energy consumption model module include task energy consumption model training.

[0113] 1. Obtain historical task YAML information, physical machine information, and energy consumption information of historical tasks from the data acquisition module.

[0114] 1) Task information is the YAML information of the task to be run. It uses the information in the YAML file of the task that is closely related to energy consumption, including task type, resource request, resource limit, and concurrency. The specific fields of YAML are as follows:

[0115] Task_info={name,labels_type,requests_cpu,requests_memory,limits_cpu,limits_memory,spec_parallelism}

[0116] 2) The hardware information of the physical machine is fixed information, including the rated power of the physical machine, CPU model, number of CPU cores, GPU model, number of GPU cards, memory type, and hard disk type, which are specifically expressed as follows:

[0117] Mac_info = {physical machine rated power, CPU model, number of CPU cores, GPU model, number of GPU cards, hard disk type}

[0118] 3) The physical machine operation status information is obtained through monitoring, including the physical machine CPU status, GPU status, memory status and power status, as shown below:

[0119] Load_info = {CPU temperature, CPU utilization, GPU temperature, GPU utilization, memory utilization, power supply voltage}

[0120] 4) The energy consumption data information is the training target value, obtained using IPMI or other monitoring components, and the energy consumption difference before and after the task is used to represent the task energy consumption Power.

[0121] 2. Training energy consumption model

[0122] 1) First, use the normalization function to unify the task information, physical machine hardware information, and physical machine load information to between 0 and 1, and then use the above information as input features to splice into a one-dimensional vector.

[0123] 2) Align and match the one-dimensional vector and the energy consumption value according to the timestamp and task ID to create a data set.

[0124] 3) Select a support vector regression model (or other machine learning model), use the one-dimensional vector as the X input data for model training, and the energy consumption value as the Y input data for model training, save the model, adjust the parameters to select a model with higher accuracy, which can be expressed as: Model←SVR([Task_info, Mac_info, Load_info], Power).

[0125] The disclosed embodiment uses the YAML field information of historical tasks, the physical machine information of the node, and the task running energy consumption training task running energy consumption model, which can predict the energy consumption of the task running on a certain node, which is conducive to further management of tasks and allocation of nodes. By using YAML information to filter out high-energy consumption tasks, the scheduled tasks are more finely classified according to energy consumption. Using a low-energy scheduling algorithm to schedule tasks to nodes with lower physical machine energy consumption reduces task running energy consumption, reduces electricity costs, and avoids the server from reducing reliability due to excessive energy consumption.

[0126] In the embodiments of the present disclosure, the terms “first”, “second” and “third” are used for descriptive purposes only and should not be understood as indicating or implying relative importance.

[0127] The term "and / or" in this disclosure is only a description of the association relationship of associated objects, indicating that there may be three relationships. For example, A and / or B can represent: A exists alone, A and B exist at the same time, and B exists alone. In addition, the character " / " in this article generally indicates that the associated objects before and after are in an "or" relationship.

[0128] Furthermore, although the steps of the method in the present disclosure are described in a particular order in the drawings, this does not require or imply that the steps must be performed in this particular order or that all the steps shown must be performed to achieve the desired results.

[0129] In some embodiments, certain steps may be omitted, multiple steps may be combined into one step, and / or one step may be decomposed into multiple steps.

[0130] Based on the same inventive concept, the present disclosure also provides a cluster scheduling device, as described in the following embodiments. Since the principle of solving the problem in the device embodiment is similar to that in the above method embodiment, the implementation of the device embodiment can refer to the implementation of the above method embodiment, and the repeated parts will not be repeated.

[0131] Figure 6 A schematic diagram of a cluster scheduling device in an embodiment of the present disclosure is shown. Figure 6 As shown, the cluster scheduling device includes an information acquisition module 601, a task judgment module 602, a first selection module 603, a model prediction module 604, a second selection module 605 and a task scheduling module 606.

[0132] The information acquisition module 601 is used to acquire the physical machine information of multiple nodes and the task information of the task request;

[0133] The task determination module 602 is used to determine whether the task request is a high power consumption task according to the task information;

[0134] A first selection module 603 is used to select multiple candidate nodes from multiple nodes based on physical machine information and task information of multiple nodes when the task request is a high power consumption task, wherein the available resources of the candidate nodes are greater than the resources requested in the task information;

[0135] The model prediction module 604 is used to input the task information and the physical machine information of each candidate node into the energy consumption prediction model to obtain the energy consumption prediction value of the task request to run on the candidate node;

[0136] The second selection module 605 is used to determine the candidate node with the lowest energy consumption prediction value among the multiple candidate nodes as the target node;

[0137] The task scheduling module 606 is used to schedule the task request to the target node for execution.

[0138] In some embodiments, the cluster scheduling device also includes a general scheduling module.

[0139] The general scheduling module is used to select multiple candidate nodes from multiple nodes based on the physical machine information and task information of multiple nodes when the task request is not a high-power consumption task; determine the candidate node with the largest amount of remaining resources among the multiple candidate nodes as the target node; and schedule the task request to the target node for execution.

[0140] In some embodiments, the cluster scheduling device also includes a model training module.

[0141] The model training module is used to obtain historical task information, physical machine information and energy consumption information of multiple nodes before inputting the task information and the physical machine information of each candidate node into the energy consumption prediction model; use a normalization function to unify the historical task information and physical machine information to between 0 and 1 to obtain a one-dimensional vector; align and match the one-dimensional vector with the energy consumption information of the task according to the timestamp and task identifier to obtain a training data set; select a support vector regression model, use the one-dimensional vector as the X input data of the model training, and use the energy consumption information of the task as the Y input data for model training to obtain an energy consumption prediction model.

[0142] In some embodiments, the first selection module 603 is used to determine, when the task request is a high-power consumption task, M nodes whose available resources are greater than the resources requested in the task information based on the physical machine information and task information of multiple nodes; sort the M nodes in order from most to least according to the available resources of the nodes; when M is greater than a quantity threshold N, select N nodes as candidate nodes according to the sorting of the M nodes; when M is not greater than the quantity threshold N, determine the M nodes as candidate nodes; wherein M and N are positive integers.

[0143] In some embodiments, the second selection module 605 is used to sort multiple candidate nodes according to the order of energy consumption prediction values ​​from low to high, wherein the candidate nodes with the same energy consumption prediction value are sorted according to the order of available resources from large to small; and the candidate node ranked first is determined as the target node.

[0144] In some embodiments, the task information includes task type, resource request, resource limitation and concurrency, wherein the resource request records the amount of resources requested by the task request, and the resource limitation records the minimum amount of resources required by the task request.

[0145] In some embodiments, the physical machine information includes physical machine hardware information and physical machine operating status information, and the physical machine operating status information includes the physical machine temperature.

[0146] The concepts of “first”, “second”, etc. mentioned in the present disclosure are only used to distinguish different devices, modules or units, and are not used to limit the order or interdependence of the functions performed by these devices, modules or units.

[0147] Regarding the cluster scheduling device in the above embodiment, the specific manner in which each module performs operations has been described in detail in the embodiment of the cluster scheduling method, and will not be elaborated here.

[0148] It should be noted that, although several modules or units of the device for action execution are mentioned in the above detailed description, such division is not mandatory.

[0149] In fact, according to the embodiments of the present disclosure, the features and functions of two or more modules or units described above can be embodied in one module or unit. Conversely, the features and functions of one module or unit described above can be further divided into multiple modules or units to be embodied.

[0150] Some of the blocks shown in the accompanying drawings are functional entities that do not necessarily correspond to physically or logically independent entities. These functional entities can be implemented in software form, or in one or more hardware modules or integrated circuits, or in different networks and / or processor devices and / or microcontroller devices.

[0151] Refer to the following Figure 7 To describe the electronic device provided by the embodiment of the present disclosure. Figure 7 The electronic device 700 shown is merely an example and should not bring any limitation to the functions and scope of use of the embodiments of the present disclosure.

[0152] Figure 7 FIG. 1 is a schematic diagram showing the architecture of an electronic device 700 provided by an embodiment of the present disclosure. Figure 7 As shown, the electronic device 700 includes but is not limited to: at least one processor 710 and at least one memory 720.

[0153] The memory 720 is used to store instructions.

[0154] In some embodiments, the memory 720 may include a readable medium in the form of a volatile storage unit, such as a random access memory unit (RAM) 7201 and / or a cache memory unit 7202 , and may further include a read-only memory unit (ROM) 7203 .

[0155] In some embodiments, the memory 720 may also include a program / utility 7204 having a set (at least one) of program modules 7205, such program modules 7205 including but not limited to: an operating system, one or more application programs, other program modules, and program data, each of which or some combination may include an implementation of a network environment.

[0156] In some embodiments, the memory 720 may store an operating system, which may be a real-time operating system (RTX), LINUX, UNIX, WINDOWS, or OS X.

[0157] In some embodiments, data may also be stored in the memory 720 .

[0158] As an example, the processor 710 may read data stored in the memory 720 , where the data may be stored at the same storage address as the instruction, or the data may be stored at a different storage address than the instruction.

[0159] The processor 710 is configured to call the instructions stored in the memory 720 to implement the steps of various exemplary embodiments of the present disclosure described in the above “Exemplary Method” section of this specification. For example, the processor 710 may execute the steps of the above cluster scheduling method embodiment.

[0160] It should be noted that the processor 710 may be a general-purpose processor or a special-purpose processor. The processor 710 may include one or more processing cores, and the processor 710 executes various functional applications and data processing by running instructions.

[0161] In some embodiments, the processor 710 may include a central processing unit (CPU) and / or a baseband processor.

[0162] In some embodiments, the processor 710 may determine an instruction according to the priority identifier and / or function category information carried in each control instruction.

[0163] In the present disclosure, the processor 710 and the memory 720 may be provided separately or integrated together.

[0164] As an example, the processor 710 and the memory 720 may be integrated on a single board or a system on chip (SOC).

[0165] like Figure 7 As shown, the electronic device 700 is in the form of a general-purpose computing device. The electronic device 700 may further include a bus 730 .

[0166] Bus 730 may be a bus representing one or more of several types of bus structures, including a memory bus or memory controller, a peripheral bus, an accelerated graphics port, a processor, or a local bus using any of a variety of bus architectures.

[0167] The electronic device 700 may also communicate with one or more external devices 740 (e.g., keyboards, pointing devices, Bluetooth devices, etc.), one or more devices that enable a user to interact with the electronic device 700, and / or any device that enables the electronic device 700 to communicate with one or more other computing devices (e.g., routers, modems, etc.). Such communication may be performed through an input / output (I / O) interface 750.

[0168] Furthermore, the electronic device 700 can also communicate with one or more networks (eg, a local area network (LAN), a wide area network (WAN) and / or a public network, such as the Internet) through the network adapter 760 .

[0169] like Figure 7 As shown, the network adapter 760 communicates with other modules of the electronic device 700 via the bus 730 .

[0170] It should be understood that although not shown in the figures, other hardware and / or software modules may be used in conjunction with the electronic device 700, including but not limited to: microcode, device drivers, redundant processing units, external disk drive arrays, RAID systems, tape drives, and data backup storage systems.

[0171] It is to be understood that the structure shown in the embodiment of the present disclosure does not constitute a specific limitation on the electronic device 700. In other embodiments of the present disclosure, the electronic device 700 may include: Figure 7 More or fewer components may be shown, or some components may be combined or separated, or the components may be arranged differently. Figure 7The components shown may be implemented in hardware, software or a combination of software and hardware.

[0172] The present disclosure also provides a computer-readable storage medium on which computer instructions are stored. When the computer instructions are executed by a processor, the cluster scheduling method described in the above method embodiment is implemented.

[0173] The computer-readable storage medium in the embodiments of the present disclosure is a computer instruction that can be sent, propagated or transmitted for use by or in conjunction with an instruction execution system, apparatus or device.

[0174] As one example, computer readable storage media are non-volatile storage media.

[0175] In some embodiments, more specific examples of computer-readable storage media in the present disclosure may include, but are not limited to: an electrical connection with one or more wires, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, a USB flash drive, a mobile hard disk, or any suitable combination of the foregoing.

[0176] In the embodiments of the present disclosure, the computer-readable storage medium may include a data signal propagated in a baseband or as a part of a carrier wave, in which computer instructions (readable program codes) are carried.

[0177] Such a propagated data signal may take a variety of forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination of the foregoing.

[0178] In some examples, computing instructions contained on a computer-readable storage medium may be transmitted using any appropriate medium, including but not limited to wireless, wireline, optical fiber cable, RF, etc., or any suitable combination of the foregoing.

[0179] The embodiment of the present disclosure further provides a computer program product, which stores instructions. When the instructions are executed by a computer, the computer implements the cluster scheduling method described in the above method embodiment.

[0180] The above instructions may be program codes. In specific implementation, the program codes may be written in any combination of one or more programming languages.

[0181] The programming language includes object-oriented programming languages, such as Java, C++, etc., and also includes conventional procedural programming languages, such as "C" language or similar programming languages.

[0182] The program code may execute entirely on the user's computing device, partly on the user's computing device, as a stand-alone software package, partly on the user's computing device and partly on a remote computing device or entirely on the remote computing device or server.

[0183] Where a remote computing device is involved, the remote computing device may be connected to the user computing device through any type of network, including a local area network (LAN) or a wide area network (WAN), or may be connected to an external computing device (e.g., through the Internet using an Internet service provider).

[0184] The embodiment of the present disclosure also provides a chip, including at least one processor and an interface;

[0185] An interface for providing program instructions or data to at least one processor;

[0186] At least one processor is used to execute program instructions to implement the cluster scheduling method described in the above method embodiment.

[0187] In some embodiments, the chip may further include a memory, which is used to store program instructions and data, and the memory is located inside or outside the processor.

[0188] Those skilled in the art will appreciate that all or part of the steps for implementing the above embodiments may be implemented in the following forms, namely: a complete hardware implementation, a complete software implementation (including firmware, microcode, etc.), or a combination of hardware and software implementations, which may be collectively referred to herein as "circuits", "modules" or "systems".

[0189] Other embodiments of the disclosure will be apparent to those skilled in the art from consideration of the specification and practice of the invention disclosed herein.

[0190] The present disclosure is intended to cover any variation, use or adaptation of the present disclosure, which follows the general principles of the present disclosure and includes common knowledge or customary technical means in the technical field not disclosed in the present disclosure. The description and examples are to be regarded as exemplary only, and the true scope and spirit of the present disclosure are indicated by the appended claims.

Claims

1. A cluster scheduling method, characterized in that: include: Obtain physical machine information of multiple nodes and task information of task requests; Determining, according to the task information, whether the task request is a high power consumption task; In the case where the task request is a high power consumption task, selecting a plurality of candidate nodes from the plurality of nodes based on the physical machine information of the plurality of nodes and the task information, wherein the available resources of the candidate nodes are greater than the resources requested in the task information; Inputting the task information and the physical machine information of each candidate node into an energy consumption prediction model to obtain an energy consumption prediction value of the task request when running on the candidate node; Determine the candidate node with the lowest predicted energy consumption value among the multiple candidate nodes as the target node; The task request is dispatched to the target node for execution.

2. The method according to claim 1, characterized in that The method further comprises: In a case where the task request is not a high power consumption task, selecting a plurality of candidate nodes from the plurality of nodes based on the physical machine information of the plurality of nodes and the task information; Determine the candidate node with the largest amount of remaining resources among the multiple candidate nodes as the target node; The task request is dispatched to the target node for execution.

3. The method according to claim 1, characterized in that: Before inputting the task information and the physical machine information of each candidate node into the energy consumption prediction model, the method further includes: Obtain historical task information, physical machine information, and task energy consumption information of multiple nodes; Using a normalization function to unify the historical task information and the physical machine information to a value between 0 and 1, to obtain a one-dimensional vector; Align and match the one-dimensional vector with the energy consumption information of the task according to the timestamp and the task identifier to obtain a training data set; A support vector regression model is selected, the one-dimensional vector is used as X input data for model training, and the energy consumption information of the task is used as Y input data for model training to obtain the energy consumption prediction model.

4. The method according to claim 1, characterized in that: When the task request is a high power consumption task, selecting a plurality of candidate nodes from the plurality of nodes based on the physical machine information of the plurality of nodes and the task information includes: In the case where the task request is a high power consumption task, based on the physical machine information of the multiple nodes and the task information, determining M nodes whose available resource amounts are greater than the resource amounts requested in the task information; Sorting the M nodes in descending order of available resources of the nodes; When M is greater than a quantity threshold N, selecting N nodes as the candidate nodes according to the ranking of the M nodes; When M is not greater than the quantity threshold N, determining the M nodes as the candidate nodes; Wherein, M and N are positive integers.

5. The method according to claim 1, characterized in that The step of determining the candidate node with the lowest predicted energy consumption value among the multiple candidate nodes as the target node includes: The plurality of candidate nodes are sorted according to the order of energy consumption prediction values ​​from low to high, wherein the candidate nodes with the same energy consumption prediction values ​​are sorted according to the order of available resources from large to small; The candidate node ranked first is determined as the target node.

6. The method according to any one of claims 1 to 5, characterized in that: The task information includes task type, resource request, resource limitation and concurrency, wherein the resource request records the amount of resources requested by the task request, and the resource limitation records the minimum amount of resources required by the task request.

7. The method according to any one of claims 1 to 5, characterized in that: The physical machine information includes physical machine hardware information and physical machine operation status information, and the physical machine operation status information includes physical machine temperature.

8. A cluster scheduling device, characterized in that: include: An information acquisition module is used to obtain physical machine information of multiple nodes and task information of task requests; A task determination module, used to determine whether the task request is a high power consumption task according to the task information; A first selection module is used to select a plurality of candidate nodes from the plurality of nodes based on the physical machine information of the plurality of nodes and the task information when the task request is a high power consumption task, wherein the available resource amount of the candidate nodes is greater than the resource amount requested in the task information; A model prediction module, used for inputting the task information and the physical machine information of each candidate node into an energy consumption prediction model to obtain an energy consumption prediction value of the task request to run on the candidate node; A second selection module is used to determine the candidate node with the lowest energy consumption prediction value among the multiple candidate nodes as the target node; The task scheduling module is used to schedule the task request to the target node for execution.

9. An electronic device, characterized in that: include: A memory for storing instructions; The processor is used to call the instructions stored in the memory to implement the cluster scheduling method according to any one of claims 1 to 7.

10. A computer-readable storage medium having computer instructions stored thereon, characterized in that: When the computer instructions are executed by a processor, the cluster scheduling method described in any one of claims 1 to 7 is implemented.