A task execution method, system, device, storage medium and program product

Through the method of task analysis and integral calculation, fine-grained allocation of resources by time slices is achieved, which solves the problem of inflexible resource allocation in existing technologies and improves resource utilization and task execution efficiency.

CN120295798BActive Publication Date: 2025-10-14INSPUR (BEIJING) ELECTRONICS INFORMATION IND CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202510774816.8
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2025-06-11
Publication Date
2025-10-14
Estimated Expiration
2045-06-11

AI Technical Summary

Technical Problem

Existing resource management methods are unable to dynamically adjust resource allocation according to task requirements, resulting in inefficient resource utilization and inefficient task execution.

Method used

By analyzing the tasks to be executed, we can obtain resource requirement parameters, determine task quotas, perform integral calculations within a preset scoring period, and divide resources into time slices to achieve fine-grained resource allocation and control.

Benefits of technology

It improves resource utilization, avoids resource grabbing and jamming between tasks, and enhances system stability and task execution efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120295798B_ABST
    Figure CN120295798B_ABST
Patent Text Reader

Abstract

The application discloses a task execution method, system, device, storage medium and program product, relates to the technical field of computer application, and comprises the following steps: obtaining resource requirement parameters by analyzing a to-be-executed task, determining a task quota corresponding to the to-be-executed task according to the resource requirement parameters, pre-setting a scoring period of the task, performing integral calculation on the to-be-executed task according to the scoring period and the task quota, segmenting resources in a resource pool according to time slices, calling the resources segmented according to the time slices from the resource pool according to the task quota and the calculated integral result, and then executing the to-be-executed task by using the called resources, so that the technical problem that resource allocation cannot be dynamically adjusted according to task requirements, efficient resource utilization is difficult to realize, and task execution efficiency is low is solved, the technical effect that resource allocation can be dynamically adjusted according to task requirements, efficient resource utilization is realized, and task execution efficiency is improved is achieved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of computer application technology, and in particular to a task execution method, system, device, storage medium, and program product. Background Art

[0002] Model training and graphics rendering tasks require a large amount of computing resources. Currently, commonly used resource management methods are mainly divided into two categories: one is static allocation, which allocates resources to specific tasks; the other is simple dynamic scheduling.

[0003] However, both of these resource management methods have their own shortcomings. First, static allocation methods lack flexibility and cannot dynamically adjust resource allocation based on task requirements. Second, simple dynamic scheduling relies on coarse-grained resource allocation, making it difficult to achieve efficient resource utilization, resulting in low task execution efficiency. Summary of the Invention

[0004] The present application provides a task execution method, system, device, readable storage medium and program product to at least solve the problems in related technologies such as the inability to dynamically adjust resource allocation according to task requirements, difficulty in achieving efficient resource utilization, and low task execution efficiency.

[0005] This application provides a task execution method, including:

[0006] Parse the received tasks to be executed and obtain resource requirement parameters;

[0007] Determine the task quota corresponding to the task to be executed according to the resource requirement parameter;

[0008] Obtaining a preset scoring period, and calculating points for the task to be executed according to the scoring period and the task quota;

[0009] According to the task quota and the calculated integral result, resources divided into time slices are retrieved from the resource pool; wherein each time slice is a time slice obtained by dividing the scoring period according to a preset time interval;

[0010] Utilize the retrieved resources to execute the tasks to be executed.

[0011] This application also provides a task execution system, including:

[0012] The user side is used to send tasks to be executed to the hybrid task scheduler;

[0013] The hybrid task scheduler is configured to parse the task to be executed to obtain resource requirement parameters; determine the task quota corresponding to the task to be executed based on the resource requirement parameters; obtain a preset scoring period, and calculate the points of the task to be executed based on the scoring period and the task quota; send a resource retrieval request to the dynamic heterogeneous computing power resource pool based on the task quota and the calculated points; and execute the task to be executed using the retrieved resources;

[0014] The dynamic heterogeneous computing power resource pool is used to return resources divided by time slices to the hybrid task scheduler according to the resource call request; wherein each time slice is a time slice obtained by dividing the scoring period according to a preset time interval.

[0015] The present application also provides an electronic device, comprising: a memory for storing a computer program; and a processor for implementing the steps of any of the above-mentioned task execution methods when executing the computer program.

[0016] The present application also provides a non-volatile computer-readable storage medium, in which a computer program is stored. When the computer program is executed by a processor, the steps of any of the above-mentioned task execution methods are implemented.

[0017] The present application also provides a computer program product, including a computer program, which implements the steps of any of the above-mentioned task execution methods when executed by a processor.

[0018] Through this application, resource requirement parameters are obtained by analyzing the tasks to be executed, the task quota corresponding to the tasks to be executed is determined based on the resource requirement parameters, a scoring period for the tasks is pre-set, points are calculated for the tasks to be executed based on the scoring period and the task quota, the resources in the resource pool are divided by time slices, and the resources divided by time slices are retrieved from the resource pool based on the task quota and the calculated points, and then the retrieved resources are used to execute the tasks to be executed. Task quotas are used to allocate resources within each time slice to different tasks to be executed, allowing resources to support multiple tasks within a single time slice, achieving fine-grained resource division, reducing resource idle time, and significantly improving resource utilization. Furthermore, task point calculations are used to control task resource usage, avoiding excessive resource usage by a single task, avoiding deadlocks caused by resource preemption between tasks, and improving system stability. Therefore, the technical problems of being unable to dynamically adjust resource allocation according to task requirements, difficulty in achieving efficient resource utilization, and low task execution efficiency can be solved, achieving the technical effect of being able to dynamically adjust resource allocation according to task requirements, achieving efficient resource utilization, and improving task execution efficiency. BRIEF DESCRIPTION OF THE DRAWINGS

[0019] In order to more clearly illustrate the embodiments of the present application, the following is a brief introduction to the drawings required for use in the embodiments. Obviously, the drawings described below are only some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without any creative work.

[0020] Figure 1 A flowchart of an implementation method of a task execution method provided in an embodiment of the present application;

[0021] Figure 2 A flowchart of another method for executing a task according to an embodiment of the present invention;

[0022] Figure 3 A timing diagram of application programming interface request hijacking during task execution provided by an embodiment of the present application;

[0023] Figure 4 A structural block diagram of a task execution device provided in an embodiment of the present application;

[0024] Figure 5 An architectural diagram of a task execution system provided in an embodiment of the present application. DETAILED DESCRIPTION

[0025] The following will be combined with the accompanying drawings in the embodiments of this application to clearly and completely describe the technical solutions in the embodiments of this application. Obviously, the embodiments described are only part of the embodiments of this application, not all of them. Based on the embodiments in this application, all other embodiments obtained by ordinary technicians in this field without making creative efforts are within the scope of protection of this application.

[0026] It should be noted that, in the description of this application, the terms "comprises," "includes," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or device comprising a series of elements includes not only those elements, but also other elements not explicitly listed, or elements inherent to such process, method, article, or device. The terms "first," "second," etc., in this application are used to distinguish similar objects, and are not used to describe a particular order or sequence.

[0027] In order to enable those skilled in the art to better understand the present application, the present application is further described in detail below with reference to the accompanying drawings and specific implementation methods.

[0028] In conjunction with the specific application environment architecture or specific hardware architecture on which the execution of the task execution method depends, the specific application environment architecture or specific hardware architecture is described here.

[0029] Embodiments of the present application provide a task execution method, which is described in detail in combination with an execution flow of the task execution method.

[0030] Referring to Figure 1 , Figure 1 An implementation flowchart of a task execution method provided by embodiments of the present application can include the following steps.

[0031] S101: Analyzing a received to-be-executed task to obtain a resource requirement parameter.

[0032] When a user end has a to-be-executed task, the to-be-executed task is sent to a server end, and the to-be-executed task contains a resource requirement parameter. The server end receives the to-be-executed task and analyzes the received to-be-executed task to obtain the resource requirement parameter.

[0033] The resource requirement parameter can include a required computing power size and a required display memory size, and the computing power can include a graphics processing unit (GPU).

[0034] S102: Determining a task quota corresponding to the to-be-executed task according to the resource requirement parameter.

[0035] A correspondence between the resource requirement parameter and the task quota is set in advance, for example, a correspondence between a resource requirement parameter interval and a task quota can be set. After the resource requirement parameter is obtained by analysis, the task quota corresponding to the to-be-executed task is determined according to the resource requirement parameter.

[0036] The task quota is a time length occupied by task execution in a time slice.

[0037] S103: Obtaining a preset scoring period and performing integral calculation on the to-be-executed task according to the scoring period and the task quota.

[0038] After the task quota corresponding to the to-be-executed task is determined according to the resource requirement parameter, a preset scoring period is obtained, and integral calculation is performed on the to-be-executed task according to the scoring period and the task quota, for example, the product operation of the scoring period and the task quota can be performed to obtain an upper limit of task integral corresponding to the to-be-executed task in one scoring period.

[0039] S104: Retrieving resources segmented by time slices from a resource pool according to the task quota and the calculated integral result.

[0040] Each time slice is a time slice obtained by dividing the scoring period according to a preset time interval.

[0041] A scoring cycle for tasks is pre-set, and the scoring cycle is divided into multiple time slices according to preset time intervals. After the points for the pending task are calculated and the points result is obtained, resources divided by time slices are retrieved from the resource pool based on the task quota and the calculated points result. For example, the resource usage of the pending task in each scoring cycle can be controlled by deducting points. If the remaining points after deducting the points in the current scoring cycle are insufficient to continue executing the pending task in the subsequent time slice, the pending task is controlled to stop executing in the current scoring cycle.

[0042] It should be noted that the scoring period can be set and adjusted according to actual conditions, and the embodiment of the present application does not limit this. For example, it can be set to 60 seconds.

[0043] It should also be noted that the length of the time slice can also be set and adjusted according to actual conditions. The embodiment of the present application does not limit this. It can be set to any time length that can divide the scoring period. For example, when the scoring period is 60 seconds, the time slice length can be set to 1.5 seconds, and a scoring period can be divided into 40 time slices.

[0044] S105: Utilize the retrieved resources to execute the task to be executed.

[0045] After retrieving time-sliced ​​resources from the resource pool based on the task quota and the calculated points, the retrieved resources are used to execute the pending task. By allocating resources from each time slice for the corresponding duration of the pending task according to the task quota, and using the remaining time in the time slice to execute other tasks, this effectively divides resources and significantly improves resource utilization.

[0046] Through this application, resource requirement parameters are obtained by analyzing the tasks to be executed, the task quota corresponding to the tasks to be executed is determined based on the resource requirement parameters, a scoring period for the tasks is pre-set, points are calculated for the tasks to be executed based on the scoring period and the task quota, the resources in the resource pool are divided by time slices, and the resources divided by time slices are retrieved from the resource pool based on the task quota and the calculated points, and then the retrieved resources are used to execute the tasks to be executed. Task quotas are used to allocate resources within each time slice to different tasks to be executed, allowing resources to support multiple tasks within a single time slice, achieving fine-grained resource division, reducing resource idle time, and significantly improving resource utilization. Furthermore, task point calculations are used to control task resource usage, avoiding excessive resource usage by a single task, avoiding deadlocks caused by resource preemption between tasks, and improving system stability. Therefore, the technical problems of being unable to dynamically adjust resource allocation according to task requirements, difficulty in achieving efficient resource utilization, and low task execution efficiency can be solved, achieving the technical effect of being able to dynamically adjust resource allocation according to task requirements, achieving efficient resource utilization, and improving task execution efficiency.

[0047] See also Figure 2 , Figure 2 This is a flowchart of another implementation method of a task execution provided in an embodiment of the present application. The method may include the following steps.

[0048] S201: Parse the received tasks to be executed to obtain resource requirement parameters and task priority parameters.

[0049] After receiving the task to be executed, the server may include resource requirement parameters and task priority parameters. The server may obtain the resource requirement parameters and task priority parameters by parsing the received task to be executed.

[0050] S202: Determine the task quota corresponding to the task to be executed according to the resource requirement parameters.

[0051] S203: Obtain a preset scoring period, and calculate points for the task to be executed according to the scoring period and the task quota.

[0052] S204: Retrieve resources divided by time slices from the resource pool according to the task quota and the calculated integral result.

[0053] Each time slice is a time slice obtained by dividing the scoring period according to a preset time interval.

[0054] S205: Send the task to be executed to the task execution queue according to the task priority parameter.

[0055] After parsing the task priority parameters, the tasks to be executed are sent to the task execution queue according to the task priority parameters. For example, high-priority tasks can be set to enter the task execution queue first, and tasks of the same priority can be set to enter the task execution queue first, and low-priority tasks can be set to enter the task execution queue later, so as to ensure that high-priority tasks have priority in obtaining resources.

[0056] In a specific embodiment of the present application, step S205 may include the following steps:

[0057] Step 1: Get the remaining task points of the task to be performed;

[0058] Step 2: Determine the task points status of the task to be executed based on the remaining task points and task quota;

[0059] Step 3: When the task points status is sufficient, the task to be executed is sent to the task execution queue according to the task priority parameter.

[0060] For the convenience of description, the above three steps can be combined for explanation.

[0061] Before sending a pending task to the task execution queue, the remaining task points of the pending task are obtained. The task point status of the pending task is determined based on the remaining task points and the task quota. For example, a product operation is performed on the task quota and the time slice to determine whether the remaining task points are greater than the calculated product. When it is determined that the remaining task points are greater than the calculated product, the task point status is determined to be sufficient, and the pending task is sent to the task execution queue according to the task priority parameter. By determining whether the pending task can be sent to the task execution queue based on the task point status of the pending task, only pending tasks with sufficient task points are sent to the task execution queue, which ensures the executable degree of each pending task in the task execution queue and further improves the efficiency of task execution.

[0062] S206: Obtain the task to be executed from the task execution queue.

[0063] After sending the tasks to be executed to the task execution queue according to the task priority parameter, the tasks to be executed are obtained from the task execution queue.

[0064] S207: Execute the pending task using the currently retrieved resources in the current time slice.

[0065] After resources divided by time slices are retrieved from the resource pool, the tasks to be executed are executed using the currently retrieved resources in the current time slice.

[0066] S208: Obtain resource utilization corresponding to the current time slice.

[0067] After executing the pending task in the current time slice using the currently retrieved resources, obtain the resource utilization corresponding to the current time slice.

[0068] S209: Determine whether the resource utilization is saturated. If so, do nothing. If not, execute step S210.

[0069] After obtaining the resource utilization corresponding to the current time slice, determine whether the resource utilization is saturated. If so, it means that the system resources in the current time slice have been well utilized and no processing is required. If not, it means that there are still idle resources in the system resources in the current time slice, and execute step S210.

[0070] S210: Increase the task quota in the next time slice.

[0071] If resource utilization is not saturated, it indicates that there are still idle system resources in the current time slice, and the task quota is adjusted upward in the next time slice. By increasing the task quota when resource utilization is not saturated, the resource utilization in each time slice within the scoring cycle is improved, thereby improving overall system resource utilization.

[0072] S211: Calculate the task points upper limit according to the task quota determined based on the resource demand parameters.

[0073] After the task quota is increased, the task credit limit is calculated according to the task quota determined based on the resource requirement parameters. For example, the task credit limit of the task to be executed within a scoring period is obtained by multiplying the scoring period and the task quota.

[0074] S212: When it is determined that the task points of the task to be executed are insufficient according to the task points upper limit in the current scoring period, the task to be executed is controlled to stop execution in the current scoring period.

[0075] After calculating the task credit limit based on the task quota determined by resource demand parameters, if the pending task's credit limit is determined to be insufficient within the current scoring cycle, the pending task is stopped within the current scoring cycle. By increasing the task quota when resource utilization is not saturated and then controlling the resource usage of the pending task within a scoring cycle using the task credit limit after the increase, this prevents a single task from occupying too many resources, avoids deadlocks caused by resource preemption between tasks, and improves system stability.

[0076] It can also trigger the recovery mechanism when the task is interrupted and support breakpoint resumption and frame recalculation.

[0077] In a specific embodiment of the present application, the method may further include the following steps:

[0078] Step 1: Get the preset queue length limit;

[0079] Step 2: When the length of the task execution queue reaches the upper limit of the queue length, control the newly generated tasks to be executed to suspend access to the task execution queue.

[0080] For the convenience of description, the above two steps can be combined for explanation.

[0081] Preset the upper limit of the task execution queue length and obtain the preset queue length limit. When the task execution queue reaches the queue length limit, control the suspension of newly generated pending tasks from entering the task execution queue. By setting the queue length limit, tasks are prevented from exceeding resource computing time and ensure the stability of time-slice scheduling.

[0082] It should be noted that the upper limit of the queue length can be set and adjusted according to actual conditions. The embodiment of the present application does not limit it. For example, it can be set to 90% of the total queue length.

[0083] In a specific embodiment of the present application, the method may further include the following steps:

[0084] Reset the task points for tasks to be executed according to the scoring period and task quota.

[0085] You can also set the task points of pending tasks to be reset according to the task quota based on the scoring period. For example, you can set the points of all tasks to be reset to the product of their corresponding task quota and 60 seconds every 60 seconds, thereby avoiding the user's excessive resource usage due to time slice expansion and allowing tasks with smaller task quotas to run periodically.

[0086] You can also set the task points corresponding to each pending task to be cleared after it is completed.

[0087] In a specific embodiment of the present application, the method may further include the following steps:

[0088] Step 1: Get the system resource intensity;

[0089] Step 2: When the system determines that the resource is insufficient, the time slice is adjusted downward;

[0090] Step 3: When it is determined that the resources are idle based on the system resource tension, the time slice is increased and the task execution queue threshold is increased.

[0091] For the convenience of description, the above three steps can be combined for explanation.

[0092] During task execution, the system resource level is measured. When resources are limited, the time slice is reduced. When resources are idle, the time slice is increased and the task execution queue threshold is raised. By adjusting the time slice and task execution queue based on the system resource level, reducing the time slice when resources are limited increases scheduling frequency and achieves refined control over resource allocation. When resources are idle, the time slice is extended and the queue threshold is relaxed, improving task throughput.

[0093] Resource shortage can be caused by three events: (1) queue overload (which can be understood as task backlog); (2) GPU resource fluctuation > 15% (such as sudden demand for computing power); (3) GPU average utilization > 80% (resource shortage); among them, GPU resource fluctuation can be the standard deviation of GPU utilization calculated within 5 time slice periods.

[0094] Resource idleness may include the absence of the above events in the current time slice and the absence of the above events in the previous time slice.

[0095] It should be noted that the increase and decrease ratios of the time slice and task execution queue thresholds can be set and adjusted according to actual conditions. The embodiments of the present application do not limit this. For example, the time slice expansion coefficient can be set. When the time slice expansion coefficient is L=1.2, it is used to extend the time slice. When the time slice expansion coefficient is S=0.8, it is used to shorten the time slice.

[0096] In a specific embodiment of the present application, after increasing the time slice and the task execution queue threshold, the method may further include the following steps:

[0097] When the system resource tension is normal for two consecutive time slices, the time slice is reduced and the task execution queue threshold is lowered.

[0098] After increasing the time slice and the task execution queue threshold, continue to monitor the system resource tension. When the system resource tension is normal for two consecutive time slices, decrease the time slice and lower the task execution queue threshold to restore the parameters to normal.

[0099] In a specific embodiment of the present application, executing the task to be executed using the retrieved resources may include the following steps:

[0100] Step 1: Execute the pending task using the currently retrieved resources in the current time slice;

[0101] Step 2: Get the actual occupied time corresponding to the task to be executed in the current time slice;

[0102] Step 3: Calculate the quota time corresponding to the task to be executed based on the task quota and time slice length;

[0103] Step 4: When it is determined that the actual occupied time is greater than the quota time, the difference between the actual occupied time and the quota time is calculated to obtain the current task overuse time corresponding to the current time slice;

[0104] Step 5: When it is determined that a preset number of consecutive nearest neighbor time slices corresponding to the current time slice all have task overuse time, the task overuse time corresponding to each nearest neighbor time slice is obtained;

[0105] Step 6: Calculate the average of the current task overuse time and the task overuse time corresponding to each nearest neighbor time slice to obtain the average overuse time;

[0106] Step 7: Calculate the difference between the quota time and the average overuse time to obtain the time difference;

[0107] Step 8: Determine the time difference as the new quota time corresponding to the task to be executed in the next time slice.

[0108] For the convenience of description, the above eight steps can be combined for explanation.

[0109] After retrieving time-sliced ​​resources from the resource pool based on the task quota and the calculated integral, the resource usage during actual task execution may fluctuate relative to the resources corresponding to the allocated task quota. Therefore, the currently retrieved resources are used to execute the pending task in the current time slice, obtaining the actual usage time corresponding to the pending task in the current time slice. The quota time corresponding to the pending task is then calculated based on the task quota and the time slice length. The actual usage time is compared with the quota time. If the actual usage time is greater than the quota time, the difference between the actual usage time and the quota time is calculated to obtain the current task overuse time corresponding to the current time slice. If a preset number of consecutive nearest neighboring time slices corresponding to the current time slice have task overuse times, the task overuse time corresponding to each nearest neighboring time slice is obtained. The average of the current task overuse time and the task overuse time corresponding to each nearest neighboring time slice is calculated to obtain the average overuse time. The difference between the quota time and the average overuse time is calculated to obtain the time difference, which is then used as the new quota time for the pending task in the next time slice. By subtracting the average overuse time from the task quota, the total occupied time corresponding to the tasks to be executed within the scoring period is ensured to be less than the product of the scoring period and the task quota, thus avoiding excessive occupation of resources by the tasks to be executed.

[0110] In a specific embodiment of the present application, the method may further include the following steps:

[0111] Step 1: In the process of using the retrieved resources to execute the task to be executed, monitor whether there is video memory overuse. If not, do not process it. If so, execute step 2.

[0112] Step 2: Intercept the video memory allocation operation corresponding to the task to be executed and return an error code.

[0113] For the convenience of description, the above two steps can be combined for explanation.

[0114] When executing pending tasks using the retrieved resources, monitor for video memory overuse. If not, no illegal video memory operation has occurred and no action is taken. If illegal video memory operation has occurred, the corresponding video memory allocation operation for the pending task is intercepted and an error code is returned. By intercepting the corresponding video memory allocation operation for the pending task and returning an error code, video memory isolation for multiple tasks is achieved.

[0115] The resource monitoring module collects real-time data on each GPU node's computing power utilization, memory usage, and operational status. When a fault (such as a hardware or software anomaly) is detected, recovery mechanisms (such as restarting the task or reallocating resources) are immediately initiated. Monitoring data is synchronously fed back to the scheduler for dynamic optimization of resource allocation strategies. Tasks are executed on the assigned GPUs and, upon completion, the computational results are returned. If an error occurs during execution (such as memory overflow or time-slice scheduling failure), the system generates an error alarm and records a detailed log. It also attempts to restart the task according to pre-set policies and notifies the user to intervene.

[0116] See also Figure 3 , Figure 3 A timing diagram of application programming interface request hijacking during task execution provided in an embodiment of the present application. It should be noted that during the API call process, AI model training and rendering are based on similar APIs. In the video memory call, the video memory allocation related API is used. In the computing power call process (computing power call is mainly manifested as kernel submission), the computing power submission API is used. Therefore, the APIs corresponding to the artificial intelligence model and rendering are consistent. The operation process of the module is as follows:

[0117] (1) API interception and task scheduling: hijacking the user program's call to the Compute Unified Device Architecture (CUDA) API, and controlling the computing task submission time within the time slice (such as waiting or executing) according to the resource pool strategy.

[0118] (2) Computing power and video memory monitoring: Real-time monitoring of computing power and video memory usage to see if they exceed the limit, intercept illegal operations and return error codes to ensure multi-tasking video memory isolation.

[0119] By intercepting the API, AI frameworks and rendering software can be connected to the resource pool without modifying the code, significantly reducing operation and maintenance costs.

[0120] In a specific embodiment of the present application, parsing the received task to be executed to obtain resource requirement parameters may include the following steps:

[0121] Step 1: Parse the received pending tasks to obtain the task type to which the pending tasks belong;

[0122] Step 2: Determine resource requirement parameters based on task type.

[0123] For the convenience of description, the above two steps can be combined for explanation.

[0124] To-be-executed tasks include a task type, which can include model training, graphics rendering, and more. After receiving the task, the server parses it to determine the task type. For example, a task classifier can be used to identify the task type and determine resource requirement parameters, such as computing power and graphics memory requirements, based on the task type. These resource requirement parameters can then be passed to the resource scheduler as a basis for resource allocation. This rapid determination of resource requirement parameters based on the parsed task type is achieved.

[0125] After determining the task type, multiple resource schedulers allocate physical GPUs from the GPU computing node pool based on the task type. If resources are insufficient, the system triggers an expansion mechanism to automatically add new GPUs to ensure continuous execution of the task queue. The scheduler also supports fine-grained allocation, which divides the computing power of a single GPU into time slices to be reused by multiple tasks. This feature supports GPU overselling.

[0126] Through the description of the above implementation methods, those skilled in the art can clearly understand that the method according to the above embodiment can be implemented by means of software plus the necessary general hardware platform, and of course it can also be implemented by hardware, but in many cases the former is a better implementation method.

[0127] An embodiment of the present application also provides a task execution device.

[0128] See also Figure 4 , Figure 4 This is a structural block diagram of a task execution device provided in an embodiment of the present application. The device may include:

[0129] The task parsing module 41 is used to parse the received tasks to be executed and obtain resource requirement parameters;

[0130] A task quota determination module 42 is used to determine the task quota corresponding to the task to be executed according to the resource demand parameters;

[0131] The points calculation module 43 is used to obtain a preset scoring period and calculate points for the tasks to be executed according to the scoring period and the task quota;

[0132] The resource retrieval module 44 is used to retrieve resources divided by time slices from the resource pool according to the task quota and the calculated score result; wherein each time slice is a time slice obtained by dividing the scoring period according to a preset time interval;

[0133] The task execution module 45 is used to execute the task to be executed using the retrieved resources.

[0134] Through this application, resource requirement parameters are obtained by analyzing the tasks to be executed, the task quota corresponding to the tasks to be executed is determined based on the resource requirement parameters, a scoring period for the tasks is pre-set, points are calculated for the tasks to be executed based on the scoring period and the task quota, the resources in the resource pool are divided by time slices, and the resources divided by time slices are retrieved from the resource pool based on the task quota and the calculated points, and then the retrieved resources are used to execute the tasks to be executed. Task quotas are used to allocate resources within each time slice to different tasks to be executed, allowing resources to support multiple tasks within a single time slice, achieving fine-grained resource division, reducing resource idle time, and significantly improving resource utilization. Furthermore, task point calculations are used to control task resource usage, avoiding excessive resource usage by a single task, avoiding deadlocks caused by resource preemption between tasks, and improving system stability. Therefore, the technical problems of being unable to dynamically adjust resource allocation according to task requirements, difficulty in achieving efficient resource utilization, and low task execution efficiency can be solved, achieving the technical effect of being able to dynamically adjust resource allocation according to task requirements, achieving efficient resource utilization, and improving task execution efficiency.

[0135] In a specific embodiment of the present application, the task parsing module 41 is specifically a module that parses the received tasks to be executed to obtain resource requirement parameters and task priority parameters;

[0136] The task execution module 45 may include:

[0137] The task sending submodule is used to send the tasks to be executed to the task execution queue according to the task priority parameters;

[0138] The task acquisition submodule is used to obtain tasks to be executed from the task execution queue;

[0139] The first task execution submodule is used to execute the task to be executed using the retrieved resources.

[0140] In a specific embodiment of the present application, the task sending submodule may include:

[0141] The remaining task points acquisition unit is used to obtain the remaining task points of the task to be executed;

[0142] A task points status determination unit, configured to determine the task points status of a task to be executed based on the remaining task points and the task quota;

[0143] The task sending unit is used to send the task to be executed to the task execution queue according to the task priority parameter when the task score status is sufficient.

[0144] In a specific embodiment of the present application, the device may further include:

[0145] A queue length upper limit acquisition module is used to obtain a preset queue length upper limit;

[0146] The task access control module is used to control the newly generated tasks to be executed to suspend access to the task execution queue when the length of the task execution queue reaches the queue length upper limit.

[0147] In a specific embodiment of the present application, the device may further include:

[0148] The task points reset module is used to reset the task points of pending tasks according to the scoring period and task quota.

[0149] In a specific embodiment of the present application, the task execution module 45 may include:

[0150] The second task execution submodule is used to execute the task to be executed in the current time slice using the currently retrieved resources;

[0151] The resource utilization acquisition submodule is used to obtain the resource utilization corresponding to the current time slice;

[0152] The judgment submodule is used to judge whether the resource utilization is saturated;

[0153] The task quota increasing submodule is used to increase the task quota in the next time slice when it is determined that the resource utilization is not saturated.

[0154] In a specific embodiment of the present application, the device may further include:

[0155] A task credit limit calculation module is used to calculate the task credit limit according to the task quota determined based on the resource demand parameters after the task quota is increased in the next time slice;

[0156] The task execution stop control module is used to control the task to be executed to stop executing in the current scoring period when the task points of the task to be executed are determined to be insufficient according to the task points upper limit in the current scoring period.

[0157] In a specific embodiment of the present application, the device may further include:

[0158] A system resource tension acquisition module is used to obtain the system resource tension;

[0159] A time slice down-adjusting module is used to down-adjust the time slice when resource shortage is determined based on the system resource shortage degree;

[0160] The time slice and queue threshold increasing module is used to increase the time slice and the task execution queue threshold when it is determined that the resources are idle according to the system resource tension.

[0161] In a specific embodiment of the present application, the device may further include:

[0162] The time slice and queue threshold lowering module is used to lower the time slice and the task execution queue threshold after the time slice is increased and the task execution queue threshold is increased, when the system resource tension is normal for two consecutive time slices.

[0163] In a specific embodiment of the present application, the task execution module 45 may include:

[0164] The third task execution submodule is used to execute the task to be executed in the current time slice using the currently retrieved resources;

[0165] The actual occupied time acquisition submodule is used to obtain the actual occupied time corresponding to the task to be executed in the current time slice;

[0166] The quota time calculation submodule is used to calculate the quota time corresponding to the task to be executed based on the task quota and the time slice length;

[0167] The current task overtime acquisition submodule is used to calculate the difference between the actual occupied time and the quota time when it is determined that the actual occupied time is greater than the quota time, and obtain the current task overtime time corresponding to the current time slice;

[0168] The task overuse time acquisition submodule is used to obtain the task overuse time corresponding to each nearest neighbor time slice when it is determined that the preset number of consecutive nearest neighbor time slices corresponding to the current time slice all have task overuse time;

[0169] The average overuse time acquisition submodule is used to calculate the average of the current task overuse time and the task overuse time corresponding to each nearest neighbor time slice to obtain the average overuse time;

[0170] The time difference acquisition submodule is used to calculate the difference between the quota time and the average overuse time to obtain the time difference;

[0171] The quota time determination submodule is used to determine the time difference as the new quota time corresponding to the task to be executed in the next time slice.

[0172] In a specific embodiment of the present application, the device may further include:

[0173] The video memory overuse monitoring module is used to monitor whether there is video memory overuse in the process of using the retrieved resources to execute the task to be executed;

[0174] The error code returning module is used to intercept the video memory allocation operation corresponding to the task to be executed and return an error code when it is determined that the video memory is overused.

[0175] In a specific embodiment of the present application, the task parsing module 41 may include:

[0176] The task type acquisition submodule is used to parse the received tasks to be executed and obtain the task type to which the tasks to be executed belong;

[0177] The resource requirement parameter determination submodule is used to determine the resource requirement parameters according to the task type.

[0178] For the description of the features in the embodiment corresponding to the task execution device, please refer to the relevant description of the embodiment corresponding to the task execution method, and no further details will be given here.

[0179] An embodiment of the present application also provides a task execution system.

[0180] See also Figure 5 , Figure 5 This is an architectural diagram of a task execution system provided in an embodiment of the present application. The task execution system involves five modules: a dynamic heterogeneous computing resource pool, a hybrid task scheduler, an application programming interface (API) hijacking module, a monitoring and error handling module, and a user end.

[0181] The user side is used to send tasks to be executed to the hybrid task scheduler;

[0182] The hybrid task scheduler is used to analyze the tasks to be executed and obtain resource requirement parameters; determine the task quota corresponding to the tasks to be executed based on the resource requirement parameters; obtain the preset scoring period and calculate the points of the tasks to be executed based on the scoring period and the task quota; send a resource call request to the dynamic heterogeneous computing power resource pool based on the task quota and the calculated points; and use the called resources to execute the tasks to be executed;

[0183] A dynamic heterogeneous computing resource pool is used to return resources divided by time slices to the hybrid task scheduler based on resource call requests; wherein each time slice is a time slice obtained by dividing the scoring period according to a preset time interval.

[0184] Through this application, resource requirement parameters are obtained by analyzing the tasks to be executed, the task quota corresponding to the tasks to be executed is determined based on the resource requirement parameters, a scoring period for the tasks is pre-set, points are calculated for the tasks to be executed based on the scoring period and the task quota, the resources in the resource pool are divided by time slices, and the resources divided by time slices are retrieved from the resource pool based on the task quota and the calculated points, and then the retrieved resources are used to execute the tasks to be executed. Task quotas are used to allocate resources within each time slice to different tasks to be executed, allowing resources to support multiple tasks within a single time slice, achieving fine-grained resource division, reducing resource idle time, and significantly improving resource utilization. Furthermore, task point calculations are used to control task resource usage, avoiding excessive resource usage by a single task, avoiding deadlocks caused by resource preemption between tasks, and improving system stability. Therefore, the technical problems of being unable to dynamically adjust resource allocation according to task requirements, difficulty in achieving efficient resource utilization, and low task execution efficiency can be solved, achieving the technical effect of being able to dynamically adjust resource allocation according to task requirements, achieving efficient resource utilization, and improving task execution efficiency.

[0185] In a specific embodiment of the present application, a hybrid task scheduler is specifically used to parse the received tasks to be executed to obtain resource requirement parameters and task priority parameters; send the tasks to be executed to the task execution queue according to the task priority parameters; obtain the tasks to be executed from the task execution queue; and execute the tasks to be executed using the retrieved resources.

[0186] In a specific embodiment of the present application, a hybrid task scheduler is specifically used to obtain the remaining task points of the task to be executed; determine the task point status of the task to be executed based on the remaining task points and the task quota; when the task point status is that the task points are sufficient, send the task to be executed to the task execution queue according to the task priority parameters.

[0187] In a specific embodiment of the present application, the hybrid task scheduler is further used to obtain a preset queue length upper limit; when the length of the task execution queue reaches the queue length upper limit, the newly generated task to be executed is controlled to suspend access to the task execution queue.

[0188] In a specific embodiment of the present application, the hybrid task scheduler is further configured to reset the task points of the tasks to be executed according to the task quota in accordance with the scoring period.

[0189] In a specific embodiment of the present application, a hybrid task scheduler is specifically used to execute tasks to be executed in the current time slice using the currently retrieved resources; obtain the resource utilization corresponding to the current time slice; determine whether the resource utilization is saturated; if not, increase the task quota in the next time slice.

[0190] In a specific embodiment of the present application, the hybrid task scheduler is also used to calculate the task points upper limit according to the task quota determined according to the resource demand parameters after increasing the task quota in the next time slice; when the task points of the task to be executed are determined to be insufficient according to the task points upper limit in the current scoring period, the task to be executed is controlled to stop execution in the current scoring period.

[0191] In a specific embodiment of the present application, the hybrid task scheduler is also used to obtain the system resource tension; when the resources are determined to be tight based on the system resource tension, the time slice is lowered; when the resources are determined to be idle based on the system resource tension, the time slice is increased and the task execution queue threshold is increased.

[0192] In a specific embodiment of the present application, the hybrid task scheduler is also used to, after increasing the time slice and increasing the task execution queue threshold, when the system resource tension is normal for two consecutive time slices, reduce the time slice and lower the task execution queue threshold.

[0193] In a specific embodiment of the present application, a hybrid task scheduler is specifically used to execute the task to be executed in the current time slice using the currently retrieved resources; obtain the actual occupied time corresponding to the task to be executed in the current time slice; calculate the quota time corresponding to the task to be executed based on the task quota and the time slice length; when it is determined that the actual occupied time is greater than the quota time, calculate the difference between the actual occupied time and the quota time to obtain the current task overuse time corresponding to the current time slice; when it is determined that there is a task overuse time in a preset number of consecutive nearest neighbor time slices corresponding to the current time slice, obtain the task overuse time corresponding to each nearest neighbor time slice; calculate the average of the current task overuse time and the task overuse time corresponding to each nearest neighbor time slice to obtain the average overuse time; calculate the difference between the quota time and the average overuse time to obtain the time difference; determine the time difference as the new quota time corresponding to the task to be executed in the next time slice.

[0194] In a specific embodiment of the present application, the system may further include:

[0195] The application programming interface hijacking module is used to monitor whether there is video memory overuse during the process of executing the task to be executed using the retrieved resources; if so, it intercepts the video memory allocation operation corresponding to the task to be executed and returns an error code to the monitoring and error handling module;

[0196] The monitoring and error handling module is used to output task operation logs and resource usage records based on error codes.

[0197] In a specific embodiment of the present application, the hybrid task scheduler is specifically used to parse the received tasks to be executed to obtain the task type to which the tasks to be executed belong; and determine the resource requirement parameters according to the task type.

[0198] Each module is supplemented as follows.

[0199] Dynamic Heterogeneous Computing Resource Pool: This module divides the computing power of a single GPU into multiple logical units based on time slices, supporting the parallel use of artificial intelligence (AI) training and rendering tasks. Graphics memory resources are dynamically allocated and reclaimed based on task requirements, enabling cross-task memory reuse. This provides standardized computing power for upper-level scheduling. The heterogeneous computing resource pool has an automatic recovery mechanism that allows for automatic recovery of computing tasks through configuration details.

[0200] Hybrid Task Scheduler: This module is responsible for scheduling resource allocation and execution order for multiple types of tasks and is the core of the system. Based on the characteristics of the task (AI training or rendering), users can select or actively set different scheduling strategies. It uses time-sharing multiplexing and preemptive scheduling to ensure rapid triggering of high-priority tasks while avoiding idle computing power.

[0201] Application Programming Interface (API) hijacking module: By hijacking API call requests, it redirects tasks' dependencies on physical GPUs to the virtualized resource pool. Its core functions include parsing API instructions such as kernel submission and memory allocation, dynamically allocating virtual computing power and memory. Through API interception, it isolates resource access and ensures stable multi-tasking operations.

[0202] Monitoring and error handling module: This module provides resource and task status monitoring and implements fault-tolerant management. It collects indicators such as GPU utilization, video memory occupancy, and task errors in real time, and outputs task operation logs and resource occupancy records. It is also responsible for identifying task zombies or video memory leaks, triggering task restarts or killing tasks. The monitoring and error handling module is responsible for recording hardware information and logs in the heterogeneous acceleration system; after recording is completed, the data is written to the hard disk through Redis for archiving. The monitoring and error handling module is also responsible for recording errors and exceptions. When problems arise in the hybrid task scheduler, dynamic heterogeneous computing resource pool, or application programming interface hijacking module, the monitoring and error handling module is responsible for recording the error text and error code number.

[0203] User side: This module provides users with a unified task access and task log interface. It supports the definition of task types, resource requirements, and dependencies through JS key-value pairs (JavaScript Object Notation, JSON). During the task execution process, real-time feedback on resource usage, progress, and exceptions is provided, allowing users to dynamically adjust parameters or terminate tasks when there are no tasks. Ultimately, a complete process is formed from task submission, resource allocation to execution result return, realizing an efficient scheduling process with mutual feedback between front-end users and back-end servers. The user side is responsible for sending the user's task request to the server side, and returning the computing power, video memory and other monitoring information returned by the server side, as well as error and other log information to the user. The user side also has the function of drawing real-time visual reports, so that users can monitor the running status of tasks in real time.

[0204] For the description of the features in the embodiment corresponding to the task execution system, please refer to the relevant description of the embodiment corresponding to the task execution method, and will not be repeated here.

[0205] An embodiment of the present application further provides an electronic device, comprising a memory and a processor, wherein the memory stores a computer program, and the processor is configured to run the computer program to execute the steps in any of the above-mentioned task execution method embodiments.

[0206] An embodiment of the present application further provides a non-volatile computer-readable storage medium, in which a computer program is stored, wherein the computer program is configured to execute the steps of any of the above-mentioned task execution method embodiments when running.

[0207] In an exemplary embodiment, the non-volatile computer-readable storage medium may include, but is not limited to, various media that can store computer programs, such as a USB flash drive, a read-only memory (ROM), a random access memory (RAM), a mobile hard disk, a magnetic disk, or an optical disk.

[0208] Embodiments of the present application further provide a computer program product including a computer program, the computer program being executed by a processor to implement the steps in any of the task execution method embodiments.

[0209] Embodiments of the present application further provide another computer program product including a non-volatile computer readable storage medium, the non-volatile computer readable storage medium storing a computer program, the computer program being executed by a processor to implement the steps in any of the task execution method embodiments.

[0210] Those skilled in the art will further appreciate that the units and algorithm steps of the examples described in connection with the embodiments disclosed herein can be implemented in electronic hardware, computer software, or both, and that the implementation decisions are within the skill of an ordinary designer of such products. To clearly illustrate the interchangeability of hardware and software, and to avoid obscuring the disclosure with details of particular implementations, the descriptions herein have generally been stated in terms of various functional processes embodying the examples. The steps of the examples are not limited to the performance of the described functions only by the means indicated, but are free to be accomplished by any number of methods for accomplishing the functions described. This includes the possibility of using more or less of the described elements, or equivalents thereof, to accomplish the various functions within the scope of the disclosure.

[0211] The above provides a task execution method, system, device, storage medium and program product. The principles and implementation modes of the present application are described by applying specific examples. The above description of the examples is only to help understand the method and its core idea. It should be noted that, for those skilled in the art, without departing from the principles of the present application, some improvements and modifications can be made to the present application, and these improvements and modifications also fall within the scope of protection of the present application.

Claims

1. A task execution method, characterized in that: include: Parse the received tasks to be executed and obtain resource requirement parameters; Determine the task quota corresponding to the task to be executed according to the resource requirement parameter; Obtaining a preset scoring period, and calculating points for the task to be executed according to the scoring period and the task quota; According to the task quota and the calculated integral result, resources divided into time slices are retrieved from the resource pool; wherein each time slice is a time slice obtained by dividing the scoring period according to a preset time interval; Utilize the retrieved resources to execute the tasks to be executed; The step of using the retrieved resources to execute the task to be executed includes: Execute the pending task using the currently retrieved resources in the current time slice; Get the actual occupied time corresponding to the task to be executed in the current time slice; Calculate the quota time corresponding to the task to be executed according to the task quota and the time slice length; When it is determined that the actual occupied time is greater than the quota time, a difference calculation is performed between the actual occupied time and the quota time to obtain the current task overuse time corresponding to the current time slice; When it is determined that a preset number of consecutive nearest neighbor time slices corresponding to the current time slice all have task overuse time, the task overuse time corresponding to each nearest neighbor time slice is obtained; Calculate the average of the current task overuse time and the task overuse time corresponding to each nearest neighbor time slice to obtain the average overuse time; Calculate the difference between the quota time and the average overuse time to obtain a time difference; The time difference is determined as a new quota time corresponding to the task to be executed in the next time slice.

2. The task execution method according to claim 1, characterized in that: Parse the received tasks to be executed and obtain resource requirement parameters, including: Parsing the received tasks to be executed to obtain the resource requirement parameters and task priority parameters; Accordingly, executing the task to be executed using the retrieved resources includes: Sending the task to be executed to the task execution queue according to the task priority parameter; Obtaining the task to be executed from the task execution queue; Utilize the retrieved resources to execute the tasks to be executed.

3. The task execution method according to claim 2, characterized in that: Sending the to-be-executed task to a task execution queue according to the task priority parameter includes: Obtaining the remaining task points of the task to be executed; Determine the task point status of the task to be executed according to the remaining task points and the task quota; When the task points status is that the task points are sufficient, the to-be-executed task is sent to the task execution queue according to the task priority parameter.

4. The task execution method according to claim 2, characterized in that: Also includes: Get the preset queue length limit; When the length of the task execution queue reaches the queue length upper limit, the newly generated tasks to be executed are controlled to temporarily stop accessing the task execution queue.

5. The task execution method according to claim 1, characterized in that: Also includes: Reset the task points of the task to be executed according to the scoring period and the task quota.

6. The task execution method according to claim 1, characterized in that: Utilizing the retrieved resources to execute the tasks to be executed, including: Execute the pending task using the currently retrieved resources in the current time slice; Get the resource utilization corresponding to the current time slice; Determining whether the resource utilization is saturated; If not, the task quota is adjusted upward in the next time slice.

7. The task execution method according to claim 6, characterized in that: After the task quota is increased in the next time slice, the following is also included: Calculate the task points cap according to the task quota determined based on the resource requirement parameters; When the task points of the task to be executed are determined to be insufficient according to the task points upper limit in the current scoring period, the task to be executed is controlled to stop execution in the current scoring period.

8. The task execution method according to claim 1, characterized in that: Also includes: Get system resource tension; When it is determined that the system resources are scarce according to the system resource shortage, the time slice is reduced; When it is determined that the resources are idle according to the system resource tension, the time slice is increased and the task execution queue threshold is increased.

9. The task execution method according to claim 8, characterized in that: After increasing the time slice and task execution queue threshold, the following steps are also required: When the system resource tension is normal for two consecutive time slices, the time slice is reduced and the task execution queue threshold is lowered.

10. The task execution method according to claim 1, characterized in that: Also includes: In the process of executing the task to be executed using the retrieved resources, monitoring whether there is overuse of video memory; If so, the video memory allocation operation corresponding to the task to be executed is intercepted and an error code is returned.

11. The task execution method according to claim 1, characterized in that: Parse the received tasks to be executed and obtain resource requirement parameters, including: Parsing the received task to be executed to obtain the task type to which the task to be executed belongs; The resource requirement parameter is determined according to the task type.

12. A task execution system, characterized in that: include: The user side is used to send tasks to be executed to the hybrid task scheduler; The hybrid task scheduler is used to analyze the tasks to be executed and obtain resource requirement parameters; Determine the task quota corresponding to the task to be executed according to the resource requirement parameter; Obtaining a preset scoring period, and calculating points for the task to be executed according to the scoring period and the task quota; Send a resource call request to the dynamic heterogeneous computing power resource pool according to the task quota and the calculated integral result; Utilize the retrieved resources to execute the tasks to be executed; The dynamic heterogeneous computing power resource pool is used to return resources divided by time slices to the hybrid task scheduler according to the resource call request; wherein each time slice is a time slice obtained by dividing the scoring period according to a preset time interval; The hybrid task scheduler is specifically used to execute the task to be executed using the currently retrieved resources in the current time slice; obtain the actual occupied time corresponding to the task to be executed in the current time slice; calculate the quota time corresponding to the task to be executed based on the task quota and the time slice length; when it is determined that the actual occupied time is greater than the quota time, calculate the difference between the actual occupied time and the quota time to obtain the current task overuse time corresponding to the current time slice; when it is determined that there are task overuse times in a preset number of consecutive nearest neighboring time slices corresponding to the current time slice, obtain the task overuse time corresponding to each nearest neighboring time slice; calculate the average of the current task overuse time and the task overuse time corresponding to each nearest neighboring time slice to obtain the average overuse time; calculate the difference between the quota time and the average overuse time to obtain the time difference; determine the time difference as the new quota time corresponding to the task to be executed in the next time slice.

13. The task execution system according to claim 12, characterized in that: The hybrid task scheduler is specifically used to parse the received tasks to be executed to obtain the resource requirement parameters and task priority parameters; send the tasks to be executed to the task execution queue according to the task priority parameters; obtain the tasks to be executed from the task execution queue; and execute the tasks to be executed using the retrieved resources.

14. The task execution system according to claim 13, characterized in that: The hybrid task scheduler is specifically used to obtain the remaining task points of the task to be executed; determine the task point status of the task to be executed based on the remaining task points and the task quota; when the task point status is that the task points are sufficient, send the task to be executed to the task execution queue according to the task priority parameter.

15. The task execution system according to claim 12, wherein: Also includes: An application programming interface hijacking module is used to monitor whether there is video memory overuse during the process of executing the task to be executed using the retrieved resources; If so, intercept the video memory allocation operation corresponding to the task to be executed, and return an error code to the monitoring and error handling module; The monitoring and error handling module is used to output task running logs and resource occupancy records according to the error code.

16. An electronic device, characterized in that: include: Memory for storing computer programs; A processor, configured to implement the steps of the task execution method according to any one of claims 1 to 11 when executing the computer program.

17. A non-volatile computer-readable storage medium, characterized in that: The non-volatile computer-readable storage medium stores a computer program, wherein when the computer program is executed by a processor, the steps of the task execution method according to any one of claims 1 to 11 are implemented.

18. A computer program product comprising a computer program, characterized in that When the computer program is executed by a processor, the steps of the task execution method according to any one of claims 1 to 11 are implemented.

Citation Information

Patent Citations

  • Partition task scheduling method of operating system, electronic equipment and storage medium

    CN119311382A

  • Multi-center heterogeneous computing power intelligent scheduling method, platform and equipment and storage medium

    CN119739502A