Task model training method for computing power scheduling and computing power scheduling method and system
By building a task model and using machine learning to analyze the impact of multi-dimensional resources on task execution time, adaptive scaling and adjustment of resource allocation in AI computing power scheduling is achieved, the problems of low resource utilization and waste in the existing technology are solved, and task deployment efficiency and resource utilization are improved.
Patent Information
- Application Number
- CN202311507154.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-11-13
- Publication Date
- 2025-04-22
- Estimated Expiration
- 2043-11-13
AI Technical Summary
The existing AI computing power scheduling methods mainly design scheduling strategies for GPU resources, and cannot fully utilize multi-dimensional resources, resulting in waste of resources and poor task performance.
By building a task model, machine learning methods are used to analyze the impact of multi-dimensional resources (such as CPU, GPU, memory) on task execution time, and realize adaptive scaling and adjustment of resource allocation.
The task deployment completion status and multi-dimensional resource utilization rate in AI computing power scheduling have been improved, the problem of over-resource application has been optimized, resource waste has been reduced, and overall resource utilization efficiency has been improved.
Smart Images

Figure CN117687774B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of cloud computing, specifically to the field of technical resource scheduling of cloud computing, and in particular to a task model training method for computing power scheduling and a computing power scheduling method and system. Background Art
[0002] With the widespread application of artificial intelligence technology in life in recent years, more and more intelligent computing power clusters have been built. In the field of cloud computing resource scheduling, the cluster scheduling problem of artificial intelligence (AI) computing power is proposed to solve the utilization rate of AI computing power resources and the deployment efficiency of machine learning tasks, and finally achieve the computing efficiency growth of AI computing power. At present, AI computing power cluster scheduling mainly analyzes the characteristics of machine learning (ML) tasks and optimizes the allocation of graphics processing unit (GPU) resources in AI computing power, so as to improve ML task performance or GPU resource utilization. For example, the characteristics of periodicity, preemptiveness and location sensitivity of ML tasks in the training process are considered to guide GPU allocation and sharing, meet the efficient scheduling requirements of different types of training tasks, and achieve the improvement of GPU resource utilization. The existing resource scheduling methods of artificial intelligence computing power usually only design scheduling strategies for the single dimension of GPU resources, but the actual task performance is not determined by considering only the single GPU resource allocation, but is determined by the joint action of multi-dimensional resources, so the design performance of the existing scheduling methods cannot be fully realized in the actual production cluster. Moreover, this AI computing power scheduling method cannot fully utilize the overall resources in multiple dimensions of the AI cluster, resulting in a waste of limited cluster resources. Summary of the invention
[0003] In order to solve the above problems, the present invention proposes a task model constructed in combination with a machine learning method, and uses it to perform scaling adjustments to resource allocation for tasks in the current dynamic queue to complete computing power scheduling.
[0004] According to the first aspect, an embodiment of the present invention provides a method for training a task model for computing power scheduling, including: taking task execution time, task GPU utilization, task average memory occupancy, task CPU core number, and task type as training samples; wherein the task GPU utilization, the task average memory occupancy, the task CPU core number, and the task type are used as inputs of the task model, and the task execution time is used as a label as the expected output value; according to the data in the training samples, the task model is trained based on a gradient boosting regression tree; and the trained task model is used as a prediction model for task execution time in a computing power resource allocation and scheduling method.
[0005] Preferably, the task types in the same training sample are the same.
[0006] Preferably, the task types include computer vision tasks, natural language processing tasks, reinforcement learning tasks, graph neural network tasks, and recommendation tasks.
[0007] Preferably, the depth of the regression tree is 10, the number of base learners used is 100, and the learning rate is 0.1.
[0008] According to the second aspect, an embodiment of the present invention provides a method for scheduling computing power, comprising: obtaining a task to be scheduled currently, the task including a task type and a first resource usage applied for the execution of the task; dynamically scaling the application quota of resources in the first resource usage that have a small impact on task performance without affecting task performance or within an acceptable range according to a task model obtained by any method in the first aspect, to obtain the resource usage allocated for the execution of the task; and scheduling computing power for the task according to the allocated resource usage.
[0009] Preferably, the task model obtained according to any method in the first aspect dynamically scales the resource application quota with little impact on task performance in the first resource usage without affecting task performance or within an acceptable range to obtain the resource usage allocated for the execution of the task, including: using the task model obtained according to any method in the first aspect, outputting the first expected execution time of the task according to the task type and the first resource usage; scaling the resource application quota with little impact on task performance in the resource dimension without affecting task performance or within an acceptable range to obtain a second resource usage; based on the second resource usage, outputting the second expected execution time of the task using the task model obtained by any method in the first aspect; when the difference between the first expected execution time and the second expected execution time is below a preset difference threshold, using the second resource usage as the allocated resource usage.
[0010] Preferably, the method further includes: if the difference between the first expected execution time and the second expected execution time exceeds a set difference threshold, using another resource scaling ratio to apply for a resource quota with a small impact on task performance in the resource dimension to perform resource scaling adjustment.
[0011] Preferably, it also includes: after using all the resource scaling rates to perform resource scaling adjustment on the resource dimension, when the execution time difference between the first expected execution time and the second expected execution time exceeds the difference threshold, the first resource usage is used as the allocated resource usage.
[0012] Preferably, the using of the task model to perform resource scaling adjustment under the set resource scaling rate for the resource dimension to obtain the second resource usage includes: screening out, from the resource dimensions, resource dimensions whose impact on the execution time of the task is less than a set impact degree threshold, as resource dimensions to be scaled; performing resource scaling adjustment under the set resource scaling rate for the resource dimensions to be scaled to obtain the second resource usage.
[0013] According to the third aspect, an embodiment of the present invention provides a computing power scheduling system, including: a server, a task queue, and a scheduler, characterized in that it also includes a task history operation log database and a task model as described in any one of the first aspects; the task history operation log database is used to collect and save historical data of tasks, including resource usage, execution time, and task type; the task model is used to dynamically scale the application quota of resources that have little impact on task performance in the scheduled tasks, so as to obtain the resource usage allocated for the execution of the task.
[0014] According to a fourth aspect, an embodiment of the present invention provides a storage medium, in which computer executable instructions are stored. When the computer executable instructions are loaded and executed by a processor, the steps of any method in the first or second aspect are implemented.
[0015] Compared with the prior art, the advantages of the present invention are:
[0016] Compared with the current AI computing power scheduling method that is limited to being designed for GPU resource allocation, the scheduling method of the present invention can integrate the impact of multi-dimensional resources on task performance to complete adaptive resource dynamic scheduling, and effectively improve the task deployment completion and multi-dimensional resource utilization in AI computing power scheduling. This method of dynamically adjusting resource requirements can optimize the problem of over-application of resources that occurs during the user task application process and reduce resource waste. At the same time, this method also optimizes the inefficient use of some dimensional resources of ML tasks due to the mismatch between resources of various dimensions, thereby improving the overall resource utilization efficiency of AI computing power. BRIEF DESCRIPTION OF THE DRAWINGS
[0017] The embodiments of the present invention are further described below with reference to the accompanying drawings, in which:
[0018] Figure 1 A schematic diagram of a computing power scheduling system architecture according to an embodiment of the present invention;
[0019] Figure 2 A schematic diagram of a flow chart of a computing power scheduling method based on a task model according to an embodiment of the present invention;
[0020] Figure 3A flowchart of multi-dimensional resource scaling scheduling steps according to an embodiment of the present invention;
[0021] Figure 4 Schematic diagram of the hardware device architecture of the scheduling system according to an embodiment of the present invention. DETAILED DESCRIPTION
[0022] In order to make the purpose, technical solutions and advantages of the present invention more clearly understood, the present invention is further described in detail by specific embodiments below. It should be understood that the specific embodiments described herein are only used to explain the present invention and are not used to limit the present invention.
[0023] When conducting research on AI computing power scheduling, the inventor found that the reason why the existing computing power resource utilization is low or even causes resource waste is that only GPU resources are considered in the scheduling process, while the impact of multiple dimensional resources on the actual task performance is ignored. In order to improve the task operation performance and resource utilization of AI computing power, and to overcome the shortcomings of the existing AI computing power scheduling method that only designs scheduling strategies for the dimension of GPU resources, the inventor proposed, based on the analysis of existing multi-dimensional resources and the analysis of actual production clusters, to model the impact of multi-dimensional resource requirements of machine learning (ML) tasks in different types of AI computing power clusters on task execution through machine learning, and to complete adaptive resource scaling allocation scheduling in combination with computing power resource status, to guide resource scheduling in AI computing power scenarios, so as to improve the task deployment execution efficiency on the user task side and the resource utilization on the hardware resource side. In the present invention, the multi-dimensional resources generally include the number of CPU cores, GPU usage, and memory usage; in some embodiments, they may also include the capacity of applying for network resources.
[0024] Figure 1The figure is a schematic diagram of the architecture of a computing power scheduling system according to an embodiment of the present invention. The computing power scheduling system is composed of users, different types of servers, task queues, task history operation log databases, task resource performance models (hereinafter referred to as task models) and schedulers. Among them, users are the main body of submitting machine learning tasks, and can submit tasks online or offline. The task queue of the current scheduling round can be updated according to the tasks submitted by users. The server is the main body of running tasks, and the process of computing power scheduling is to deploy tasks to the server; server types include core computing power resources and edge computing power resources, specifically including physical machines, virtual machines, edge computing nodes, etc. The task queue is responsible for maintaining a dynamic task list composed of online submitted user tasks, saving all tasks waiting to be scheduled, and in the process of computing power scheduling, it is necessary to select tasks that can be executed in the current server state from the task queue to perform computing power scheduling. The task history operation log database is responsible for collecting and saving historical data of tasks, including resource usage, execution time, task type, etc.; in some embodiments, historical data includes task start time, task end time, task GPU utilization, task average memory occupancy, task CPU core number, task type (i.e., application type of task load). The task model is responsible for guiding the adaptive resource scaling adjustment process of tasks during the scheduling process.
[0025] The operation process of the computing power scheduling system is as follows: the scheduler updates the dynamic task queue according to the tasks dynamically submitted by users, as well as specific task attributes such as task type and multi-dimensional resource requirements. For each round of current scheduling: at the task level, the scheduler combines the task model to adaptively scale the resource requirements of the current user tasks in the task queue, and returns the updated task demand resource quantity to the scheduler; at the cluster level, the scheduler combines the task demand scaling results and the multi-dimensional resource usage status of the cluster, and deploys the tasks to the server nodes that can meet the resource requirements, so as to achieve dynamic optimization of the resource allocation of cluster jobs. Finally, the scheduling system updates the execution status at the task level and the resource status at the cluster level, and prepares for the next round of scheduling.
[0026] According to one embodiment of the present invention, a training method for a task model is proposed, and the construction of the task model is completed by using a machine learning regression analysis method based on historical data in a task history operation log database. Specifically, the modeling process is based on the machine learning method of extreme gradient boosting (XGBoost), which analyzes the multi-dimensional resource requirements of different types of tasks, that is, the impact of multi-dimensional resources on task execution time. XGBoost is based on the boosting (i.e., Boosting) method to train a set of decision trees, and uses the gradient boosting method to iteratively fit the residuals of the decision trees. The output result obtained by the XGBoost model is the weighted sum of the predicted values of all residual iterative decision trees. The objective function of the task resource demand prediction model based on XGBoost consists of a loss function that measures the model fit and a regularization term that increases the complexity of the model. The model structure establishment process of the task resource demand prediction model requires minimizing the objective function value. The specific method is to select the feature value cut-off point of the leaf node by maximizing the branch gain, and to build a new branch of the tree model for each feature in the model in turn, and finally complete the modeling task resource demand XGBoost model. Each time, the feature with the largest branch gain is selected as the segmentation feature of the leaf node, and the resource features are selected in turn to complete the construction of the task resource demand prediction model, so that the total objective function of the model obtained is the smallest, and the task resource demand prediction model for data fitting prediction is established. Preferably, the training method includes: taking the task execution time, task GPU utilization, task average memory occupancy, task CPU core number, and task type as training samples; wherein the task GPU utilization, task average memory occupancy, task CPU core number, and task type are used as inputs of the task model, and the task execution time (i.e., the start time to the end time of the task execution) is the label as the expected output value. The features (i.e., inputs) in the training sample are task GPU utilization, task average memory occupancy, task CPU core number, and task type. The label (i.e., output) in the training sample is the task execution time; the task execution time is the start time to the end time of the task execution. Because the content of the original tracking log record is the task start and end time, it is necessary to calculate the task execution time in the training sample through data preprocessing. The task types involved in the training samples may be different, but in order to achieve more accurate computing power scheduling, in some embodiments, when training a task model, the task types in its training samples are the same, that is, the corresponding task models are trained for different task types. The task types may include computer vision tasks, natural language processing tasks, reinforcement learning tasks, graph neural network tasks, recommendation tasks, and other common machine learning task types in various fields.The task model is trained according to the data in the training sample; in some embodiments, the model is modeled based on the gradient boosting tree regression method, that is, the regression method provided in the XGBoost library, and the task regression model corresponding to the current task type regresses the task execution time using the task resource usage, that is, the input is the resource situation and the task type, and the output is the predicted execution time of the task. In some embodiments, during the training process, the depth of the regression tree is 10, the number of base learners used in the Boosting ensemble learning is 100, and the learning rate is 0.1. The trained task model is used as a prediction model for the task execution time in the computing power scheduling method.
[0027] The embodiment of the present invention constructs task models of different task types based on machine learning methods, which are used to guide dynamic resource scaling in the online scheduling process. It can solve the problem of over-application of resources for tasks in the resource scheduling and allocation process, and improve the utilization rate of cluster resources and the completion of task deployment.
[0028] The computing power scheduling system of the present invention completes the scaling adjustment of online task resource demand allocation based on task performance modeling. The system starts from the two levels of user tasks and cluster resources to optimize the resource scheduling of AI computing power. Specifically, it includes: at the task level, based on the expected performance of the task and the task resource performance model, adaptive scaling adjustment of task requirements is performed to improve the efficiency of task deployment and execution; and at the cluster level, based on the use status of resource utilization in multiple dimensions, resource allocation scheduling is optimized, and the scheduling strategy of ML tasks after resource scaling is completed is designed, thereby improving resource utilization in AI computing power scheduling.
[0029] Figure 2It is a flow chart of a computing power scheduling method based on a task model according to an embodiment of the present invention. The method includes: receiving a task submitted by a user, the task including a task type and the number of multiple dimensional resources applied for the execution of the task (i.e., the first resource usage). Resource usage includes the number of CPU cores, the percentage of GPU utilization, the average memory usage, and the task load type. In some embodiments, resource usage may also include the capacity of network resources applied for. According to the user tasks to be executed in the current scheduling round, the task queue of the scheduling system is updated, and the scheduler is periodically notified to perform scheduling. Among them, the cycle can be reasonably adjusted according to the load level; preferably, the cycle can be set to 5 minutes. The cycle of the scheduling round can be set according to the system operation requirements, and the scheduling queue maintains the tasks submitted by the current user waiting to be executed and their specific resource demand information through a list. The scheduling queue sorts the tasks currently waiting for scheduling according to the scheduling strategy, where the scheduling strategy includes priority scheduling of the first submitted tasks (first come first served), shortest remaining time priority and primary resource fairness, etc., and supports further modification and customization of the sorting of tasks waiting for scheduling; among them, shortest remaining time priority means that every time a new task arrives at the adjustment scheduling queue, the task that will end in the shortest time is given priority; primary resource fairness means that due to the application of resources in multiple dimensions, it is necessary to ensure the fairness between resources in task scheduling, and the resources with the smallest proportion of the total resource pool in the scheduling queue are given priority in order to achieve the effect of fairness in resource allocation between tasks. The scheduler requests the current task in the scheduling queue. The scheduling queue sets the first task from the initial waiting state to the scheduling state according to the task sorting result under the currently specified scheduling strategy, and then executes the scheduling process of the current task.
[0030] For the resource application of the current task in the scheduling state, an adaptive resource scaling process based on task model prediction is performed to adjust the resource application demand of the task. Figure 3The flowchart of the multi-dimensional resource scaling scheduling step is as follows. First, the task model corresponding to the task type of the current task is determined, and the execution time of the current task under different multi-dimensional resource application amounts is predicted according to the task model. The construction input of the task model includes the usage of different dimensional resources in the historical log data and the corresponding task execution time. The regression model is obtained based on the machine learning method, and the expected task execution time under the resource application amount can be predicted. According to one embodiment of the present invention, a model is trained for each task type, so that the model obtained has higher accuracy. Combined with the existing model feature importance analysis method, the degree of influence of different dimensional resources in the current task model on the final task execution time is obtained. Combined with the original resource application result of the current task, the resource dimension with a small influence on the task execution time is adjusted under the set resource scaling rate to obtain the allocated resource usage. The resource scaling rate is one of the parameters of the present invention, which represents the percentage amplitude of the adjustment of the resource usage. By selecting a suitable parameter as the resource scaling rate, it is possible to reduce resource waste under the premise of ensuring the actual task execution efficiency. Since different tasks have different sensitivity to resources, the present invention adaptively searches for a resource scaling rate that meets the performance requirements of the current task. Among them, the resource scaling rate search method is to combine the task model and perform binary search at different resource scaling rates to ensure the task performance requirements while maximizing the resource savings of the task application. Specifically, the importance of multi-dimensional resource features is ranked according to the degree of influence of each dimensional resource feature in the task model on the task execution time. Among them, the degree of influence is determined by randomly shuffling the feature value of each dimensional resource and calculating the decrease in the prediction accuracy of the task model compared with the case without random shuffling. The greater the decrease, the greater the influence of the corresponding dimensional resource on the task execution time, and the higher its importance. For the resource scaling with low feature importance (little impact on task performance), its quota is adjusted, that is, it is adaptively and dynamically scaled without affecting the task performance or within the acceptable range for the user. For example, the task resource performance model of the current task A indicates that CPU and GPU are important features that affect the task execution time, and memory has little impact on task performance. Then, in the resource scaling stage, the memory applied by the user is scaled. The scaling ratio is determined by combining the task model and performing binary search at different resource scaling rates, that is, the resource scaling rate that meets the current task performance requirements.Through the current task model, the task execution time corresponding to the resource demand after the resource scaling adjustment is predicted again; by comparing the task execution time before and after the resource scaling adjustment, it is determined whether the resource scaling adjustment process has a significant impact on the task performance beyond the performance adjustment threshold. If the impact is large, the scheduling method attempts resource scaling adjustment under other resource scaling rates; finally, if the impact is within the threshold range, the scheduling method receives the current resource application adjustment result (that is, the allocated resource usage is used as the second resource usage) and applies it to the scheduling process; if all the set resource scaling rates have a large impact on the task execution time, the scheduling method abandons the resource scaling adjustment of the task and directly applies the original resource application result to the scheduling process. In the process of resource scaling of memory, the task model of task A is used to perform the expected task execution time before and after scaling (the execution time difference between the first expected execution time and the second expected execution time). If the execution time difference before and after scaling is less than the set difference threshold, memory scaling is performed. If not, the scaling size is adjusted until the condition is met. If the current resource scaling affects the task performance or the execution time difference is not within an acceptable range, the original resource application of the current task (that is, the resources applied for the task when the user submitted the task, that is, the first resource usage is used as the second resource usage) is directly returned without making any resource scaling adjustments to avoid affecting the system's service quality.
[0031] After executing resource scaling, the final resource request amount of the task in the current scheduling status is submitted to the scheduler, waiting for the scheduler to allocate the corresponding available resources. The scheduler allocates the corresponding server resources based on the resource availability status of the servers in the current AI computing power cluster, including the current usage of multiple dimensional resources and the load balance between servers. If the current server status cannot meet the execution of the current task, the scheduling fails, and the current task is resubmitted to the task queue, waiting for the next round of scheduling. The user task that failed to be scheduled will be automatically resubmitted until it can be scheduled.
[0032] Execute task deployment, schedule tasks to the corresponding servers for execution, update the server resource usage status of the current task execution, and the completion status of the current task, and wait for the next round of scheduling to execute a new round of online scheduling. Adaptive resource scaling scheduling method based on task prediction.
[0033] The computing power scheduling method of the embodiment of the present invention guides the resource scheduling in the AI computing power scenario, comprehensively considers the scheduling allocation of multiple dimensional resources, and is used to improve the task deployment and execution efficiency of user tasks. At the user task level, by analyzing and modeling the impact of multi-dimensional resource factors on tasks, adaptive dynamic resource scaling adjustment is achieved, task deployment and completion are optimized, and task efficiency is improved. Since the actual task execution efficiency is determined by the overall composition of multi-dimensional resources, the present invention takes into account the resource demand characteristics of different types of tasks and the cluster utilization of multi-dimensional resources, which can solve the mismatch problem between multi-dimensional resources allocated at the task level, and can also improve the deployment efficiency of cluster-level tasks and the utilization of multi-dimensional resources.
[0034] Figure 4 It is a hardware device equipped with the adaptive task resource scaling scheduling system, including the functional implementation of the above scheduling steps and the corresponding architecture module. The scheduling architecture module can be implemented by multiple hardware or processors required by the corresponding steps, and the scheduling process is implemented by executing the code of the scheduling system process stored in the computer readable medium.
[0035] The device includes a processor of a central processing unit, an internal bus, a network interface and a computer-readable storage medium. The processor and the computer-readable storage medium communicate with each other through the bus. The readable medium stores program codes for implementing all or part of the functions of the adaptive task resource scaling scheduling system in the present invention. When the program is executed by the processor, the adaptive task resource scaling scheduling function can be implemented.
[0036] The present invention proposes an adaptive task resource scaling scheduling algorithm based on a machine learning task prediction method. The method combines the task performance model under multi-dimensional resources to optimize the problem of over-application of resources and mismatch between multi-dimensional resources when users submit tasks. Through machine learning methods, the present invention constructs the importance of the impact of different resource dimensions on the final performance of tasks, and adaptively optimizes the scaling of the over-application part. The resource scheduling method optimizes the resource requirements of user tasks so that resources in all dimensions of the computing power cluster can be efficiently used, especially making full use of scarce and expensive GPU resources, effectively improving the overall utilization efficiency of the cluster.
[0037] The various embodiments of this specification are described in a progressive manner, and each embodiment focuses on the differences from other embodiments or implementations. The same or similar parts between the various embodiments of the present invention can be referred to each other, and the implementation principles of the inventive concept and the technical effects produced can be referred to each other, which will not be repeated here. In the absence of conflict, the various embodiments or implementations of the present invention can be combined with each other.
[0038] It should be noted that although the above describes the various steps in a specific order, it does not mean that the various steps must be executed in the above specific order. In fact, some of these steps can be executed concurrently or even in a different order as long as the required functions can be achieved.
[0039] The present invention may be a system, a method and / or a computer program product. The computer program product may include a computer-readable storage medium carrying computer-readable program instructions for causing a processor to implement various aspects of the present invention.
[0040] Computer readable storage medium can be a tangible device that holds and stores instructions used by an instruction execution device. Computer readable storage medium can include, for example, but is not limited to, an electrical storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination thereof. More specific examples (non-exhaustive list) of computer readable storage medium include: 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), a static random access memory (SRAM), a portable compact disk read-only memory (CD-ROM), a digital versatile disk (DVD), a memory stick, a floppy disk, a mechanical encoding device, for example, a punch card or a protruding structure in a groove on which instructions are stored, and any suitable combination thereof.
[0041] The embodiments of the present invention have been described above, and the above description is exemplary, not exhaustive, and is not limited to the disclosed embodiments. Many modifications and changes will be apparent to those of ordinary skill in the art without departing from the scope and spirit of the described embodiments. The selection of terms used in the embodiments of the present invention is intended to best explain the principles of the embodiments, practical applications, or technical improvements in the market, or to enable other persons of ordinary skill in the art to understand the embodiments disclosed in the embodiments of the present invention.
Claims
1. A method for computing power scheduling, characterized in that: include: Acquire a task to be scheduled currently, the task including a task type and a first resource usage amount requested for execution of the task; Outputting a first expected execution time of the task according to the task type and the first resource usage using the trained task model; Determine the dimensional resource to be adjusted according to the degree of influence of each dimensional resource feature in the task model on the task execution time, and perform scaling adjustment on the application quota of the dimensional resource to be adjusted without affecting the task performance or within an acceptable range to obtain a second resource usage; Outputting a second expected execution time of the task using the task model according to the second resource usage; If the difference between the first expected execution time and the second expected execution time exceeds a preset difference threshold, another resource scaling ratio is used to perform resource scaling adjustment on the application quota of the dimension resource to be adjusted; When a difference between the first expected execution time and the second expected execution time is below a preset difference threshold, using the second resource usage as the allocated resource usage; The task is scheduled for computing power according to the allocated resource usage.
2. The method according to claim 1, characterized in that Also includes: After using all the resource scaling rates to perform resource scaling adjustment on the resource dimension, when the execution time difference between the first expected execution time and the second expected execution time exceeds the difference threshold, the first resource usage is used as the allocated resource usage to perform computing power scheduling of the task.
3. The method according to claim 1, characterized in that The task model is trained through the following steps: Task execution time, task GPU utilization, task average memory usage, task CPU core number, and task type are used as training samples; wherein the task GPU utilization, the task average memory usage, the task CPU core number, and the task type are used as inputs of the task model, and the task execution time is used as a label as the expected output value; According to the data in the training sample, the task model is trained based on the gradient boosted regression tree; The trained task model is used as a prediction model for task execution time in a computing power scheduling method.
4. The method according to claim 3, characterized in that: The task types in the same batch of training samples are the same.
5. The method according to claim 4, characterized in that The task types supported by the trained task model include computer vision tasks, natural language processing tasks, reinforcement learning tasks, graph neural network tasks, and recommendation tasks.
6. The method according to claim 3, characterized in that The depth of the regression tree is 10, the number of base learners used is 100, and the learning rate is 0.
1.
7. A computing power scheduling system, comprising: The server, task queue and scheduler are characterized in that they also include a task history operation log database and a trained task model, wherein the task model is used to output the execution time of the task according to the input task type and resource usage; The task history operation log database is used to collect and save the historical data of tasks, including resource usage, execution time, and task type; The system dynamically scales and adjusts the application quota of the dimension resources to be adjusted in the task to be scheduled based on the task model and using the method according to any one of claims 1 to 6, so as to obtain the resource usage allocated for the execution of the task; The dimensional resources to be adjusted are determined according to the degree of influence of the characteristics of each dimensional resource in the task model on the task execution time.
8. A storage medium, characterized in that: The storage medium stores computer executable instructions, and when the computer executable instructions are loaded and executed by the processor, the steps of any method as claimed in claim 1 to 6 are implemented.
Citation Information
Patent Citations
Computing power scheduling method based on deep learning
CN116974768A
Execution time prediction for energy-efficient computer systems
US20180321980A1
Data processing method and apparatus, electronic device, and storage medium
US20210295100A1