Heterogeneous computing node task scheduling method and system based on intelligent algorithm
By using intelligent algorithms in a heterogeneous computing environment, the matching of tasks and nodes is dynamically adjusted, and the problems of mismatch between tasks and nodes, load imbalance and insufficient adaptability of dynamic changes in traditional scheduling methods are solved, load balancing and resource optimization are achieved, and system performance and adaptability are improved.
Patent Information
- Application Number
- CN202411941462.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-12-26
- Publication Date
- 2025-04-22
AI Technical Summary
In the heterogeneous computing environment, traditional task scheduling methods have problems such as mismatch between tasks and nodes, load imbalanced and insufficient adaptability to dynamic changes, resulting in uneven resource allocation, degraded computing performance and increased latency.
The task scheduling method based on intelligent algorithms is adopted, including task analysis and load prediction, node resource monitoring and status evaluation, reinforcement learning decision-making, genetic algorithm optimization, task scheduling and allocation, as well as feedback and adjustment mechanisms, and dynamically adjust the matching of tasks and nodes to achieve load balancing and resource optimization.
By dynamically adjusting the matching of tasks and nodes, load balancing is achieved, computing resource utilization is improved, the system's adaptability is enhanced, the task load and node state can be effectively responded to changes in task load and node state, and the overall system performance is improved.
Smart Images

Figure CN119862014A_ABST
Abstract
Description
Technical Field
[0001] The invention relates to a task scheduling technology based on heterogeneous computing nodes. Background Art
[0002] As computing needs become more diverse and complex, heterogeneous computing environments have become an important part of efficient computing systems. In this environment, different computing nodes have different hardware architectures and processing capabilities, such as CPU, GPU, FPGA, etc., and each computing resource has different advantages when performing specific tasks.
[0003] Task scheduling in heterogeneous computing environments usually relies on static task allocation and fixed priority mechanisms. These scheduling methods often ignore the following key issues: First, the hardware differences of computing nodes make each node suitable for executing different types of tasks; second, the load of tasks may change over time, and traditional static scheduling methods lack the ability to perceive and adjust the dynamic load of tasks in real time; finally, due to resource isolation and task dependency between computing nodes, load balancing becomes a thorny issue, especially in scenarios with high concurrency and high computing demands. This problem is particularly prominent.
[0004] Existing scheduling algorithms, such as the polling algorithm and the shortest task first algorithm, can handle a certain number of tasks, but they lack flexibility and dynamic adaptability in heterogeneous computing environments and cannot effectively cope with fluctuations in node loads and changes in task requirements. Specifically, they have the following defects:
[0005] 1. Task-node mismatch problem: Different types of computing nodes are suitable for different tasks. Traditional static task scheduling methods fail to match the characteristics of the tasks with the computing power of the nodes, resulting in resource waste and performance bottlenecks.
[0006] 2. Load imbalance problem: Due to the differences in node processing capabilities and the limitations of task scheduling algorithms, traditional scheduling methods often lead to uneven distribution of computing resources. Some nodes are overloaded while other nodes are idle, resulting in inefficient use of computing resources.
[0007] 3. Dynamic changes in task requirements: In practical applications, task requirements change dynamically, especially in real-time computing and data-intensive tasks, where the load may change at any time. Existing scheduling algorithms fail to effectively respond to such dynamic changes, resulting in low task scheduling efficiency.
[0008] It can be seen that although the current heterogeneous computing node task scheduling technology can complete task allocation to a certain extent, it has exposed many problems in various practical application scenarios. For example, in scenarios such as edge computing and cloud computing, the load requirements of tasks change frequently, and traditional static algorithms cannot provide sufficient flexibility, making load balancing difficult to achieve. In particular, for heterogeneous nodes with large differences in computing power, some computing-intensive tasks may not be executed efficiently, resulting in a decrease in system performance. Therefore, how to dynamically adjust the task scheduling strategy according to the characteristics of heterogeneous computing nodes has become the key to solving these problems. Summary of the invention
[0009] The technical problem to be solved by the present invention is that traditional task scheduling methods mostly adopt scheduling strategies based on static priorities, which fail to effectively consider the differences in computing power and load changes between nodes, resulting in uneven resource allocation, reduced computing performance and increased latency.
[0010] In order to solve the above technical problems, the technical solution of the present invention is to disclose a heterogeneous computing node task scheduling method based on an intelligent algorithm, which is characterized by comprising the following steps:
[0011] Step 1: Task analysis and load forecasting:
[0012] Calculate the expected load of each task, where task T j The expected load L(T j ) is calculated by the following formula:
[0013] L(T j )=α j ·C(T j )+β j ·D(T j )
[0014] In the formula, C(T j ) is task T j The computational requirements of D(T j ) is task T j The data transmission requirements, α j and β j is the weight coefficient;
[0015] Step 2: Node resource monitoring and status assessment:
[0016] Monitor the resource utilization, computing power, and current load of each computing node in real time, evaluate them, and calculate the idleness of each computing node;
[0017] Step 3: Reinforcement learning decision:
[0018] The reinforcement learning algorithm makes task-node allocation decisions based on the expected load of the current task and the idleness of each computing node. The reinforcement learning algorithm optimizes the task scheduling strategy by maximizing the reward function, thereby achieving load balancing and minimizing task completion time, and obtaining a preliminary allocation plan for task scheduling;
[0019] Step 4: Genetic algorithm optimization:
[0020] After receiving the preliminary allocation schemes, the genetic algorithm encodes these schemes to generate the initial population, and then uses natural selection, crossover and mutation to globally optimize the task scheduling strategy and generate the optimal task scheduling scheme;
[0021] Step 5: Task scheduling and allocation:
[0022] According to the optimal task scheduling solution output by the genetic algorithm, the tasks are assigned to specific computing nodes for execution. After the tasks are assigned to the computing nodes, the tasks are started and the execution status of the tasks is monitored in real time, generating feedback information including the execution log of the task assignment, the task running status and the resource utilization rate.
[0023] Step 6: Feedback and Adjustment Mechanism
[0024] According to the feedback information during the task execution process, the scheduling strategy is dynamically adjusted to cope with changes in task load and node status. By analyzing the feedback information, the actual load and resource consumption of the task are calculated and compared with the predicted load. If it is found that the load is uneven or the task execution efficiency is low, the scheduling strategy is adjusted according to the feedback information, and the adjusted task scheduling strategy or scheduling parameters are fed back to step 1 as the new input of step 1 to enter the next scheduling cycle.
[0025] Preferably, in step 2, the calculation node N i The idleness is expressed as E(N i ), then:
[0026] E(N i )=1-R(N i )
[0027] In the formula, R(N i ) is the computing node N i Resource utilization, U(N i ) is the computing node N i The current resource usage, C(N i ) is the computing node N i total computing power.
[0028] Preferably, in step 3, the reward function used by the reinforcement learning algorithm is as follows:
[0029] Rt=α·Load_Balance(t)-β·Completion_Time(t)
[0030] Where Rt is the reward at time step t, α and β are weight coefficients, Load_Balance(t) is the load balance, and Completion_Time(t) is the task completion time.
[0031] Preferably, in step 4, the optimization goal of the genetic algorithm is to minimize the difference between the task load and the node idleness, which is expressed as:
[0032]
[0033] Where M is the total number of nodes, L(T j ) is task T j The expected load, E(N i ) is the computing node N i of idleness.
[0034] Preferably, in step 6, the scheduling decision is updated using the following formula:
[0035]
[0036] Where, New_Assignment(T j ) is the optimal node allocation after the expected load of the task changes.
[0037] Another aspect of the present invention is to disclose a heterogeneous computing node task scheduling system based on an intelligent algorithm, characterized in that it includes:
[0038] Task analysis and load prediction module: predicts task load based on task type, computing requirements, and data transmission requirements;
[0039] Node resource monitoring and status assessment module: monitors the resource utilization of each computing node in real time and assesses the idleness;
[0040] Scheduling module: Scheduling decisions are made by combining reinforcement learning algorithms and genetic algorithms to dynamically adjust task allocation;
[0041] Feedback and adjustment module: adjusts the scheduling strategy according to the feedback information of task execution to achieve adaptive scheduling.
[0042] The present invention discloses a heterogeneous computing node task scheduling technology based on intelligent algorithm. The core idea of the technology is to combine task load prediction, node status monitoring and intelligent scheduling algorithm to achieve efficient matching and load balancing between tasks and computing nodes.
[0043] The heterogeneous computing node task scheduling technology based on intelligent algorithms in this invention mainly solves the problems of load imbalance, low resource utilization, and insufficient adaptability to dynamic changes in traditional task scheduling methods in heterogeneous computing environments. Through task load prediction, node resource monitoring, reinforcement learning and genetic algorithm combined scheduling, compared with the existing technical solutions, this invention has the following beneficial effects:
[0044] 1. Load balancing and resource optimization
[0045] By dynamically adjusting the matching of tasks and nodes, the load balance of each computing node is ensured, and the utilization rate of computing resources is maximized. In the traditional static scheduling method, the resource utilization rate between nodes is often uneven, some nodes are overloaded, and other nodes are idle. The present invention monitors node resources and task loads in real time, dynamically adjusts task allocation, and significantly improves the problem of uneven resource allocation, thereby improving the performance of the overall system.
[0046] 2. Strong adaptability
[0047] Due to the dynamic changes in task load and node status, traditional scheduling algorithms often lack adaptability and cannot cope with load fluctuations and changes in task requirements. Through the reinforcement learning algorithm, the present invention can perceive and adapt to environmental changes in real time and dynamically adjust the task scheduling strategy. For example, when a node load is too high or the task requirements change, the system can adjust the task scheduling based on real-time feedback to ensure that the task is completed on time and efficiently. BRIEF DESCRIPTION OF THE DRAWINGS
[0048] Figure 1 It is the algorithm flow chart of the present invention;
[0049] Figure 2 The scheduling framework of the present invention is illustrated. DETAILED DESCRIPTION
[0050] The present invention will be further described below in conjunction with specific embodiments. It should be understood that these embodiments are only used to illustrate the present invention and are not intended to limit the scope of the present invention. In addition, it should be understood that after reading the content taught by the present invention, those skilled in the art can make various changes or modifications to the present invention, and these equivalent forms fall within the scope limited by the appended claims of the application equally.
[0051] The embodiment of the present invention provides a new scheduling technology that can dynamically adapt to load changes and optimize scheduling strategies based on task characteristics and node capabilities. Figure 1 As shown, one aspect of an embodiment of the present invention is to provide a heterogeneous computing node task scheduling method based on an intelligent algorithm, comprising the following steps:
[0052] Step 1: Task analysis and load forecasting:
[0053] According to the characteristics of the task's computing requirements, data dependencies, and execution time, the load of the task is predicted. The main purpose of this step is to analyze the characteristics of the task and predict the computing load of the task. By analyzing the input and output of the task, the computing requirements (CPU, GPU, memory usage), and data transmission volume, the resource consumption of the task when it is executed on the computing node is estimated. Receiving information from the task queue, the system will receive description information of the task to be scheduled, including the task type, the required computing resources (such as CPU, GPU, memory, bandwidth, etc.), the task execution time estimate, and the data transmission requirements of the task. According to the type of task (such as computing intensive, data intensive, etc.), the expected load of the task is calculated. Task load prediction is to estimate the computing requirements and resource consumption of the task based on the type and historical behavior of the task.
[0054] In the embodiment of the present invention, task T j The expected load of is given by the following function:
[0055] L(T j )=α j ·C(T j )+β j ·D(T j )
[0056] Among them, L(T j ) is task T j The expected load, C(T j ) is task T j The computational requirements of D(T j ) is task T j The data transmission requirements, α j and β j is the weight coefficient, which reflects the impact of task computing requirements and data requirements on the total load. After processing, the expected load L(T j ) will be passed to the next step - node resource monitoring and status evaluation, as the input for scheduling decisions in subsequent steps.
[0057] Step 2: Node resource monitoring and status assessment:
[0058] Monitor the resource utilization, computing power, and current load of each computing node in real time, and evaluate them in order to select the most suitable node for task scheduling. The main function of this step is to monitor the resource usage of computing nodes in real time and evaluate the idleness of each node. The system needs to evaluate the resource utilization of each computing node in order to schedule tasks reasonably. Accept real-time data from system resource monitoring modules (such as monitoring tools, system logs, node resource monitoring APIs), and the input information includes the current computing power of the node (such as CPU load, GPU load, memory usage, etc.) and idle resource status.
[0059] For each heterogeneous computing node (including CPU, GPU, etc.), its resource usage needs to be monitored in real time. i The resource utilization rate can be expressed as R(N i ):
[0060]
[0061] Among them, U(N i ) is a heterogeneous computing node N i The current resource usage, C(N i ) is a heterogeneous computing node N i total computing power.
[0062] In order to evaluate the available resources of each heterogeneous computing node, it is also necessary to consider the load balancing status of each heterogeneous computing node. i The idleness is expressed as E(N i ), then:
[0063] E(N i )=1-R(N i )
[0064] Among them, E(N i ) is larger, indicating heterogeneous computing nodes N i The more idle it is, the more suitable it is for assigning new tasks.
[0065] This step outputs the idleness E(N i ), this information will be combined with the task T j The expected load of the computing node is compared with the expected load of the computing node to help the subsequent scheduling decision to determine the task allocation strategy. The idleness and the expected load of the computing node will be passed to the next step - reinforcement learning decision for further processing.
[0066] Step 3: Reinforcement learning decision:
[0067] Reinforcement learning (RL) is used to make task-node allocation decisions based on the expected load of the current task and the idleness of the node. The goal of RL is to optimize the task scheduling strategy by maximizing the reward function to achieve load balancing and minimize task completion time. j The expected load L(T j ) and heterogeneous computing nodes N i E(N i ), the reinforcement learning algorithm evaluates the current scheduling state based on this information and decides which heterogeneous computing node the task should be assigned to. Reinforcement learning optimizes task scheduling decisions through feedback learning. The system guides learning through a reward function, which can include load balancing and task completion time.
[0068] In the embodiment of the present invention, the reward function used by the reinforcement learning algorithm is as follows:
[0069] R t =α·Load_Balance(t)-β·Completion_Time(t)
[0070] Among them, R t is the reward at time step t, α and β are weight coefficients, Load_Balance(t) is the load balance, and Completion_Time(t) is the task completion time. The reinforcement learning algorithm will select the optimal task-node allocation strategy based on the current state (expected load of the task, idleness of the node). This step will output the preliminary allocation plan for task scheduling (i.e., task T j To which heterogeneous computing node N is it assigned? i ), these solutions will be passed to the next step - genetic algorithm optimization for further optimization.
[0071] Step 4: Genetic algorithm optimization:
[0072] Genetic algorithms are used to globally optimize task scheduling strategies. Although reinforcement learning can perform local optimization, in order to obtain the global optimal task allocation solution, genetic algorithms will perform multi-generation evolutionary optimization on different task-node matching solutions. The task scheduling solution from reinforcement learning decisions, including the preliminary allocation of tasks and nodes, is accepted. The genetic algorithm encodes these solutions and generates an initial population. The genetic algorithm uses operations such as natural selection, crossover, and mutation to optimize the task scheduling solution. The optimization goal is to minimize the difference between the task load and the node idleness. The optimization goal of load balancing can be expressed as:
[0073]
[0074] Where M is the total number of nodes, L(T j ) is task Tj The expected load, E(N i ) is a heterogeneous computing node N i The goal is to minimize the difference between task load and node idleness, thereby achieving balanced utilization of resources.
[0075] Through the evolution process of genetic algorithm, a more suitable task scheduling strategy is generated. The genetic algorithm outputs the optimized task scheduling plan. This plan includes which node each task should be assigned to, and is the best plan after global optimization. This plan will be passed to the next step - task scheduling and allocation for actual execution.
[0076] Step 5: Task scheduling and allocation:
[0077] According to the optimal task scheduling scheme output by the genetic algorithm optimization, the tasks are assigned to specific heterogeneous computing nodes for execution. After the tasks are assigned to the heterogeneous computing nodes, the system will start the tasks and monitor the execution status of the tasks in real time. Accept the optimal allocation scheme given by the genetic algorithm optimization, including the allocation node and allocation priority of each task. According to the optimal task scheduling scheme, the system assigns the tasks to the corresponding heterogeneous computing nodes, starts the tasks and monitors the status during the execution of the tasks (such as task progress, resource consumption, etc.). At this time, the load of the system will change. Generate the execution log of the task assignment, the task running status, and the resource utilization rate, etc., which will be provided to the next step - feedback and adjustment mechanism, so as to further optimize the scheduling strategy.
[0078] Step 6: Feedback and Adjustment Mechanism
[0079] According to the feedback information during the task execution process, the scheduling strategy is dynamically adjusted to cope with changes in task load, node status, etc. The feedback mechanism can update the scheduling strategy in real time during the task execution process. Receive the execution log from the task scheduling and allocation, including the actual execution time of the task, resource utilization, task completion status, etc. The system will analyze the results of task execution in real time and evaluate whether the scheduling strategy needs to be adjusted based on the current system status. By analyzing the feedback information, the system can calculate the actual load and resource consumption of the task and compare it with the predicted load. If it is found that the system load is uneven or the task execution efficiency is inefficient, the system will adjust the scheduling strategy based on the feedback. The adjusted task scheduling strategy or scheduling parameters are output to the task analysis and load prediction in step 1 as a new input to enter the next scheduling cycle.
[0080] Assume that task T j The expected load L(T j ) changes at time step t, and the scheduling decision is updated through the feedback mechanism, as shown in the following formula:
[0081]
[0082] Among them, New_Assignment(T j ) is the optimal node allocation after the expected load of the task changes.
[0083] Another aspect of the embodiment of the present invention is to provide a heterogeneous computing node task scheduling system based on an intelligent algorithm, which is used to implement the above method, such as Figure 2 As shown, including:
[0084] Task analysis and load prediction module: predicts task load based on task type, computing requirements, and data transmission requirements.
[0085] Node resource monitoring and status assessment module: monitors the resource utilization of each computing node in real time and assesses the idleness.
[0086] Scheduling module: Scheduling decisions are made by combining reinforcement learning algorithms and genetic algorithms to dynamically adjust task allocation.
[0087] Feedback and adjustment module: adjusts the scheduling strategy according to the feedback information of task execution to achieve adaptive scheduling.
[0088] The technical solution disclosed in the present invention realizes a dynamic and adaptive task scheduling system by gradually analyzing task requirements, monitoring node resources, strengthening learning optimization, genetic algorithm global optimization, and dynamic adjustment based on feedback. Each module undertakes specific tasks in this process to ensure the efficiency and global optimization of scheduling.
Claims
1. A method for scheduling heterogeneous computing nodes based on intelligent algorithms, characterized in that: The following steps are involved: Step 1: Task analysis and load forecasting: Calculate the expected load of each task, where task T j The expected load L(T j ) is calculated by the following formula: L(T j )=α j ·C(T j )+β j ·D(T j ) In the formula, C(T j ) is task T j The computational requirements of D(T j ) is task T j The data transmission requirements, α j and β j is the weight coefficient; Step 2: Node resource monitoring and status assessment: Monitor the resource utilization, computing power, and current load of each computing node in real time, evaluate them, and calculate the idleness of each computing node; Step 3: Reinforcement learning decision: The reinforcement learning algorithm makes task-node allocation decisions based on the expected load of the current task and the idleness of each computing node. The reinforcement learning algorithm optimizes the task scheduling strategy by maximizing the reward function, thereby achieving load balancing and minimizing task completion time, and obtaining a preliminary allocation plan for task scheduling; Step 4: Genetic algorithm optimization: After receiving the preliminary allocation schemes, the genetic algorithm encodes these schemes to generate the initial population, and then uses natural selection, crossover and mutation to globally optimize the task scheduling strategy and generate the optimal task scheduling scheme; Step 5: Task scheduling and allocation: According to the optimal task scheduling scheme output by the genetic algorithm, the tasks are assigned to specific computing nodes for execution. After the tasks are assigned to the computing nodes, the tasks are started and the execution status of the tasks is monitored in real time, generating feedback information including the execution log of the task assignment, the task running status and the resource utilization rate. Step 6: Feedback and Adjustment Mechanism According to the feedback information during the task execution process, the scheduling strategy is dynamically adjusted to cope with changes in task load and node status. By analyzing the feedback information, the actual load and resource consumption of the task are calculated and compared with the predicted load. If it is found that the load is uneven or the task execution efficiency is low, the scheduling strategy is adjusted according to the feedback information, and the adjusted task scheduling strategy or scheduling parameters are fed back to step 1 as the new input of step 1 to enter the next scheduling cycle.
2. A method for scheduling heterogeneous computing node tasks based on an intelligent algorithm as claimed in claim 1, characterized in that: In step 2, calculate the node N i The idleness is expressed as E(N i ), then: E(N i )=1-R(N i ) In the formula, R(N i ) is the computing node N i Resource utilization, U(N i ) is the computing node N i The current resource usage, C(N i ) is the computing node N i total computing power.
3. The method for scheduling heterogeneous computing nodes based on intelligent algorithms as claimed in claim 1, characterized in that: In step 3, the reward function used by the reinforcement learning algorithm is as follows: R t =α·Load_Balance(t)-β·Completion_Time(t) In the formula, R i is the reward at time step t, α and β are weight coefficients, Load_Balance(t) is the load balance, and Completion_Time(t) is the task completion time.
4. The method for scheduling heterogeneous computing nodes based on intelligent algorithms as claimed in claim 1, characterized in that: In step 4, the optimization goal of the genetic algorithm is to minimize the difference between the task load and the node idleness, which can be expressed as: Where M is the total number of nodes, L(T j ) is task T j The expected load, E(N i ) is the computing node N i of idleness.
5. The method for scheduling heterogeneous computing node tasks based on intelligent algorithm according to claim 1, characterized in that: In step 6, the scheduling decision is updated as follows: Where, New_Assignment(T j ) is the optimal node allocation after the expected load of the task changes.
6. A heterogeneous computing node task scheduling system based on intelligent algorithm, characterized in that: include: Task analysis and load prediction module: predicts task load based on task type, computing requirements, and data transmission requirements; Node resource monitoring and status assessment module: monitors the resource utilization of each computing node in real time and assesses the idleness; Scheduling module: Scheduling decisions are made by combining reinforcement learning algorithms and genetic algorithms to dynamically adjust task allocation; Feedback and adjustment module: adjusts the scheduling strategy according to the feedback information of task execution to achieve adaptive scheduling.
Citation Information
Patent Citations
Cloud service resource collaborative optimization scheduling method, system, medium and equipment
CN113411369A
Task scheduling method and system
CN116302448A
Efficient high-throughput calculation task scheduling method
CN118656181A
Intelligent computing cluster management system for intelligent scheduling
CN118760527A
Cloud computing platform real-time CPU load balancing method and system based on reinforcement learning
CN118885291A
Cited By
Multi-channel video stream cooperative transmission method based on dynamic priority
CN120264049A
Intelligent computing center resource management system based on artificial intelligence
CN120407120A
An artificial intelligence-based intelligent computing center resource management system
CN120407120B
KubeEdge edge computing resource scheduling method based on deep learning
CN120596261A
A Deep Learning-Based KubeEdge Edge Computing Resource Scheduling Method
CN120596261B