A Method and System for Scheduling Computing Resources in Heterogeneous Computing Systems Based on Intelligent Prediction
By dividing the heterogeneous computing system into reserved and fragmented partitions, and combining task categories and resource prediction, resource utilization is optimized, solving the problem of scheduling difficulties for high-resource-demand tasks caused by resource fragmentation, and improving task scheduling success rate and system efficiency.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- 四川并济科技有限公司
- Filing Date
- 2026-02-25
- Publication Date
- 2026-05-26
AI Technical Summary
In existing technologies, when the degree of resource fragmentation is high in heterogeneous computing power systems, it is difficult to schedule high-resource-demand tasks, resulting in increased waiting time and decreased overall system resource utilization. Furthermore, there is a lack of predictive support for future resource release and task arrival.
By collecting computing node resource and task information, a runtime data repository is generated to predict available computing resources and task arrival status. Within each computing node, reserved partitions and fragmented partitions are divided. Hierarchical scheduling is performed based on task type and resource fragmentation level. Continuous resource blocks are reserved in the reserved partitions, and ordinary tasks and elastic tasks are migrated to form continuous resource blocks to optimize resource utilization.
It improves the schedulability of resource-intensive tasks, reduces resource fragmentation, ensures the overall system throughput, and increases the scheduling success rate of resource-intensive tasks.
Smart Images

Figure CN121722529B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of artificial intelligence, specifically to a method and system for scheduling computing resources in heterogeneous computing power systems based on intelligent prediction. Background Technology
[0002] With the continuous increase in the number of AI training, graphics rendering, and high-performance computing services, data centers are deploying a large number of heterogeneous computing power systems composed of various computing acceleration devices. Heterogeneous computing power systems typically include graphics processing units of various specifications, AI-specific accelerator cards, as well as processors, memory, and storage resources.
[0003] In existing technologies, computing resource scheduling systems typically employ one of the following methods:
[0004] Resource allocation is based on the order of task submission and whether resources currently meet the task's requirements. As long as resources meeting the task's requirements exist on any computing node, the task is scheduled to run on that node. A simple strategy based on load balancing and packaging rules is employed to distribute tasks to the remaining resources on each computing node as much as possible. Task priorities are set based on fixed rules, with resource allocation tilted towards certain tasks.
[0005] The above scheduling methods generally have the following characteristics:
[0006] Scheduling decisions rely primarily on the current resource usage status, lacking predictive support for future resource release and task arrival.
[0007] The available resources within the compute nodes are not managed in a structured manner, and there is no explicit distinction between contiguous resource blocks suitable for high-resource-demand tasks and remaining scattered resources.
[0008] After the system has been running for a long time, regular tasks and elastic tasks run alternately on multiple computing nodes, which will split the originally continuous computing resources into multiple resource blocks, resulting in a gradual increase in the degree of resource fragmentation.
[0009] High-resource-demand tasks typically require multiple computing acceleration devices within the same computing node, along with corresponding processor and memory resources. They may also impose constraints on the interconnect structure between these devices. In cases of high resource fragmentation, even if the total available computing power of the entire heterogeneous computing system still meets the total resource requirements of high-resource-demand tasks, the lack of contiguous resource blocks that satisfy topological constraints may prevent these tasks from being scheduled for an extended period, or cause scheduling failures. This leads to an increase in the average waiting time for high-resource-demand tasks and a decrease in the overall system resource utilization.
[0010] Existing technologies also include optimization methods for resource fragmentation, such as introducing fragmentation factors during single allocation and setting resource reservation ratios at the node level. These methods typically optimize for a single resource allocation and lack a global perspective that combines task arrival prediction and resource release prediction within the scheduling time window. They also lack a collaborative mechanism that explicitly divides the computing node into reserved and fragmented partitions and performs hierarchical scheduling and migration reorganization based on task categories. Summary of the Invention
[0011] The purpose of this invention is to overcome the shortcomings of the prior art and provide...
[0012] The method for scheduling computing resources in heterogeneous computing systems based on intelligent prediction includes the following steps:
[0013] Step 1: Collect computing node resource information and task execution information, and generate a runtime data repository and current cluster status information;
[0014] Step 2: Based on the running data repository and current cluster status information, predict the available computing power resources and the arrival status of high resource demand tasks within the scheduling time window;
[0015] Step 3: Within each computing node, based on the current resource usage status and available computing power, divide the continuous resources that can meet the resource requirements of high resource demand tasks into reserved partitions, divide the remaining available resources into fragmented partitions, and calculate the degree of resource fragmentation.
[0016] Step 4: Obtain task description information from the queue of tasks to be scheduled, parse the task resource requirements, topological constraints and portability attributes, divide the tasks into high resource requirement tasks, ordinary tasks and elastic tasks, and allocate ordinary tasks and elastic tasks to fragmented partitions according to task category, resource fragmentation degree and arrival status of high resource requirement tasks, allocate high resource requirement tasks to reserved partitions, and reserve continuous resource blocks matching the resource requirements of high resource requirement tasks in the reserved partitions to generate scheduling decisions;
[0017] Step 5: Based on available computing power resources and reserved partitions, determine whether there are high resource demand tasks that cannot obtain continuous resource blocks in the reserved partitions within the scheduling time window. If so, select migration objects from ordinary tasks and elastic tasks that occupy reserved partitions and have migration attributes, migrate the migration objects to the fragmented partitions, merge and release resources to form new continuous resource blocks, and update the reserved partitions and fragmented partitions.
[0018] Step Six: Based on the scheduling decision and the updated reserved and fragmented partitions, perform task start, pause, migration, and termination operations, and collect operational feedback information to write to the operational data repository.
[0019] Furthermore, the collection of computing node resource information and task execution information, and the generation of a runtime data repository and current cluster status information, include:
[0020] A status acquisition agent process is deployed on each computing node. During the initial acquisition, the status acquisition agent process reads the processor specifications, computing acceleration device specifications and quantity, memory capacity and storage capacity of the computing node and reports them to the central scheduling and control node. In subsequent sampling periods, it collects processor utilization, computing acceleration device task occupancy, remaining computing resources, memory utilization and storage utilization, and reports them to the central scheduling and control node. The central scheduling and control node aggregates the reported information to form the current cluster status information, and writes the current cluster status information, along with task submission records, task start time, task end time and resource usage change information during task execution, into the runtime data repository.
[0021] Furthermore, the method of predicting available computing resources and the arrival status of high-resource-demand tasks within the scheduling time window based on the running data repository and current cluster status information includes:
[0022] The system selects task submission records, task start time, task end time, and resource usage change information within a preset historical time range from the runtime data repository to construct a historical runtime data set. Based on the historical runtime data set and the current cluster status information, the prediction unit predicts the task completion status of each computing node within the scheduling time window and outputs the available computing resources of each computing node at different time periods. Based on the historical runtime data set and the queue of tasks to be scheduled, the prediction unit predicts the submission status of high resource demand tasks within the scheduling time window and outputs the arrival time and number of high resource demand tasks.
[0023] Furthermore, within each computing node, based on the current resource usage status and available computing power, contiguous resources that can meet the resource requirements of high-resource-demand tasks are divided into reserved partitions, and the remaining available resources are divided into fragmented partitions. The degree of resource fragmentation is then calculated, including:
[0024] Within each computing node, based on processor specifications, computing acceleration device specifications, and interconnection relationships, combined with the current resource usage status and available computing power, resource combinations that can be used together within the scheduling time window are determined. Resource combinations that can continuously provide no less than the preset threshold of continuous resource blocks and meet the resource requirements of high-resource-demand tasks are marked as reserved partitions, and the remaining available resources are marked as fragmented partitions. The degree of resource fragmentation is calculated based on the number and size of continuous resource blocks in the reserved partitions and the resource size in the fragmented partitions, and the degree of resource fragmentation is associated with the corresponding computing node for storage.
[0025] Furthermore, the step of obtaining task description information from the queue of tasks to be scheduled, parsing task resource requirements, topological constraints, and portability attributes, and classifying tasks into high-resource-demand tasks, ordinary tasks, and elastic tasks includes:
[0026] The number of target computing acceleration devices is parsed from the task description information, and a first resource quantity threshold is set. Tasks with a target number of computing acceleration devices greater than the first resource quantity threshold and requiring deployment on the same computing node or the same high-speed interconnect topology are classified as high resource demand tasks. Tasks with a target number of computing acceleration devices not greater than the first resource quantity threshold, no constraints on the computing node topology, and no elasticity attribute are classified as ordinary tasks. Tasks with a minimum target resource quantity, a maximum target resource quantity, a migration attribute, and support for resumption of execution from an intermediate running state are classified as elastic tasks. The classification results of high resource demand tasks, ordinary tasks, and elastic tasks are written into the task queue to be scheduled.
[0027] Furthermore, the process of allocating ordinary tasks and elastic tasks to fragmented partitions and allocating high-resource-demand tasks to reserved partitions based on task type, resource fragmentation level, and arrival status of high-resource-demand tasks, and reserving contiguous resource blocks matching the resource requirements of high-resource-demand tasks in the reserved partitions to generate scheduling decisions, includes:
[0028] For ordinary tasks, while meeting the task's resource requirements, priority is given to allocating computing resources to fragmented partitions of computing nodes with a resource fragmentation degree greater than a preset fragmentation threshold.
[0029] For elastic tasks, under the premise of meeting the minimum target resource quantity of the task, priority is given to allocating computing resources to fragmented partitions. When the resource quantity provided by the fragmented partition is between the minimum target resource quantity of the task and the maximum target resource quantity of the task, the elastic task is deployed with the resource quantity mentioned above.
[0030] For tasks with high resource requirements, computing resources are allocated only to contiguous resource blocks in the reserved partition;
[0031] Based on the predicted arrival time and number of high-resource-demand tasks, reserve contiguous resource blocks matching the resource requirements of the unarrived high-resource-demand tasks in the reserved partition, and prohibit the allocation of the reserved contiguous resource blocks to ordinary tasks and elastic tasks within the scheduling time window.
[0032] Furthermore, the determination of whether there are high-resource-demand tasks within the scheduling time window that cannot obtain contiguous resource blocks in the reserved partition, based on available computing resources and reserved partitions, includes:
[0033] For each high resource demand task, based on the predicted available computing power resources and reserved partition information, it is determined whether there is a reserved partition within the scheduling time window that can provide continuous resource blocks that meet the task's resource requirements. The expected waiting time of the task is calculated. High resource demand tasks that cannot obtain continuous resource blocks that meet the task's resource requirements in any reserved partition and whose expected waiting time is greater than a preset waiting time threshold are used as migration trigger targets to trigger migration object selection and migration execution.
[0034] Furthermore, the process of selecting migration objects from ordinary tasks and elastic tasks that occupy reserved partitions and have migrateable attributes, migrating the migration objects to fragmented partitions and merging and releasing resources to form new contiguous resource blocks, and updating reserved partitions and fragmented partitions includes:
[0035] Among the regular and elastic tasks occupying the reserved partition, tasks with migrateable attributes, whose current runtime is greater than the preset minimum runtime threshold, and which can increase the length of continuous resource blocks in the reserved partition to the preset resource release threshold after release are selected as migration objects. For each migration object, based on the predicted available computing power resources, a target location that meets the task's resource requirements is selected in the fragmented partition. The migration object generates intermediate runtime status data on the original computing node, resumes execution at the target location, releases the original reserved partition resources, and merges and releases resources after multiple migration objects are completed to form a new continuous resource block, updating the reserved partition and the fragmented partition.
[0036] Furthermore, the process of performing task start, pause, migration, and termination operations based on scheduling decisions and updated reserved and fragmented partitions, and collecting operational feedback information to write to the operational data repository, includes:
[0037] A local execution agent is deployed on each compute node. The local execution agent executes task start commands, task pause commands, task migration commands, and task end commands based on scheduling decisions and the update results of reserved partitions and fragmented partitions. During task execution, the local execution agent periodically collects information on the actual start time of the task, the actual end time of the task, changes in resource usage during task execution, and abnormal event information, and reports them to the central scheduling and control node. The central scheduling and control node associates the reported information with the task identifier and compute node identifier and writes it into the runtime data repository.
[0038] The heterogeneous computing power system resource scheduling system based on intelligent prediction applies the aforementioned resource scheduling method for heterogeneous computing power systems based on intelligent prediction. It includes a data acquisition and storage unit, a prediction unit, a resource partitioning and fragmentation assessment unit, a task classification and hierarchical scheduling decision unit, a migration and resource reallocation unit, a scheduling execution and operation feedback unit, and a data processing module. The data acquisition and storage unit, prediction unit, resource partitioning and fragmentation assessment unit, task classification and hierarchical scheduling decision unit, migration and resource reallocation unit, and scheduling execution and operation feedback unit are each connected to the data processing module.
[0039] The aforementioned running data acquisition and storage unit is used to collect computing node resource information and task running information, and generate a running data storage repository and current cluster status information;
[0040] The prediction unit is used to predict available computing resources and the arrival status of high-resource-demand tasks within the scheduling time window based on the running data repository and the current cluster status information.
[0041] The resource partitioning and fragmentation assessment unit is used to divide resources into reserved partitions and fragmentation partitions within each computing node and calculate the degree of resource fragmentation.
[0042] The task classification and hierarchical scheduling decision unit is used to parse task description information, classify tasks into high resource demand tasks, ordinary tasks and elastic tasks, and generate scheduling decisions including reserved partition allocation, fragment allocation and continuous resource block reservation based on task category, resource fragmentation degree and arrival status of high resource demand tasks.
[0043] The migration and resource reorganization unit is used to determine the migration trigger target based on available computing power resources and reserved partitions, execute ordinary tasks and elastic tasks to migrate and merge resources to form new contiguous resource blocks, and update reserved partitions and fragmented partitions;
[0044] The scheduling execution and operation feedback unit is used to execute task scheduling commands on the computing node according to the scheduling decision and the updated reserved partition and fragmented partition, and to collect operation feedback information and write it into the operation data storage repository.
[0045] The beneficial effects of this invention are:
[0046] 1. By predicting the available computing resources of each computing node and the arrival status of high-resource-demand tasks within the scheduling time window, this invention extends the scheduling decision from a passive strategy that only depends on the current resource status to an active strategy based on historical running data and future trends. It can plan continuous resource blocks for high-resource-demand tasks before task submission and during task waiting, thereby improving the schedulability of high-resource-demand tasks.
[0047] 2. By explicitly dividing the reserved partition and the fragmented partition within each computing node, and calculating the degree of resource fragmentation based on the number and size of contiguous resource blocks in the reserved partition and the resource size in the fragmented partition, this invention achieves structured management of resources at the node level, providing a clear foundation for subsequent hierarchical scheduling and migration reorganization.
[0048] 3. By prioritizing the allocation of ordinary and elastic tasks to fragmented partitions and reserving continuous resource blocks in reserved partitions for current and future high-resource-demand tasks, this invention reduces the probability of high-resource-demand tasks having their available continuous resource blocks occupied, provided that the throughput of ordinary and elastic tasks does not decrease by more than a preset performance degradation threshold. This improves the scheduling success rate of high-resource-demand tasks while ensuring the overall system throughput.
[0049] 4. By selecting migration objects that meet the runtime threshold and resource release threshold from ordinary tasks and elastic tasks occupying the reserved partition when the migration trigger condition is met, migrating them to the fragmented partition and releasing the original reserved partition resources, this invention actively reorganizes the reserved partition structure under controllable migration overhead, and constructs continuous resource blocks that meet the resource requirements for high resource demand tasks.
[0050] 5. By continuously collecting the actual start time, actual end time, resource usage change information, and abnormal event information of the task through the scheduling execution and operation feedback unit, and writing them into the operation data storage repository, the present invention enables the prediction unit to continuously update the input data in multiple rounds of scheduling, thereby improving the prediction accuracy and the reliability of scheduling decisions. Attached Figure Description
[0051] Figure 1 This is a flowchart illustrating a method for scheduling computing resources in a heterogeneous computing system based on intelligent prediction. Detailed Implementation
[0052] The technical solution of the present invention will be further described in detail below with reference to the accompanying drawings, but the scope of protection of the present invention is not limited to the following description.
[0053] The features and performance of the present invention will be further described in detail below with reference to embodiments.
[0054] Example 1:
[0055] A method for scheduling computing resources in heterogeneous computing systems based on intelligent prediction includes the following steps:
[0056] Step 1: Collect computing node resource information and task execution information, and generate a runtime data repository and current cluster status information;
[0057] Step 2: Based on the running data repository and current cluster status information, predict the available computing power resources and the arrival status of high resource demand tasks within the scheduling time window;
[0058] Step 3: Within each computing node, based on the current resource usage status and available computing power, divide the continuous resources that can meet the resource requirements of high resource demand tasks into reserved partitions, divide the remaining available resources into fragmented partitions, and calculate the degree of resource fragmentation.
[0059] Step 4: Obtain task description information from the queue of tasks to be scheduled, parse the task resource requirements, topological constraints and portability attributes, divide the tasks into high resource requirement tasks, ordinary tasks and elastic tasks, and allocate ordinary tasks and elastic tasks to fragmented partitions according to task category, resource fragmentation degree and arrival status of high resource requirement tasks, allocate high resource requirement tasks to reserved partitions, and reserve continuous resource blocks matching the resource requirements of high resource requirement tasks in the reserved partitions to generate scheduling decisions;
[0060] Step 5: Based on available computing power resources and reserved partitions, determine whether there are high resource demand tasks that cannot obtain continuous resource blocks in the reserved partitions within the scheduling time window. If so, select migration objects from ordinary tasks and elastic tasks that occupy reserved partitions and have migration attributes, migrate the migration objects to the fragmented partitions, merge and release resources to form new continuous resource blocks, and update the reserved partitions and fragmented partitions.
[0061] Step Six: Based on the scheduling decision and the updated reserved and fragmented partitions, perform task start, pause, migration, and termination operations, and collect operational feedback information to write to the operational data repository.
[0062] Specifically, in a heterogeneous computing system, each computing node includes a processor, at least one computing acceleration device, memory, and storage. A status acquisition agent process is deployed on each computing node. During the initial acquisition phase, it reads the processor specifications, computing acceleration device specifications and quantity, memory capacity, and storage capacity of the computing node to form node hardware configuration information, and then reports this information to the central scheduling and control node.
[0063] During subsequent sampling periods, processor utilization, task occupancy of each computing acceleration device, available computing resources, memory utilization, and storage utilization of each computing acceleration device are read according to the preset sampling period to form real-time resource utilization status, and the real-time resource utilization status is reported to the central scheduling and control node.
[0064] The central scheduling and control node receives node hardware configuration information and real-time resource usage status from each computing node. It aggregates the node hardware configuration information and real-time resource usage status according to the computing node identifier to form the current cluster status information.
[0065] Throughout the task lifecycle, the task submission time, start time, end time, and resource usage changes during task execution are recorded to form task execution information. The current cluster status information and task execution information are stored in the execution data repository for subsequent use by the prediction unit.
[0066] The runtime data repository provides historical task runtime data and current cluster status information, providing a data foundation for predicting available computing resources within the scheduling time window and the arrival of high-resource-demand tasks.
[0067] The prediction unit selects task execution data within a preset historical time range from the execution data repository to construct a historical execution data set. The historical execution data set includes at least task submission records, task start time, task end time, and information on resource usage changes during task execution.
[0068] Based on historical execution data and current cluster status information, the prediction unit predicts the task completion time for each computing node within the scheduling time window, according to the typical execution time of similar tasks in the historical execution data and the progress information of currently running tasks. This yields the available computing resources for the corresponding time period. The prediction unit then combines the available computing resources for each time period with the available computing resources in the current cluster status information to calculate the available computing resources for each computing node within the scheduling time window.
[0069] Based on historical task submission patterns and the current queue of tasks to be scheduled, the submission of high-resource-demand tasks within the scheduling time window is predicted, and the predicted arrival time of each high-resource-demand task and the number of high-resource-demand tasks are obtained.
[0070] The prediction results include the available computing resources of each compute node in each time period within the scheduling time window, as well as the predicted arrival time and number of high-resource-demand tasks. The scheduling time window can be a fixed-length period or configured according to the system load. During the resource partitioning and fragmentation assessment process, the resource partitioning and fragmentation assessment unit performs processing separately for each compute node.
[0071] For a given computing node, the resource partitioning and fragmentation assessment unit obtains the processor specifications, computing acceleration device specifications and quantity, interconnection relationships between computing acceleration devices, current resource usage status, and the available computing power resources predicted within the scheduling time window.
[0072] The resource partitioning and fragmentation assessment unit determines the resource combinations that can be used jointly by the computing node within the scheduling time window. The resource combinations that can be used jointly are:
[0073] Multiple compute acceleration devices in a pool of resources can be used in combination to meet topological constraints for resource-intensive tasks, such as those located in the same high-speed interconnect domain. The total available resources in the pool of resources can continuously provide at least a contiguous resource block threshold.
[0074] The resource partitioning and fragmentation evaluation unit will continuously provide a resource quantity no less than the threshold of contiguous resource blocks. Resource combinations that can meet the target resource quantity and topological constraints of high resource demand tasks will be marked as reserved partition resources.
[0075] The resource partitioning and fragmentation assessment unit marks the available resources within a computing node, excluding reserved partition resources, as fragmented partition resources.
[0076] The resource partitioning and fragmentation assessment unit calculates the degree of resource fragmentation. In one embodiment, the degree of resource fragmentation is the ratio of the total available resources in a fragmented partition to the total available resources of the compute node. The total available resources include the sum of the total available resources in the reserved partition and the total available resources in the fragmented partition. The resource partitioning and fragmentation assessment unit records the reserved partition, fragmented partition, and degree of resource fragmentation for each compute node in the system for use in subsequent hierarchical scheduling decision generation and migration reorganization.
[0077] The task classification and hierarchical scheduling decision unit reads task description information from the queue of tasks to be scheduled. The task description information includes at least the task identifier, the type of target computing acceleration device, the number of target computing acceleration devices, topology constraints, the minimum number of target resources, the maximum number of target resources, the expected start time, the maximum acceptable waiting time, and the transferable attribute markers.
[0078] In this invention, the elasticity attribute is an attribute that a task has a minimum number of target resources and a maximum number of target resources, and that the task supports migration and resumption of execution from an intermediate running state.
[0079] The task classification and hierarchical scheduling decision unit sets a first resource quantity threshold. When the number of target computing acceleration devices for a task exceeds the first resource quantity threshold, and the task requires deployment on the same computing node or the same high-speed interconnect topology, the task is a high-resource-demand task.
[0080] When the number of target computing acceleration devices is not greater than the first resource quantity threshold, the task has no constraints on the computing node topology, and the task does not have elasticity attributes, the task is a normal task.
[0081] A task is an elastic task when it has a minimum number of target resources, a maximum number of target resources, and elasticity.
[0082] The task classification results, along with the corresponding time constraints and transferable attributes, are written into the queue of tasks to be scheduled for resource allocation and migration / reorganization. The task classification and hierarchical scheduling decision unit sorts the queue of tasks to be scheduled according to their submission time and maximum acceptable waiting time, forming a sequence of candidate scheduling tasks.
[0083] The task classification and hierarchical scheduling decision unit formulates resource allocation strategies for candidate task sequences:
[0084] For ordinary tasks, provided that the required number of resources for the task are met, computing resources are allocated preferentially to fragmented partitions of computing nodes with a fragmentation degree greater than the fragmentation threshold. The fragmentation threshold is a system configuration parameter used to identify computing nodes with a high degree of resource fragmentation.
[0085] For elastic tasks, resources are allocated primarily within fragmented partitions, provided that the minimum target resource quantity for the task is met. When the resource quantity available in a fragmented partition is between the minimum and maximum target resource quantity for the task, the resource quantity available in the fragmented partition is used as the actual resource allocation quantity for deploying the elastic task.
[0086] For tasks with high resource requirements, only select contiguous resource blocks in the reserved partition that meet the task's target resource quantity and topology constraints for allocation.
[0087] Furthermore, the task classification and hierarchical scheduling decision unit performs reservation operations in the reserved partition based on the arrival time and quantity of high-resource-demand tasks output by the prediction unit. For each high-resource-demand task predicted to arrive within the scheduling time window, the task classification and hierarchical scheduling decision unit selects a contiguous resource block in the reserved partition that matches the target resource quantity of the high-resource-demand task, marks the contiguous resource block as reserved resources, and prohibits the allocation of reserved resources to ordinary tasks and elastic tasks within the scheduling time window.
[0088] The task classification and hierarchical scheduling decision unit generates scheduling decisions based on the above allocation strategy. The scheduling decisions include the mapping relationship between tasks and computing nodes, partitions, and specific resource blocks.
[0089] Based on the available computing power resources output by the prediction unit and the reserved partition information output by the resource partitioning and fragmentation assessment unit, the migration and resource reorganization unit judges the schedulability of high resource demand tasks and performs migration and resource reorganization operations when the migration triggering conditions are met.
[0090] The migration and resource restructuring unit iterates through high-resource-demand tasks within the scheduling time window. For each high-resource-demand task, the migration and resource restructuring unit checks in all reserved partitions whether there exists a contiguous resource block that can provide the target resource quantity and topology constraints for that high-resource-demand task.
[0091] Based on the predicted available computing resources and the current waiting time, calculate the estimated waiting time for this high-resource-demand task without performing a migration operation.
[0092] When a high-resource-demand task cannot obtain contiguous resource blocks that meet the target resource quantity and topology constraints in all reserved partitions, and the expected waiting time of the high-resource-demand task is greater than the waiting time threshold, the migration and resource reorganization unit marks the high-resource-demand task as a migration trigger target.
[0093] For each migration trigger target, the migration and resource realignment unit selects migration targets from the regular tasks and elastic tasks that occupy reserved partition resources, including:
[0094] The selected migration object has a migrateable attribute; the current runtime is greater than the minimum runtime threshold; after releasing the reserved partition resources occupied by the migration object, the increase in the length of the contiguous resource blocks in the reserved partition is not less than the resource release threshold.
[0095] Based on the available computing resources output by the prediction unit, the migration and resource realignment unit selects a target location in the fragmented partition that can meet the resource requirements of the migration object. The migration and resource realignment unit controls the migration object to generate intermediate running state data on the original computing node, transmits the intermediate running state data to the target location, and resumes the execution of the migration object at the target location, ensuring that the migration process does not lead to task failure or incorrect task final results.
[0096] After migrating the objects, the migration and resource reorganization unit merges the resources released from the reserved partitions, combining adjacent resource blocks into contiguous resource blocks, until a contiguous resource block that meets the resource requirements of the migration trigger is formed in a certain reserved partition, or the number of migration objects reaches the migration limit. The resource partitioning and fragmentation assessment unit updates the reserved partition and fragmentation partition structures based on the migration results and recalculates the resource fragmentation degree of the corresponding computing nodes.
[0097] Deploy a local execution agent on each compute node. The local execution agent receives task start commands, task pause commands, task migration commands, and task termination commands issued by the central scheduling and control node; and, based on the scheduling decision, starts the scheduled task on the corresponding resource block in the reserved partition or fragmented partition of the specified compute node.
[0098] Based on the migration commands issued by the migration and resource realignment unit, pause, state saving, state transfer, and state restoration operations are performed on the migration object. Upon task completion, a task termination operation is performed to release the resources occupied by the task.
[0099] During task execution, the local execution agent collects information on the actual start time, actual end time, resource usage changes, and abnormal events according to a preset sampling period, and reports this information to the central scheduling and control node. The central scheduling and control node associates the operational feedback information with the task identifier and computing node identifier and writes it into the operational data repository, providing input data for the next round of prediction steps.
[0100] Example 2:
[0101] The heterogeneous computing power system resource scheduling system based on intelligent prediction applies the aforementioned resource scheduling method for heterogeneous computing power systems based on intelligent prediction. It includes a data acquisition and storage unit, a prediction unit, a resource partitioning and fragmentation assessment unit, a task classification and hierarchical scheduling decision unit, a migration and resource reallocation unit, a scheduling execution and operation feedback unit, and a data processing module. The data acquisition and storage unit, prediction unit, resource partitioning and fragmentation assessment unit, task classification and hierarchical scheduling decision unit, migration and resource reallocation unit, and scheduling execution and operation feedback unit are each connected to the data processing module.
[0102] The aforementioned running data acquisition and storage unit is used to collect computing node resource information and task running information, and generate a running data storage repository and current cluster status information;
[0103] The prediction unit is used to predict available computing resources and the arrival status of high-resource-demand tasks within the scheduling time window based on the running data repository and the current cluster status information.
[0104] The resource partitioning and fragmentation assessment unit is used to divide resources into reserved partitions and fragmentation partitions within each computing node and calculate the degree of resource fragmentation.
[0105] The task classification and hierarchical scheduling decision unit is used to parse task description information, classify tasks into high resource demand tasks, ordinary tasks and elastic tasks, and generate scheduling decisions including reserved partition allocation, fragment allocation and continuous resource block reservation based on task category, resource fragmentation degree and arrival status of high resource demand tasks.
[0106] The migration and resource reorganization unit is used to determine the migration trigger target based on available computing power resources and reserved partitions, execute ordinary tasks and elastic tasks to migrate and merge resources to form new contiguous resource blocks, and update reserved partitions and fragmented partitions;
[0107] The scheduling execution and operation feedback unit is used to execute task scheduling commands on the computing node according to the scheduling decision and the updated reserved partition and fragmented partition, and to collect operation feedback information and write it into the operation data storage repository.
[0108] The above description is merely a preferred embodiment of the present invention. It should be understood that the present invention is not limited to the forms disclosed herein and should not be construed as excluding other embodiments. It can be used in various other combinations, modifications, and environments, and can be altered within the scope of the concept described herein through the above teachings or related technologies or knowledge. Modifications and variations made by those skilled in the art that do not depart from the spirit and scope of the present invention should be within the protection scope of the appended claims.
Claims
1. A method for scheduling computing resources in a heterogeneous computing system based on intelligent prediction, characterized in that, Includes the following steps: Step 1: Collect computing node resource information and task execution information, and generate a runtime data repository and current cluster status information; Step 2: Based on the running data repository and current cluster status information, predict the available computing power resources and the arrival status of high resource demand tasks within the scheduling time window; Step 3: Within each computing node, based on processor specifications, computing acceleration device specifications, and interconnection relationships, combined with the current resource usage status and available computing power resources, determine the resource combinations that can be used together within the scheduling time window. Mark resource combinations that can continuously provide no less than the preset continuous resource block threshold and meet the resource requirements of high resource demand tasks as reserved partitions, and mark the remaining available resources as fragmented partitions. Calculate the degree of resource fragmentation based on the number and size of continuous resource blocks in the reserved partitions and the resource size in the fragmented partitions, and associate the degree of resource fragmentation with the corresponding computing node for storage. Step 4: Obtain task description information from the queue of tasks to be scheduled, parse the task resource requirements, topological constraints and portability attributes, divide the tasks into high resource requirement tasks, ordinary tasks and elastic tasks, and allocate ordinary tasks and elastic tasks to fragmented partitions according to task category, resource fragmentation degree and arrival status of high resource requirement tasks, allocate high resource requirement tasks to reserved partitions, and reserve continuous resource blocks matching the resource requirements of high resource requirement tasks in the reserved partitions to generate scheduling decisions; Step 5: Based on available computing power resources and reserved partitions, determine whether there are high resource demand tasks that cannot obtain continuous resource blocks in the reserved partitions within the scheduling time window. If so, select migration objects from ordinary tasks and elastic tasks that occupy reserved partitions and have migration attributes, migrate the migration objects to the fragmented partitions, merge and release resources to form new continuous resource blocks, and update the reserved partitions and fragmented partitions. Step Six: Based on the scheduling decision and the updated reserved and fragmented partitions, perform task start, pause, migration, and termination operations, and collect operational feedback information to write to the operational data repository.
2. The method for scheduling computing resources in a heterogeneous computing system based on intelligent prediction according to claim 1, characterized in that, The process of collecting computing node resource information and task execution information, and generating a runtime data repository and current cluster status information includes: A status acquisition agent process is deployed on each computing node. During the initial acquisition, the status acquisition agent process reads the processor specifications, computing acceleration device specifications and quantity, memory capacity and storage capacity of the computing node and reports them to the central scheduling and control node. In subsequent sampling periods, it collects processor utilization, computing acceleration device task occupancy, remaining computing resources, memory utilization and storage utilization, and reports them to the central scheduling and control node. The central scheduling and control node aggregates the reported information to form the current cluster status information, and writes the current cluster status information, along with task submission records, task start time, task end time and resource usage change information during task execution, into the runtime data repository.
3. The method for scheduling computing resources in a heterogeneous computing system based on intelligent prediction according to claim 2, characterized in that, The method of predicting available computing resources and the arrival status of high-resource-demand tasks within a scheduling time window based on the running data repository and current cluster status information includes: The system selects task submission records, task start time, task end time, and resource usage change information within a preset historical time range from the runtime data repository to construct a historical runtime data set. Based on the historical runtime data set and the current cluster status information, the prediction unit predicts the task completion status of each computing node within the scheduling time window and outputs the available computing resources of each computing node at different time periods. Based on the historical runtime data set and the queue of tasks to be scheduled, the prediction unit predicts the submission status of high resource demand tasks within the scheduling time window and outputs the arrival time and number of high resource demand tasks.
4. The method for scheduling computing resources in a heterogeneous computing system based on intelligent prediction according to claim 1, characterized in that, The process of obtaining task description information from the queue of tasks to be scheduled, parsing task resource requirements, topological constraints, and portability attributes, and classifying tasks into high-resource-requirement tasks, ordinary tasks, and elastic tasks includes: The number of target computing acceleration devices is parsed from the task description information, and a first resource quantity threshold is set. Tasks with a target number of computing acceleration devices greater than the first resource quantity threshold and requiring deployment on the same computing node or the same high-speed interconnect topology are classified as high resource demand tasks. Tasks with a target number of computing acceleration devices not greater than the first resource quantity threshold, no constraints on the computing node topology, and no elasticity attribute are classified as ordinary tasks. Tasks with a minimum target resource quantity, a maximum target resource quantity, a migration attribute, and support for resumption of execution from an intermediate running state are classified as elastic tasks. The classification results of high resource demand tasks, ordinary tasks, and elastic tasks are written into the task queue to be scheduled.
5. The method for scheduling computing resources in a heterogeneous computing system based on intelligent prediction according to claim 4, characterized in that, The process of allocating ordinary and elastic tasks to fragmented partitions and allocating high-resource-demand tasks to reserved partitions based on task type, resource fragmentation level, and arrival status of high-resource-demand tasks, and reserving contiguous resource blocks matching the resource requirements of high-resource-demand tasks in the reserved partitions to generate scheduling decisions, includes: For ordinary tasks, while meeting the task's resource requirements, priority is given to allocating computing resources to fragmented partitions of computing nodes with a resource fragmentation degree greater than a preset fragmentation threshold. For elastic tasks, under the premise of meeting the minimum target resource quantity of the task, priority is given to allocating computing resources to fragmented partitions. When the resource quantity provided by the fragmented partition is between the minimum target resource quantity of the task and the maximum target resource quantity of the task, the elastic task is deployed with the resource quantity mentioned above. For tasks with high resource requirements, computing resources are allocated only to contiguous resource blocks in the reserved partition; Based on the predicted arrival time and number of high-resource-demand tasks, reserve continuous resource blocks matching the resource requirements of the tasks in the reserved partition, and prohibit the allocation of the reserved continuous resource blocks to ordinary tasks and elastic tasks within the scheduling time window.
6. The method for scheduling computing resources in a heterogeneous computing system based on intelligent prediction according to claim 5, characterized in that, The method of determining whether there are high-resource-demand tasks within a scheduling time window that cannot obtain contiguous resource blocks in the reserved partition, based on available computing resources and reserved partitions, includes: For each high resource demand task, based on the predicted available computing power resources and reserved partition information, it is determined whether there is a reserved partition within the scheduling time window that can provide continuous resource blocks that meet the task's resource requirements. The expected waiting time of the task is calculated. High resource demand tasks that cannot obtain continuous resource blocks that meet the task's resource requirements in any reserved partition and whose expected waiting time is greater than a preset waiting time threshold are used as migration trigger targets to trigger migration object selection and migration execution.
7. The method for scheduling computing resources in a heterogeneous computing system based on intelligent prediction according to claim 1, characterized in that, The process of selecting migration objects from regular and elastic tasks that occupy reserved partitions and have migrateable attributes, migrating these objects to fragmented partitions and merging and releasing resources to form new contiguous resource blocks, and updating the reserved partitions and fragmented partitions includes: Among the regular and elastic tasks occupying the reserved partition, tasks with migrateable attributes, whose current runtime is greater than the preset minimum runtime threshold, and which can increase the length of continuous resource blocks in the reserved partition to the preset resource release threshold after release are selected as migration objects. For each migration object, based on the predicted available computing power resources, a target location that meets the task's resource requirements is selected in the fragmented partition. The migration object generates intermediate runtime status data on the original computing node, resumes execution at the target location, releases the original reserved partition resources, and merges and releases resources after multiple migration objects are completed to form a new continuous resource block, updating the reserved partition and the fragmented partition.
8. The method for scheduling computing resources in a heterogeneous computing system based on intelligent prediction according to claim 1, characterized in that, The process of performing task start, pause, migration, and termination operations based on scheduling decisions and updated reserved and fragmented partitions, and collecting runtime feedback information and writing it to the runtime data repository, includes: A local execution agent is deployed on each compute node. The local execution agent executes task start commands, task pause commands, task migration commands, and task end commands based on scheduling decisions and the update results of reserved partitions and fragmented partitions. During task execution, the local execution agent periodically collects information on the actual start time of the task, the actual end time of the task, changes in resource usage during task execution, and abnormal event information, and reports them to the central scheduling and control node. The central scheduling and control node associates the reported information with the task identifier and compute node identifier and writes it into the runtime data repository.
9. A computing resource scheduling system for heterogeneous computing power systems based on intelligent prediction, characterized in that, The computing resource scheduling method for heterogeneous computing power systems based on intelligent prediction, as described in any one of claims 1-8, includes a running data acquisition and storage unit, a prediction unit, a resource partitioning and fragmentation assessment unit, a task classification and hierarchical scheduling decision unit, a migration and resource reorganization unit, a scheduling execution and operation feedback unit, and a data processing module; the running data acquisition and storage unit, the prediction unit, the resource partitioning and fragmentation assessment unit, the task classification and hierarchical scheduling decision unit, the migration and resource reorganization unit, and the scheduling execution and operation feedback unit are respectively connected to the data processing module; The aforementioned running data acquisition and storage unit is used to collect computing node resource information and task running information, and generate a running data storage repository and current cluster status information; The prediction unit is used to predict available computing resources and the arrival status of high-resource-demand tasks within the scheduling time window based on the running data repository and the current cluster status information. The resource partitioning and fragmentation assessment unit is used to divide resources into reserved partitions and fragmented partitions within each computing node and calculate the degree of resource fragmentation. Within each computing node, based on processor specifications, computing acceleration device specifications, and interconnection relationships, combined with the current resource usage status and available computing power resources, it determines resource combinations that can be used together within the scheduling time window. Resource combinations that can continuously provide no less than a preset threshold of continuous resource blocks and meet the resource requirements of high resource demand tasks are marked as reserved partitions, and the remaining available resources are marked as fragmented partitions. The degree of resource fragmentation is calculated based on the number and size of continuous resource blocks in the reserved partitions and the resource size in the fragmented partitions, and the degree of resource fragmentation is associated with and stored with the corresponding computing node. The task classification and hierarchical scheduling decision unit is used to parse task description information, classify tasks into high resource demand tasks, ordinary tasks and elastic tasks, and generate scheduling decisions including reserved partition allocation, fragment allocation and continuous resource block reservation based on task category, resource fragmentation degree and arrival status of high resource demand tasks. The migration and resource reorganization unit is used to determine the migration trigger target based on available computing power resources and reserved partitions, execute ordinary tasks and elastic tasks to migrate and merge resources to form new contiguous resource blocks, and update reserved partitions and fragmented partitions; The scheduling execution and operation feedback unit is used to execute task scheduling commands on the computing node according to the scheduling decision and the updated reserved partition and fragmented partition, and to collect operation feedback information and write it into the operation data storage repository.
Citation Information
Patent Citations
Distribution method and system for improving GPU (Graphics Processing Unit) resource utilization rate, medium and program product
CN119415272A
Industrial personal computer and multi-graphics card collaborative parallel operation acceleration system
CN121029352A