Heterogeneous multitask computing power dynamic scheduling method and system

Through dynamic classification and resource preemption mechanisms, the problem of low resource utilization in heterogeneous computing environments is solved, and efficient computing resource allocation and task execution are achieved.

CN120469784AActive Publication Date: 2025-08-12GUIYANG YIYI TECH CO LTD

Patent Information

Application Number
CN202510963303.1
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-07-14
Publication Date
2025-08-12
Estimated Expiration
2045-07-14

AI Technical Summary

Technical Problem

Traditional computing power scheduling methods have low resource utilization and high response delay in heterogeneous computing environments, and cannot dynamically adjust task priorities, resulting in waste of resources and slow computing speed.

Method used

By analyzing the priority and resource status of the computing task, dynamically classify computing resources, use the resource preemption mechanism to allocate resources for high-priority tasks, and seize resources for low-priority tasks when resources are insufficient, and reassign computing resources.

Benefits of technology

It improves the utilization rate of computing resources, ensures the rapid execution of high-priority tasks, reduces the resource usage of low-priority tasks, and improves the overall computing performance and response speed of the system.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120469784A_ABST
    Figure CN120469784A_ABST
Patent Text Reader

Abstract

The invention relates to the technical field of computing resource scheduling, and discloses a heterogeneous multi-task computing power dynamic scheduling method and system.The method comprises the steps that in response to multiple computing task requirements of a user, the priority of computing tasks is analyzed and sorted, and a task priority sequence is obtained; classifying the heterogeneous computing resources according to the resource states of the heterogeneous computing resources, and respectively placing different categories of computing resources in corresponding resource pools to obtain multiple categories of resource pools; in combination with the task priority sequence and the multi-class resource pool, allocating computing resources of a corresponding class to each task through a preset resource matching mechanism; in the task calculation process, when the calculation resources of the first task are insufficient, the calculation resources of the second task are preempted through a preset resource preemption mechanism, the priority of the second task is improved after resource preemption, and the calculation resources are redistributed; according to the method and the device, the corresponding computing resources can be allocated in combination with the task priorities, and the resources are dynamically scheduled when the computing resource gap appears.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the technical field of computing resource scheduling, and in particular to a method and system for dynamically scheduling heterogeneous multi-task computing power. Background Art

[0002] With the development of artificial intelligence, big data analytics, and cloud computing, computing resources have become the foundation of digital computing. Scheduling computing resources during the computational process can improve computational speed and optimize resource utilization. However, traditional computing resource scheduling methods suffer from low resource utilization, high response latency, and rigid task prioritization when faced with heterogeneous computing environments and diverse task demands.

[0003] The existing technology has the following problems: it adopts a single computing resource scheduling mechanism, which cannot be dynamically adjusted as the computing load changes, resulting in uneven cluster load and resource waste; when analyzing task priorities, only the static priority of the task is considered, and the impact of dynamic factors on the task priority is not considered, resulting in the task priority order being unable to reflect the actual task emergency situation; it adopts a single resource allocation and scheduling method, which lacks dynamic resource matching and scheduling methods, making the resource allocation results unable to meet the actual computing task requirements, affecting the task computing speed and computing resource utilization; in order to solve at least one of the above problems, the present invention proposes a heterogeneous multi-task computing power dynamic scheduling method and system. Summary of the Invention

[0004] In view of the shortcomings of the existing technology, the main purpose of the present invention is to provide a method and system for dynamic scheduling of heterogeneous multi-task computing power, which can effectively solve the problems in the background technology. The specific technical solutions of the present invention are as follows:

[0005] A method for dynamic scheduling of heterogeneous multi-task computing power, comprising:

[0006] In response to the user's multiple computing task requirements, the task priority order is obtained by analyzing the priority of the computing tasks and sorting them;

[0007] Classifying the heterogeneous computing resources according to their resource states, placing computing resources of different categories into corresponding resource pools, and obtaining multiple resource pools;

[0008] Based on the task priority order and multiple resource pools, a corresponding category of computing resources is allocated to each task through a preset resource matching mechanism;

[0009] During the task calculation process, when the computing resources of the first task are insufficient, the computing resources of the second task are preempted through the preset resource preemption mechanism. After the resources are preempted, the priority of the second task is increased and the computing resources are reallocated to dynamically schedule the computing power.

[0010] The resource preemption mechanism includes:

[0011] During the task calculation process, the computing resources required for the first task and the real-time computing resources are analyzed to obtain the computing resource gap of the first task;

[0012] Based on the computing resource gap and the real-time status of the resources, when the idle resources in the resource pool where the first task is located are greater than a preset fourth threshold, preempt the computing resources in the pool, preempt the computing resources of the second task in the pool, increase the priority of the second task, and reallocate the computing resources;

[0013] When the idle resources in the resource pool where the first task is located are less than or equal to the preset fourth threshold, cross-pool resource preemption is performed to preempt computing resources of computing tasks in non-resource pools, increase the priority of the preempted tasks, and reallocate computing resources.

[0014] Specifically, in response to the user's multiple computing task requirements, the task priority sequence is obtained by analyzing and sorting the priorities of the computing tasks, including:

[0015] According to the user's multiple computing task requirements, the static priority value of each computing task is obtained by analyzing the static characteristics of each computing task;

[0016] By analyzing the waiting time of each computing task, the static priority value is updated to obtain a corresponding dynamic priority value;

[0017] According to the dynamic priority values, the computing tasks are sorted from high to low to obtain a task priority order.

[0018] Specifically, the static priority value is updated by analyzing the waiting time of each computing task to obtain the corresponding dynamic priority value, including:

[0019] By analyzing the waiting time of each computing task, the corresponding dynamic adjustment factor is calculated;

[0020] When the dynamic adjustment factor is greater than a preset first threshold, the static priority value of the corresponding computing task is updated to obtain a first dynamic priority value;

[0021] Within a preset first time period, updating the static priority value of each computing task according to the dynamic adjustment factor to obtain a second dynamic priority value;

[0022] The first dynamic priority value and the second dynamic priority value are combined to obtain a dynamic priority value for each computing task.

[0023] Specifically, the heterogeneous computing resources are classified according to their resource status, and different types of computing resources are placed in corresponding resource pools, thereby obtaining multiple types of resource pools, including:

[0024] According to the resource status of heterogeneous computing resources, the hardware parameters, operation status indicators and load characteristics of the heterogeneous computing resources are extracted respectively, and the state feature vector is constructed;

[0025] Clustering the heterogeneous computing resources according to the state feature vector to obtain computing resource categories;

[0026] The computing resources are placed into different resource pools according to the computing resource categories to obtain multiple resource pools.

[0027] Specifically, combining the task priority order and multiple resource pools, allocating computing resources of corresponding categories to each task through a preset resource matching mechanism includes:

[0028] According to the task priority order and multiple resource pools, through a preset category matching mechanism, when the priority of a computing task matches the category of the corresponding resource pool, an undirected edge is established between the corresponding computing task node and the resource pool node to construct a task resource graph, in which a computing task node is connected to at least one resource pool node;

[0029] Extracting, from the task resource graph, task nodes whose order is higher than a preset second threshold according to the task priority order as a high-priority task set, and extracting, from the task resource graph, task nodes whose order is lower than or equal to the preset second threshold as a low-priority task set;

[0030] For the high-priority task set, respectively calculate the matching scores between the task set and the connected resource pool nodes, match the computing task nodes in the high-priority task set to the resource pool nodes with the highest matching scores, and allocate corresponding computing resources;

[0031] For the low-priority task set, the corresponding resource pool nodes are dynamically matched in the corresponding connected resource pool nodes by calculating the corresponding matching scores, and the corresponding computing resources are allocated.

[0032] Specifically, for the low-priority task set, dynamically matching corresponding resource pool nodes in corresponding connected resource pool nodes by calculating corresponding matching scores and allocating corresponding computing resources includes:

[0033] For each computing task node in the low-priority task set, calculate the matching score between each computing task node and the corresponding connected resource pool node;

[0034] The resource pool nodes whose matching scores are greater than a preset third threshold are used as a candidate resource pool set for the corresponding computing task node;

[0035] According to the priority order of computing tasks in the low-priority task set, select the resource pool node with the highest matching score in the candidate resource pool set for each computing task, and allocate the corresponding computing resources;

[0036] When the amount of computing resources in the resource pool node with the highest matching score in the candidate resource pool set is less than the preset third resource threshold, the next resource pool node in the candidate resource pool set is matched for the corresponding computing task node in descending order of matching scores, and the corresponding computing resources are allocated until the corresponding computing resources are allocated to each computing task.

[0037] Specifically, according to the computing resource gap and the real-time status of the resources, when the idle resources in the resource pool where the first task is located are greater than a preset fourth threshold, resource preemption is performed in the pool, computing resources of the second task in the pool are preempted, the priority of the second task is increased, and computing resources are reallocated, including:

[0038] Based on the computing resource gap and the real-time status of the resources, the idle resources allocated to the computing tasks in the resource pool where the first task is located are used as elastic resources for each computing task;

[0039] When the idle resources in the resource pool where the first task is located are greater than a preset fourth threshold, selecting the computing task with the largest elastic resources as the second task;

[0040] According to the computing resource gap, the first task preempts the elastic resources of the second task. When the elastic resources are smaller than the computing resource gap, the first task preempts the elastic resources of the next computing task in descending order of elastic resources until the computing resource gap is met.

[0041] After resource preemption, the priority of the preempted resource task is increased according to the amount of preempted resources, and computing resources are reallocated.

[0042] Specifically, when the idle resources in the resource pool where the first task is located are less than or equal to a preset fourth threshold, cross-pool resource preemption is performed to preempt computing resources of computing tasks in a resource pool other than the first task's location, and the priority of the preempted task is increased, and computing resources are reallocated, including:

[0043] When the idle resources in the resource pool where the first task is located are less than or equal to a preset fourth threshold, selecting a non-local resource pool with the largest amount of idle resources from the set of resource pool nodes connected to the first task node as the preempted resource pool;

[0044] According to the elastic resources of each computing task in the preempted resource pool, sort them from largest to smallest to obtain the elastic resource order;

[0045] Allocating idle resources in the preempted resource pool to the first task;

[0046] When the idle resources do not meet the computing resource gap of the first task, the first task preempts the elastic resources of the computing tasks according to the elastic resource sequence until the computing resource gap is met;

[0047] After resource preemption, the priority of the preempted task is increased according to the amount of preempted resources, and computing resources are reallocated.

[0048] A heterogeneous multi-task computing power dynamic scheduling system, used to implement the heterogeneous multi-task computing power dynamic scheduling method, comprising:

[0049] The task sorting module, in response to the user's multiple computing task requirements, analyzes the priority of the computing tasks and sorts them to obtain the task priority order;

[0050] A resource classification module classifies heterogeneous computing resources according to their resource states, and places computing resources of different categories into corresponding resource pools to obtain multiple resource pools;

[0051] A resource allocation module, combining the task priority order and multiple resource pools, allocates computing resources of corresponding categories to each task through a preset resource matching mechanism;

[0052] The resource scheduling module, during the task calculation process, when the computing resources of the first task are insufficient, the computing resources of the second task are preempted through the preset resource preemption mechanism. After the resources are preempted, the priority of the second task is increased and the computing resources are reallocated to dynamically schedule the computing power.

[0053] Compared with the prior art, this application has the following beneficial effects:

[0054] This application dynamically allocates computing resources through dynamic adjustment of task priorities combined with graph matching, which can ensure that the task priority order can reflect the actual execution status of the computing tasks, and match the corresponding computing resources to each computing task, ensuring that high-priority tasks are allocated computing resources that can meet their computing needs, thereby improving the computing speed, and at the same time avoiding the problem of low-priority tasks occupying computing resources and causing resource waste. Through resource preemption and priority compensation, when resources are insufficient during the calculation process of high-priority tasks, the idle computing resources of other tasks are preempted to ensure the smooth progress of the high-priority task calculation process, and compensate the priority of the preempted task, reducing the impact of resource preemption on the calculation process of the preempted task, and improving the overall computing performance of the system. BRIEF DESCRIPTION OF THE DRAWINGS

[0055] Figure 1 This is a workflow diagram of a method for dynamic scheduling of heterogeneous multi-task computing power in Example 1 of the present invention;

[0056] Figure 2 This is a schematic diagram of a task resource graph in Example 1 of the present invention;

[0057] Figure 3 This is a schematic diagram of resource preemption in a pool according to Example 1 of the present invention;

[0058] Figure 4 This is a schematic diagram of cross-pool resource preemption in Example 1 of the present invention;

[0059] Figure 5 This is a structural diagram of a heterogeneous multi-task computing power dynamic scheduling system in Example 2 of the present invention. DETAILED DESCRIPTION

[0060] In order to make the above-mentioned objects, features and advantages of the present invention more obvious and easy to understand, the specific embodiments of the present invention are described in detail below with reference to the accompanying drawings.

[0061] In the following description, many specific details are set forth to facilitate a full understanding of the present invention. However, the present invention may also be implemented in other ways different from those described herein. Those skilled in the art may make similar generalizations without violating the connotation of the present invention. Therefore, the present invention is not limited to the specific embodiments disclosed below.

[0062] Secondly, the term "one embodiment" or "embodiment" herein refers to a specific feature, structure, or characteristic that may be included in at least one implementation of the present invention. The phrase "in one embodiment" appearing in various places throughout this specification does not necessarily refer to the same embodiment, nor does it refer to a separate or selective embodiment that is mutually exclusive of other embodiments.

[0063] Example 1

[0064] This embodiment provides a method for dynamic scheduling of heterogeneous multi-task computing power, such as Figure 1 As shown, the method for dynamic scheduling of heterogeneous multi-task computing power includes:

[0065] S101, in response to multiple computing task requirements of a user, analyzing and sorting the priorities of the computing tasks to obtain a task priority sequence;

[0066] S102: classify the heterogeneous computing resources according to their resource states, and place computing resources of different categories into corresponding resource pools, thereby obtaining multiple resource pools.

[0067] S103, combining the task priority order and multiple resource pools, allocating computing resources of corresponding categories to each task through a preset resource matching mechanism;

[0068] S104. During the task calculation process, when the computing resources of the first task are insufficient, the computing resources of the second task are preempted through the preset resource preemption mechanism. After the resources are preempted, the priority of the second task is increased and the computing resources are reallocated to dynamically schedule the computing power.

[0069] This embodiment analyzes and sorts the computing tasks by priority, and allocates corresponding computing resources to computing tasks with high priority according to the priority order of the tasks, ensuring that key tasks are executed first; classifies resources according to their resource status to improve resource allocation efficiency, and can quickly allocate computing resources that meet their computing needs to computing tasks through a resource matching mechanism. At the same time, during the calculation process of the computing task, when the computing resources do not meet the computing needs, dynamic resource preemption and reallocation of computing resources are used to ensure the smooth progress of the computing task; compared with the traditional single resource allocation method, this application can significantly improve the utilization rate of computing resources, shorten the execution time of computing tasks, and improve the response speed of the system, and is suitable for complex computing scenarios.

[0070] In this embodiment, first, the priority of each computing task input by the user is analyzed and sorted to obtain the task priority order. Taking into account the differences in timeliness and importance of different computing tasks, the tasks are prioritized, and computing resources can be allocated to important and urgent computing tasks in priority. For example, in an e-commerce system, real-time order processing tasks determine whether a transaction can be completed smoothly. If delays lead to customer churn and economic losses, their importance and timeliness are extremely high. Although the monthly sales data statistics task is also important, the time requirement is relatively loose. At this time, the priority of the real-time order processing task is higher than that of the monthly sales data statistics task. By analyzing and sorting the task priorities, the task processing order can be clarified, and priority can be given to ensuring the smooth progress of key tasks, avoiding the waste of resources on low-priority tasks, and improving the response speed of the system.

[0071] At the same time, computing resources are classified according to their resource status, and computing resources of different categories are placed in corresponding resource pools to obtain multiple resource pools. In a heterogeneous computing environment, heterogeneous computing resources have different performance characteristics and applicable scenarios. Heterogeneous computing resources are classified according to performance, function and other characteristics and placed in corresponding resource pools, which facilitates the subsequent rapid matching of computing resources that can meet computing requirements according to task requirements, thereby achieving rapid matching and efficient utilization of resources. For example, GPUs are good at processing large-scale parallel computing tasks such as graphics rendering and deep learning, including game screen rendering, image recognition model training and other tasks; CPUs perform well in logic control and serial computing tasks, including operating system kernel processing, simple data calculation and other tasks. By classifying heterogeneous computing resources and building corresponding resource pools, the management of computing resources is clearer and more orderly, which facilitates the rapid positioning and allocation of resources, improves the accuracy and efficiency of resource allocation, and reduces the time cost of resource allocation.

[0072] Furthermore, according to the task priority order and resource pool category, a preset resource matching mechanism is used to allocate computing resources of corresponding categories to each task, wherein the preset resource matching mechanism includes allocating corresponding computing resources to computing tasks with high priority according to the task priority order, and dynamically allocating computing resources to computing tasks with low priority, so as to improve resource utilization while meeting the computing requirements of computing tasks; by matching tasks with resources, computing resources of corresponding categories are allocated to tasks, ensuring that tasks run on suitable resources, giving full play to the performance advantages of computing resources, improving task execution efficiency, balancing resource use, and avoiding situations where some resources are overly busy or partially idle. During the task calculation process, the computing status of the task is analyzed in real time. When the computing resources of the computing task are insufficient, resources are preempted from other tasks through the preset resource preemption mechanism to ensure the smooth execution of high-priority tasks. At the same time, the priority of the second task of the preempted resources is increased and resources are reallocated, taking into account the execution of high and low priority tasks, improving the resource utilization rate and task processing flexibility of the system, and realizing dynamic scheduling of computing power.

[0073] This application dynamically allocates computing resources through dynamic adjustment of task priorities combined with graph matching, which can ensure that the task priority order can reflect the actual execution status of the computing tasks, and match the corresponding computing resources to each computing task, ensuring that high-priority tasks are allocated computing resources that can meet their computing needs, thereby improving the computing speed, and at the same time avoiding the problem of low-priority tasks occupying computing resources and causing resource waste. Through resource preemption and priority compensation, when resources are insufficient during the calculation process of high-priority tasks, the idle computing resources of other tasks are preempted to ensure the smooth progress of the calculation process of high-priority tasks, and compensate the priority of the preempted tasks, reducing the impact of resource preemption on the calculation process of the preempted tasks, and improving the overall computing performance of the system.

[0074] Furthermore, in response to the user's multiple computing task requirements, the task priority order is obtained by analyzing and sorting the priorities of the computing tasks, including:

[0075] S201, according to the user's multiple computing task requirements, by analyzing the static characteristics of each computing task, to obtain a static priority value of each computing task;

[0076] S202, by analyzing the waiting time of each computing task, updating the static priority value to obtain a corresponding dynamic priority value;

[0077] S203 , sorting the computing tasks from high to low according to the dynamic priority values to obtain a task priority sequence.

[0078] This implementation analyzes the static characteristics and dynamic waiting time of each computing task based on multiple computing task requirements input by the user, and takes into account the static computing requirements of the computing tasks and the dynamic changes during the execution process. It can adjust the priority according to the actual situation, improve the flexibility of task scheduling, obtain the task priority sequence, and ensure that resources are allocated to high-priority tasks first. Compared with the traditional task priority analysis method that only considers the static computing requirements of computing tasks, this application can effectively balance the importance, urgency and fairness of tasks through dynamic adjustment of task priorities, reduce the waiting time of tasks, and improve the efficiency and responsiveness of the system when processing multiple computing tasks.

[0079] In this embodiment, based on multiple computing task requirements input by the user, the static characteristics of each computing task are analyzed to obtain a static priority value for each computing task. The static characteristics include task type (including real-time transaction tasks, data backup tasks, etc.), business importance (set by the business department based on the impact of the task on the overall business), and resource demand scale (including the expected number of CPU cores and memory size). For example, in an e-commerce platform, the order payment task is a real-time transaction task with high business importance and requires more memory and CPU resources during processing. The product image cache update task is an auxiliary business task with relatively low importance and less resource demand. In this case, the static priority value of the order payment task is higher than that of the product image cache update task. By analyzing the corresponding static feature information of computing tasks, each static feature is quantitatively scored (usually in the range of 0-100 points). Based on the degree of impact of each static feature on the task priority, a corresponding weight is assigned to each static feature. The static priority value of each task is then calculated through weighted summation. For example, if the task type weight is 0.3, the business importance weight is 0.4, and the resource requirement scale weight is 0.3, and an order payment task has a task type score of 90, a business importance score of 95, and a resource requirement scale score of 85, its static priority value is 90 × 0.3 + 95 × 0.4 + 85 × 0.3 = 91.5. Determining static priority values by analyzing static features can quickly determine the basic priority of tasks, ensuring that critical business tasks receive priority in resource allocation and preventing resources from being allocated to less important tasks.

[0080] At the same time, while the computing tasks are waiting for execution, the static priority value is updated by analyzing the waiting time of each computing task, and a dynamic priority value is obtained, and the priority of the task is adjusted. Considering that when the waiting time of a task is too long, it will block the subsequent process and affect the overall computing progress, the priority of the corresponding computing task is adjusted to make the task priority more in line with the actual task execution requirements, optimize resource utilization efficiency, reduce the completion time of the overall task, and improve the overall performance of the system; according to the updated dynamic priority value of each computing task, the computing tasks are sorted in order from high to low, and the execution order of the computing tasks is determined. When allocating resources and executing tasks, high-priority tasks are given priority to ensure that resources flow to more important and urgent tasks, thereby improving the overall operation efficiency and responsiveness of the system.

[0081] Furthermore, the static priority value is updated by analyzing the waiting time of each computing task to obtain a corresponding dynamic priority value, including:

[0082] S301, calculating the corresponding dynamic adjustment factor by analyzing the waiting time of each computing task;

[0083] S302: When the dynamic adjustment factor is greater than a preset first threshold, the static priority value of the corresponding computing task is updated to obtain a first dynamic priority value;

[0084] S303: within a preset first time period, updating the static priority value of each computing task according to the dynamic adjustment factor to obtain a second dynamic priority value;

[0085] S304: Combine the first dynamic priority value and the second dynamic priority value to obtain a dynamic priority value for each computing task.

[0086] In this embodiment, during the task execution process, the system records the waiting time of each task, calculates the dynamic adjustment factor of each task based on the waiting time of each task, and converts the waiting time into a dynamic adjustment factor through a linear model. The longer the waiting time, the larger the calculated dynamic adjustment factor value; according to the calculated dynamic adjustment factor, when the dynamic adjustment factor is greater than a preset first threshold, it indicates that the waiting time of the computing task is too long, and the static priority value of the task is updated, and the priority of the task is adjusted at the same time. The preset first threshold can be set in combination with the computing efficiency requirements of the system. In this embodiment, the first threshold is set to 0.5. When the dynamic adjustment factor is greater than 0.5, the static priority value of the corresponding computing task is updated by multiplying the static priority value by an adjustment coefficient (a constant greater than 1), and the priority value of the task is increased to obtain a first dynamic priority value; by adjusting the priority of computing tasks with too long waiting time, the computing efficiency of the task can be improved and the waiting time of the task can be reduced.

[0087] At the same time, the static priority value of the computing task is periodically adjusted. Within a preset first time period, a dynamic adjustment factor is calculated based on the waiting time of each computing task. The static priority value of each computing task is multiplied by the corresponding dynamic adjustment factor to obtain the second dynamic priority value of each computing task. When the waiting time is longer, the dynamic adjustment factor value of the corresponding computing task is larger, the calculated second dynamic priority value is higher, and the corresponding priority order is improved. By regularly adjusting the priority of the computing task, it is possible to avoid the problem that the fixed task priority order cannot reflect the actual computing status of the computing task, and improve the computing speed of the system. The dynamic priority value of each computing task is obtained by combining the first dynamic priority value and the second dynamic priority value. The updated dynamic priority value can reduce the waiting time of the task, improve the system response speed, and adapt to dynamic changes in the task execution process, thereby optimizing resource utilization efficiency, reducing the completion time of the overall task, and improving the overall performance of the system.

[0088] Furthermore, the heterogeneous computing resources are classified according to their resource states, and computing resources of different categories are placed in corresponding resource pools, thereby obtaining multiple resource pools, including:

[0089] S401, extracting hardware parameters, operating status indicators, and load characteristics of the heterogeneous computing resources according to the resource status of the heterogeneous computing resources, and constructing a state feature vector;

[0090] S402: Clustering the heterogeneous computing resources according to the state feature vector to obtain computing resource categories;

[0091] S403: Put computing resources into different resource pools according to the computing resource categories to obtain multiple resource pools.

[0092] In this embodiment, computing resources in a heterogeneous computing environment are classified. By analyzing the performance and status of heterogeneous computing resources, the computing resources are divided into different categories. Different categories can meet different computing needs. Computing resources of different categories are placed in corresponding resource pools to obtain multiple resource pools. Heterogeneous computing resources include computing resources such as CPU, GPU, and FPGA. First, according to the resource status of the heterogeneous computing resources, the hardware parameters, operating status indicators and load characteristics of the computing resources are determined, including hardware parameters such as the number of CPU cores, main frequency, and cache size, operating status indicators such as CPU usage and memory occupancy, and load characteristics such as the average response time of task processing and the number of tasks processed per unit time. The extracted data information is normalized and arranged in order to construct a state feature vector. The multi-dimensional information of the heterogeneous computing resources is integrated to provide comprehensive resource status description information.

[0093] Furthermore, computing resources are clustered based on the calculated state feature vectors. Heterogeneous computing resources with similar state feature vectors are grouped together and divided into different categories. Clustering algorithms include the K-Means algorithm, the hierarchical clustering algorithm, and the DBSCAN algorithm. This embodiment specifically uses the K-Means algorithm. The number of clustering categories is set according to the system's computational accuracy requirements. In this embodiment, it is set to five categories. Clustering computing resources can quickly divide heterogeneous resources into categories with similar characteristics, providing clear and reasonable resource classification. This allows the system to quickly find resource categories that match task requirements, improving the accuracy and efficiency of resource allocation. The computing resource categories obtained by clustering are placed into corresponding resource pools. For example, clustering can obtain five categories, such as high-performance CPU, general GPU, and low-load FPGA. The computing resources of each category are placed into the corresponding resource pool. By dividing resource pools into multiple categories, optimized configuration and management can be performed for different types of tasks, improving resource utilization and task processing efficiency.

[0094] Furthermore, the combination of the task priority order and multiple resource pools to allocate computing resources of corresponding categories to each task through a preset resource matching mechanism includes:

[0095] S501. Based on the task priority order and multiple resource pool categories, through a preset category matching mechanism, when the priority of a computing task matches the category of a corresponding resource pool, an undirected edge is established between the corresponding computing task node and the resource pool node to construct a task resource graph, wherein one computing task node is connected to at least one resource pool node;

[0096] S502: extracting, from the task resource graph, task nodes whose priority order is higher than a preset second threshold value according to the task priority order as a high-priority task set, and extracting, from the task resource graph, task nodes whose priority order is lower than or equal to the preset second threshold value as a low-priority task set;

[0097] S503: For the high-priority task set, respectively calculate the matching scores between the task set and the connected resource pool nodes, match the computing task nodes in the high-priority task set to the resource pool nodes with the highest matching scores, and allocate corresponding computing resources;

[0098] S504 : For the low-priority task set, dynamically match corresponding resource pool nodes in corresponding connected resource pool nodes by calculating corresponding matching scores, and allocate corresponding computing resources.

[0099] like Figure 2 As shown, this embodiment regards each computing task and resource pool as a node respectively, and matches the corresponding resource pool category for the computing task according to the computing requirements of the computing task, establishes a connection between the matched computing task nodes and the resource pool nodes, and constructs a task resource graph. Combined with the task resource graph, the computing resources with the highest matching degree are preferentially allocated to high-priority tasks, and computing resources are dynamically matched for low-priority tasks to ensure that high-priority tasks can obtain the required resources first. At the same time, dynamic resource matching is performed while meeting the computing requirements of low-priority tasks, which can avoid resource waste and improve the overall utilization of computing resources.

[0100] In this embodiment, according to the priority of the computing task and the category of the resource pool, a preset category matching mechanism is used to determine whether the computing task matches the resource pool. The preset category matching mechanism performs resource pool category matching in combination with the priority of the computing task and the computing requirements. For example, a high-priority deep learning training task is matched with a high-performance GPU resource pool, and an ordinary data processing task is matched with an ordinary CPU resource pool. A computing task can be matched with multiple resource pools. Each computing task is traversed, and a corresponding resource pool is matched for each computing task. An undirected edge is established between the matched computing task node and the resource pool node to construct a task resource graph. By establishing a connection between the computing task and the resource pool, a basic framework is provided for subsequent task classification, matching degree calculation, and resource allocation, making the entire resource matching process more orderly and efficient.

[0101] At the same time, according to the task priority order, the computing tasks are divided into a high-priority task set and a low-priority task set by presetting a second threshold. The second threshold is set according to the computing accuracy requirements of the system. For example, the second threshold is set to 10th, and the computing task nodes with a priority order higher than 10th are regarded as the high-priority task set; the computing task nodes with a priority order lower than or equal to 10th are regarded as the low-priority task set; by dividing the priority task sets, it is ensured that high-priority tasks can obtain resources first, avoiding critical business delays or failures due to resources being occupied by low-priority tasks; different resource matching methods are used for high-priority task sets and low-priority task sets respectively, giving priority to meeting the computing needs of high-priority tasks, and after the high-priority tasks are processed, the system can make full use of the remaining resources to process these tasks, avoiding resource idleness and improving the overall resource utilization.

[0102] For high-priority task sets, precise matching is performed. By calculating the matching scores between the tasks and the connected resource pool nodes, the resource pool node with the highest matching score is found, and the computing resources of the corresponding resource pool are allocated to the computing tasks, ensuring that the high-priority tasks can be efficiently executed in the most suitable resource environment, giving full play to the resource performance, and quickly completing the computing tasks. Based on the matching evaluation indicators such as the resource utilization rate of the resource pool, the fit between the resource type and the task requirements, the matching score between each computing task node and the corresponding connected resource pool node is obtained through weighted calculation. For each high-priority task, its matching score with all connected resource pool nodes is compared, and the resource pool node with the highest score is selected. The task is assigned to the node, and the corresponding computing resources are allocated to the task from the resource pool, and the usage status of the resource pool is updated at the same time. For example, if Task A has a matching score of 72 with GPU resource pool 1 and a matching score of 68 with GPU resource pool 2, then Task A is assigned to GPU resource pool 1, and it is marked that some resources of the resource pool have been occupied by Task A. By matching the optimal resource pool nodes for high-priority computing tasks, we ensure that high-priority tasks can obtain the most suitable computing resources, give full play to resource performance, greatly improve task execution efficiency, shorten task completion time, and meet the computing needs of high-priority tasks.

[0103] For low-priority task sets, dynamic matching is performed. After high-priority tasks occupy resources first, low-priority tasks dynamically select appropriate resource pool nodes from the corresponding connected resource pool nodes based on the remaining resources by calculating the matching score, and allocate corresponding computing resources. Through dynamic matching, after high-priority tasks have used up the resources, the remaining resources can be fully utilized to avoid idle resources and improve the overall resource utilization rate. Dynamic matching is performed while meeting the computing requirements of computing tasks, which enables the system to flexibly respond to dynamic changes in resources, ensure that tasks can obtain reasonable resource allocation under different resource conditions, and enhance the stability and adaptability of the system.

[0104] Furthermore, for the low-priority task set, dynamically matching corresponding resource pool nodes in corresponding connected resource pool nodes by calculating corresponding matching scores and allocating corresponding computing resources includes:

[0105] S601: For each computing task node in the low-priority task set, respectively calculate the matching score between each computing task node and the corresponding connected resource pool node;

[0106] S602: The resource pool nodes whose matching scores are greater than a preset third threshold are used as a candidate resource pool set for the corresponding computing task node;

[0107] S603: Select the resource pool node with the highest matching score in the candidate resource pool set for each computing task according to the computing task priority order from high to low in the low-priority task set, and allocate the corresponding computing resources;

[0108] S604. When the amount of computing resources in the resource pool node with the highest matching score in the candidate resource pool set is less than the preset third resource threshold, the next resource pool node in the candidate resource pool set is matched for the corresponding computing task node in descending order of matching scores, and the corresponding computing resources are allocated until the corresponding computing resources are allocated to each computing task.

[0109] In this embodiment, based on matching evaluation indicators such as resource utilization of the resource pool, the degree of fit between resource type and task requirements, a matching score between each computing task node in the low-priority task set and the corresponding connected resource pool node is obtained through weighted calculation; based on the calculated matching score, the resource pool with a matching score greater than a preset third threshold is retained as a candidate resource pool set, and the third threshold is set according to system performance and computing accuracy requirements. In this embodiment, the third threshold is set to 60 points, and resource pool nodes with a matching score greater than 60 points are screened out from the resource pool nodes connected to the computing task node as the candidate resource pool set; by screening the candidate resource pool set, high-quality resource pools with high matching can be retained, and when dynamically allocating resources, it is avoided to allocate computing resources from unsuitable resource pools to computing resources, thereby improving the quality of resource allocation.

[0110] Furthermore, computing resources are allocated in descending order according to the priority order of low-priority tasks to ensure that relatively important low-priority tasks obtain resources first. Computing resources in the resource pool with the highest matching score in the candidate resource pool set are allocated to computing tasks in turn. When the amount of computing resources in the corresponding resource pool with the highest matching score is less than a preset third resource threshold (set according to the resource status of the resource pool, and in this embodiment, set to 5% of the total resource amount of the resource pool), the computing resources in the resource pool are insufficient. The next resource pool node in the candidate resource pool set is matched in descending order according to the matching score, and the corresponding computing resources are matched from the resource pool node with the second matching score, and so on, until computing resources that meet the computing requirements are allocated to each computing task. By dynamically matching computing resources, it can be ensured that when the optimal computing resources are insufficient, suboptimal computing resources are allocated to the computing tasks while meeting the computing requirements of the computing tasks, thereby reducing task waiting due to insufficient resources and improving system computing efficiency.

[0111] Furthermore, during the task calculation process, when the computing resources of the first task are insufficient, the computing resources of the second task are preempted through a preset resource preemption mechanism. After the resources are preempted, the priority of the second task is increased and the computing resources are reallocated to dynamically schedule the computing power, including:

[0112] S701: During the task calculation process, the computing resources required for the first task and the real-time computing resources are analyzed to obtain the computing resource gap of the first task;

[0113] S702: Based on the computing resource gap and the real-time status of the resources, when the idle resources in the resource pool where the first task is located are greater than a preset fourth threshold, preempt the computing resources of the second task in the pool, increase the priority of the second task, and reallocate the computing resources;

[0114] S703. When the idle resources in the resource pool where the first task is located are less than or equal to the preset fourth threshold, cross-pool resource preemption is performed to preempt the computing resources of computing tasks in non-resource pools, increase the priority of the preempted tasks, and reallocate computing resources.

[0115] During the calculation process of the computing task, this embodiment analyzes the usage of computing resources. When the allocated computing resources do not meet the computing requirements of the task, resource preemption is performed using intra-pool resource preemption and cross-pool resource preemption strategies according to the availability of idle resources in the resource pool, ensuring that high-priority tasks can obtain the required resources in a timely manner when resources are insufficient, effectively avoiding task stagnation due to resource shortages, and greatly improving the efficiency and success rate of task execution; at the same time, the priority of the preempted task is increased, and computing resources are reallocated, and resource compensation is performed on the preempted task. Through resource preemption and compensation, the system can flexibly respond to changes in resource requirements during task execution, thereby improving system resource utilization and computing speed.

[0116] In this embodiment, the resource demand situation during the task execution is analyzed, and the various types of computing resources required for the first task in the current computing stage are obtained through data such as the task configuration file, task startup parameters, and real-time data generated during the operation. The required computing resources are compared with the allocated computing resources, and the computing resource gap is analyzed. For example, the first task requires 8 cores, but there are only 4 idle cores in real time, then the resource gap of the CPU core is 4; by analyzing the computing resource gap, the system can timely and accurately grasp the difference between the task resource demand and the actual resource supply, so as to perform resource preemption and scheduling, avoid slow task execution, jamming or even interruption due to insufficient resources, effectively ensure that the task is carried out according to the expected efficiency and quality, and improve the overall task processing capability and stability of the system.

[0117] like Figure 3As shown, when the idle resources in the resource pool where the first task is located is greater than the preset fourth threshold (set according to the system computing task requirements, and set to 20% of the total resources in the resource pool in this embodiment), it means that the resource pool has resource allocation capabilities and can meet the resource scheduling requirements. At this time, resource preemption is performed within the pool, and the corresponding computing resources are preempted from other tasks to meet the urgent needs of the first task. Resource allocation is completed within the same resource pool, which can reduce the complexity and overhead of resource scheduling; at the same time, the priority of the preempted task is improved to ensure that the preempted task receives corresponding resource compensation after the resources are preempted, and continues to execute the corresponding computing task, balances the rights and interests between different tasks, maintains the fairness and stability of the system task processing process, and makes system resource utilization more reasonable and efficient.

[0118] like Figure 4 As shown, when the idle resources in the resource pool where the first task is located is less than or equal to the preset fourth threshold, it means that the internal resources of the resource pool cannot meet the needs of the first task. At this time, cross-pool resource preemption is used to preempt the corresponding computing resources from other resource pools, integrate system resources on a larger scale, and ensure the smooth progress of high-priority tasks. Similarly, the priority of the preempted task is improved to maintain the fairness of task execution in the system, avoid excessive impact of resource preemption on other tasks, and ensure that each computing task can still be executed in an orderly manner after resource scheduling; cross-pool resource preemption can break the limitation of the resource pool, effectively solve the problem of insufficient resources in a single resource pool, ensure the resource needs of high-priority tasks, improve the overall task processing capability of the system, balance the relationship between different resource pools and computing tasks, maintain the fairness and stability of the system, and enable the system to run efficiently and orderly in a complex and changeable task execution environment.

[0119] Furthermore, according to the computing resource gap and the real-time status of resources, when the idle resources in the resource pool where the first task is located are greater than a preset fourth threshold, resource preemption is performed in the pool, computing resources of the second task in the pool are preempted, the priority of the second task is increased, and computing resources are reallocated, including:

[0120] S801, based on the computing resource gap and the real-time status of the resources, use the idle resources allocated to the computing tasks in the resource pool where the first task is located as elastic resources for each computing task;

[0121] S802: When the idle resources in the resource pool where the first task is located are greater than a preset fourth threshold, select the computing task with the largest elastic resources as the second task;

[0122] S803: Based on the computing resource gap, the first task preempts the elastic resources of the second task. When the elastic resources are smaller than the computing resource gap, the first task preempts the elastic resources of the next computing task in descending order of elastic resources until the computing resource gap is met.

[0123] S804: After resource preemption, the priority of the preempted resource task is increased according to the amount of the preempted resource, and computing resources are reallocated.

[0124] In this embodiment, during the operation of the resource pool, based on the real-time status of the resources, the idle resources that have been allocated to the computing tasks but are in an idle state in the resource pool where the first task is located are used as elastic resources for each computing task; during the operation of the resource pool, the resources allocated to each computing task are not always in full load use, and some resources are idle at a certain moment. These idle resources are used as corresponding elastic resources. The system monitors the resource usage of each computing task through a resource monitoring tool and identifies the corresponding elastic resources. For example, task B is currently allocated 4 CPU cores, but only 2 cores are actually used for computing. At this time, there are 2 CPU cores in the elastic resources of task B. By identifying the elastic resources, the system can determine the available resources in the resource pool, avoid idle resources and waste, and give priority to preempting the elastic resources of other computing tasks during resource scheduling, thereby improving the resource utilization of the entire resource pool.

[0125] Furthermore, when the idle resources in the resource pool where the first task is located are greater than a preset fourth threshold (set according to the system computing task requirements, and set to 20% of the total resources in the resource pool in this embodiment), resource preemption is performed in the pool, and the computing task with the largest elastic resources in the resource pool is selected as the second task. The required computing resources can be obtained in one resource preemption operation, reducing the number and complexity of resource preemption; according to the computing resource gap of the first task, elastic resources are preempted from the second task. When the elastic resources of the second task are not enough to meet the computing resource gap, the corresponding elastic resources are continued to be preempted from other tasks in the order of elastic resource size until the computing requirements of the first task are met; resource preemption is performed in the order of elastic resources from large to small, which can make full use of idle resources in the resource pool and ensure that the resource requirements of the first task are met. At the same time, it avoids scattered allocation of resources, improves resource utilization efficiency, ensures the smooth execution of high-priority tasks, reduces unnecessary interference with other tasks, and maintains the stability of system task execution.

[0126] At the same time, after resource preemption, the priority of the preempted task is increased to compensate for the impact of resource preemption, ensuring that the task receives priority in subsequent resource allocations and improving the fairness of system resource allocation. The priority increase is calculated based on the amount of resources preempted by the preempted task. For example, for each CPU core preempted, the task priority is increased by 5 points. If Task C preempts two CPU cores, its priority is increased by 10 points. The task priority is updated based on the calculated priority increase, and idle resources in the resource pool are reallocated according to the updated task priority, achieving dynamic scheduling of computing resources. By increasing the priority of the preempted task and reallocating resources, the fairness of task execution and the stability of system operation are improved. This not only ensures the resource requirements of the high-priority task (the first task), but also prevents the preempted task from being unable to progress for a long time due to resource loss. This allows the system to quickly resume stable operation after dynamic resource adjustments, improving overall resource utilization efficiency and task processing capabilities.

[0127] Furthermore, when the idle resources in the resource pool where the first task is located are less than or equal to a preset fourth threshold, cross-pool resource preemption is performed to preempt computing resources of computing tasks in a resource pool other than the first task's location, and the priority of the preempted task is increased, and computing resources are reallocated, including:

[0128] S901: When the idle resources in the resource pool where the first task is located are less than or equal to a preset fourth threshold, select a non-local resource pool with the largest amount of idle resources from the set of resource pool nodes connected to the first task node as the preempted resource pool;

[0129] S902. Sort the elastic resources of each computing task in the preempted resource pool from largest to smallest to obtain an elastic resource order;

[0130] S903: Allocate the idle resources in the preempted resource pool to the first task;

[0131] S904: When the idle resources do not meet the computing resource gap of the first task, the first task preempts the elastic resources of the computing tasks according to the elastic resource sequence until the computing resource gap is met;

[0132] S905: After resource preemption, the priority of the preempted task is increased according to the amount of the preempted resources, and computing resources are reallocated.

[0133] In this embodiment, when the idle resources in the resource pool where the first task is located are less than or equal to the preset fourth threshold, cross-pool resource preemption is performed from other resource pools, and the non-resource pool with the largest amount of idle resources is selected from the set of resource pool nodes connected to the first task node as the preempted resource pool. During cross-pool resource preemption, resources that can meet the computing resource gap are obtained, reducing the number and frequency of resource pools that need to be preempted, reducing system overhead, avoiding resource allocation delays caused by multiple cross-pool preemptions, and improving the system's response speed to changes in task resource requirements.

[0134] At the same time, after selecting the preempted resource pool, the elastic resources of each computing task in the preempted resource pool are sorted from large to small to obtain the corresponding elastic resource order. By sorting according to the elastic resources, resources can be obtained from computing tasks with more elastic resources first during resource preemption. This is because tasks with more elastic resources have less impact on their own execution after resources are preempted, and the computing resource gap of the first task can be quickly met, thereby achieving reasonable allocation of resources.

[0135] Furthermore, the idle resources in the preempted resource pool are directly allocated to the first task, and the existing idle resources in the preempted resource pool are first used to quickly fill the resource gap of the first task, allowing the first task to continue executing. At the same time, unnecessary resource preemption operations are avoided, reducing the complexity of system resource allocation and improving the utilization rate of the idle resources in the preempted resource pool. When the idle resources in the preempted resource pool are insufficient to meet the computing resource gap of the first task, the elastic resources of the computing tasks in the preempted resource pool are continued to be preempted in accordance with the elastic resource order, and the elastic resources of the computing tasks are preempted in sequence until the computing resource gap is met. In the case of insufficient idle resources in the preempted resource pool, the elastic resources are preempted in an orderly manner to maximize the resource needs of the first task and ensure the smooth completion of high-priority tasks. Preemption is performed in accordance with the elastic resource order, giving priority to elastic resources that have less impact on the preempted task, balancing the rights and interests between the first task and the preempted task, and maintaining the stability and fairness of system task execution.

[0136] After resource preemption, the priority of the preempted task is increased and computing resources are reallocated. According to the amount of preempted resources, the increase in the priority of the preempted task is calculated, the priority of the preempted task is updated, and the corresponding computing resources are reallocated according to the updated task priority. This not only meets the resource needs of the first task, but also avoids the preempted task from waiting for a long time due to resource loss. The system can quickly resume stable operation after dynamic resource adjustment, improve the overall resource utilization efficiency and task processing capability, and enhance the system's ability to cope with resource changes.

[0137] Example 2

[0138] In this embodiment, if Figure 5 , provides a heterogeneous multi-task computing power dynamic scheduling system for implementing the heterogeneous multi-task computing power dynamic scheduling method, including:

[0139] The task sorting module, in response to the user's multiple computing task requirements, analyzes the priority of the computing tasks and sorts them to obtain the task priority order;

[0140] A resource classification module classifies heterogeneous computing resources according to their resource states, and places computing resources of different categories into corresponding resource pools to obtain multiple resource pools;

[0141] A resource allocation module, combining the task priority order and multiple resource pools, allocates computing resources of corresponding categories to each task through a preset resource matching mechanism;

[0142] The resource scheduling module, during the task calculation process, when the computing resources of the first task are insufficient, the computing resources of the second task are preempted through the preset resource preemption mechanism. After the resources are preempted, the priority of the second task is increased and the computing resources are reallocated to dynamically schedule the computing power.

[0143] In this embodiment, the task sorting module determines the priority execution order of each computing task in the system based on multiple computing task requirements submitted by the user, comprehensively considers various factors of the computing tasks, analyzes and sorts the priorities of the computing tasks, and generates a corresponding task priority order. By determining the task priority order, critical tasks can obtain computing resources first, thereby improving the system's response speed and processing efficiency for important tasks; the resource classification module classifies and manages heterogeneous computing resources according to their resource status, and places different categories of computing resources in corresponding resource pools to obtain multiple resource pools. By classifying computing resources, it is possible to quickly locate and select appropriate resources when allocating resources, thereby improving the accuracy and efficiency of resource allocation, and enhancing the system's management capabilities and resource utilization of heterogeneous computing resources.

[0144] Specifically, the resource allocation module combines the task priority order obtained by the task sorting module and the multi-category resource pool constructed by the resource classification module, and matches each task with the corresponding category of resource pool and allocates corresponding computing resources through a preset resource matching mechanism. By matching tasks with computing resources, it ensures that high-priority tasks obtain appropriate resources first, improves the execution efficiency of tasks, and optimizes the resource allocation strategy so that resources can better meet task requirements and improve resource utilization efficiency. During the task calculation process, the resource scheduling module dynamically schedules computing resources according to resource usage and changes in task resource requirements. When the computing resources of the first task are insufficient, the preset resource preemption mechanism is used to preempt computing resources from other tasks, while increasing the priority of the preempted task and reallocating computing resources. By dynamically scheduling computing resources, the smooth execution of high-priority tasks is guaranteed, and changes in resource requirements during task execution are effectively responded to, resource utilization is improved, and tasks are prevented from waiting for a long time or being interrupted due to insufficient resources. The priority of the preempted task is adjusted and the corresponding computing resources are reallocated, thereby improving the fairness and stability of the system.

[0145] The basic principles, main features, and advantages of the present invention are shown and described above. Those skilled in the art should understand that the present invention is not limited to the above embodiments. The above embodiments and descriptions are merely illustrative of the principles of the present invention. Various changes and modifications may be made to the present invention without departing from the spirit and scope of the present invention. Such changes and modifications are intended to fall within the scope of the present invention. The scope of protection claimed in the present invention is defined by the appended claims and their equivalents.

Claims

1. A method for dynamic scheduling of heterogeneous multi-task computing power, characterized in that: include: In response to the user's multiple computing task requirements, the task priority order is obtained by analyzing the priority of the computing tasks and sorting them; Classifying the heterogeneous computing resources according to their resource states, placing computing resources of different categories into corresponding resource pools, and obtaining multiple resource pools; Based on the task priority order and multiple resource pools, a corresponding category of computing resources is allocated to each task through a preset resource matching mechanism; During the task calculation process, when the computing resources of the first task are insufficient, the computing resources of the second task are preempted through the preset resource preemption mechanism. After the resources are preempted, the priority of the second task is increased and the computing resources are reallocated to dynamically schedule the computing power. The resource preemption mechanism includes: During the task calculation process, the computing resources required for the first task and the real-time computing resources are analyzed to obtain the computing resource gap of the first task; Based on the computing resource gap and the real-time status of the resources, when the idle resources in the resource pool where the first task is located are greater than a preset fourth threshold, preempt the computing resources in the pool, preempt the computing resources of the second task in the pool, increase the priority of the second task, and reallocate the computing resources; When the idle resources in the resource pool where the first task is located are less than or equal to the preset fourth threshold, cross-pool resource preemption is performed to preempt computing resources of computing tasks in non-resource pools, increase the priority of the preempted tasks, and reallocate computing resources.

2. A method for dynamic scheduling of heterogeneous multi-task computing power according to claim 1, characterized in that: The step of analyzing and sorting the priorities of the computing tasks in response to the user's multiple computing task requirements to obtain a task priority sequence includes: According to the user's multiple computing task requirements, the static priority value of each computing task is obtained by analyzing the static characteristics of each computing task; By analyzing the waiting time of each computing task, the static priority value is updated to obtain a corresponding dynamic priority value; According to the dynamic priority values, the computing tasks are sorted from high to low to obtain a task priority order.

3. A method for dynamic scheduling of heterogeneous multi-task computing power according to claim 2, characterized in that: The updating of the static priority value by analyzing the waiting time of each computing task to obtain the corresponding dynamic priority value includes: By analyzing the waiting time of each computing task, the corresponding dynamic adjustment factor is calculated; When the dynamic adjustment factor is greater than a preset first threshold, the static priority value of the corresponding computing task is updated to obtain a first dynamic priority value; Within a preset first time period, updating the static priority value of each computing task according to the dynamic adjustment factor to obtain a second dynamic priority value; The first dynamic priority value and the second dynamic priority value are combined to obtain a dynamic priority value for each computing task.

4. A method for dynamic scheduling of heterogeneous multi-task computing power according to claim 1, characterized in that: The heterogeneous computing resources are classified according to their resource states, and computing resources of different categories are placed in corresponding resource pools, thereby obtaining multiple resource pools, including: According to the resource status of heterogeneous computing resources, the hardware parameters, operation status indicators and load characteristics of the heterogeneous computing resources are extracted respectively, and the state feature vector is constructed; Clustering the heterogeneous computing resources according to the state feature vector to obtain computing resource categories; The computing resources are placed into different resource pools according to the computing resource categories to obtain multiple resource pools.

5. The method for dynamic scheduling of heterogeneous multi-task computing power according to claim 1, characterized in that: The method combines the task priority order and multiple resource pools to allocate computing resources of corresponding categories to each task through a preset resource matching mechanism, including: According to the task priority order and multiple resource pools, through a preset category matching mechanism, when the priority of a computing task matches the category of the corresponding resource pool, an undirected edge is established between the corresponding computing task node and the resource pool node to construct a task resource graph, in which a computing task node is connected to at least one resource pool node; Extracting, from the task resource graph, task nodes whose order is higher than a preset second threshold according to the task priority order as a high-priority task set, and extracting, from the task resource graph, task nodes whose order is lower than or equal to the preset second threshold as a low-priority task set; For the high-priority task set, respectively calculate the matching scores between the task set and the connected resource pool nodes, match the computing task nodes in the high-priority task set to the resource pool nodes with the highest matching scores, and allocate corresponding computing resources; For the low-priority task set, the corresponding resource pool nodes are dynamically matched in the corresponding connected resource pool nodes by calculating the corresponding matching scores, and the corresponding computing resources are allocated.

6. A method for dynamic scheduling of heterogeneous multi-task computing power according to claim 5, characterized in that: For the low-priority task set, dynamically matching corresponding resource pool nodes in corresponding connected resource pool nodes by calculating corresponding matching scores and allocating corresponding computing resources includes: For each computing task node in the low-priority task set, calculate the matching score between each computing task node and the corresponding connected resource pool node; The resource pool nodes whose matching scores are greater than a preset third threshold are used as a candidate resource pool set for the corresponding computing task node; According to the priority order of computing tasks in the low-priority task set, select the resource pool node with the highest matching score in the candidate resource pool set for each computing task, and allocate the corresponding computing resources; When the amount of computing resources in the resource pool node with the highest matching score in the candidate resource pool set is less than the preset third resource threshold, the next resource pool node in the candidate resource pool set is matched for the corresponding computing task node in descending order of matching scores, and the corresponding computing resources are allocated until the corresponding computing resources are allocated to each computing task.

7. The method for dynamic scheduling of heterogeneous multi-task computing power according to claim 1, characterized in that: The method of claim 10 includes: performing resource preemption in the resource pool where the first task is located based on the computing resource gap and the real-time status of the resources, when the idle resources in the resource pool where the first task is located are greater than a preset fourth threshold, preempting computing resources of the second task in the pool, increasing the priority of the second task, and reallocating computing resources, including: Based on the computing resource gap and the real-time status of the resources, the idle resources allocated to the computing tasks in the resource pool where the first task is located are used as elastic resources for each computing task; When the idle resources in the resource pool where the first task is located are greater than a preset fourth threshold, selecting the computing task with the largest elastic resources as the second task; According to the computing resource gap, the first task preempts the elastic resources of the second task. When the elastic resources are smaller than the computing resource gap, the first task preempts the elastic resources of the next computing task in descending order of elastic resources until the computing resource gap is met. After resource preemption, the priority of the preempted resource task is increased according to the amount of preempted resources, and computing resources are reallocated.

8. The method for dynamic scheduling of heterogeneous multi-task computing power according to claim 1, characterized in that: When the idle resources in the resource pool where the first task is located are less than or equal to a preset fourth threshold, cross-pool resource preemption is performed to preempt computing resources of computing tasks in a resource pool other than the first task's location, and the priority of the preempted task is increased to reallocate computing resources, including: When the idle resources in the resource pool where the first task is located are less than or equal to a preset fourth threshold, selecting a non-local resource pool with the largest amount of idle resources from the set of resource pool nodes connected to the first task node as the preempted resource pool; According to the elastic resources of each computing task in the preempted resource pool, sort them from largest to smallest to obtain the elastic resource order; Allocating idle resources in the preempted resource pool to the first task; When the idle resources do not meet the computing resource gap of the first task, the first task preempts the elastic resources of the computing tasks according to the elastic resource sequence until the computing resource gap is met; After resource preemption, the priority of the preempted task is increased according to the amount of preempted resources, and computing resources are reallocated.

9. A heterogeneous multi-task computing power dynamic scheduling system, characterized in that: A method for dynamically scheduling heterogeneous multi-task computing power according to any one of claims 1 to 8, comprising: The task sorting module, in response to the user's multiple computing task requirements, analyzes the priority of the computing tasks and sorts them to obtain the task priority order; A resource classification module classifies heterogeneous computing resources according to their resource states, and places computing resources of different categories into corresponding resource pools to obtain multiple resource pools; A resource allocation module, combining the task priority order and multiple resource pools, allocates computing resources of corresponding categories to each task through a preset resource matching mechanism; The resource scheduling module, during the task calculation process, when the computing resources of the first task are insufficient, the computing resources of the second task are preempted through the preset resource preemption mechanism. After the resources are preempted, the priority of the second task is increased and the computing resources are reallocated to dynamically schedule the computing power.

Citation Information

Patent Citations

  • Processing method and device for computing power resources

    CN119183148A

  • Intelligent management method for computer hardware resources

    CN119356888A

  • Enterprise computing power resource allocation scheduling method and system

    CN119356898A

  • Distributed computing resource dynamic scheduling method suitable for new energy scene

    CN120011019A

  • Computing resource optimization method and system for analyzing tasks

    CN120256087A

Cited By

  • Heterogeneous computing resource pooling management system and method

    CN120849138A

  • Task scheduling method and device, storage medium and electronic equipment

    CN120973545A

  • A task scheduling method and device, a storage medium and an electronic device

    CN120973545B

  • Multi-mode resource awareness task scheduling method and system oriented to medical computing environment

    CN121433845A