A heterogeneous multi-core processor task scheduling method, system, device and medium

By constructing a DAG task scheduling graph and using the sparrow search algorithm to optimize task scheduling of heterogeneous multi-core processors, the problems of task dependency and communication overhead are solved, and efficient task scheduling and resource utilization are achieved.

CN120743477BActive Publication Date: 2026-01-13SHANDONG INSPUR SCI RES INST CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202511220714.8
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2025-08-29
Publication Date
2026-01-13
Estimated Expiration
2045-08-29

AI Technical Summary

Technical Problem

Existing technologies cannot effectively handle the task dependencies and communication overhead of heterogeneous multi-core processors, resulting in long-term task blocking, low resource utilization, and heuristic algorithms that are prone to getting trapped in local optima, with slow convergence speed, making it difficult to meet real-time requirements.

Method used

A DAG task scheduling graph is constructed, and a sparrow search algorithm is introduced. The discoverer and the joiner are updated through a random fractal search mechanism and a topology adaptation mechanism. The task scheduling sequence is optimized by combining communication frequency and cross-core communication overhead as constraints.

Benefits of technology

It improves the task scheduling efficiency of heterogeneous multi-core processors, avoids long task blocking and resource idleness, ensures resource utilization and real-time performance, and the output scheduling sequence meets communication constraints and is close to the global optimum.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120743477B_ABST
    Figure CN120743477B_ABST
Patent Text Reader

Abstract

The application discloses a heterogeneous multi-core processor task scheduling method, system, device and medium, mainly relates to the technical field of task scheduling, and is used to solve the problems that the traditional scheduling algorithm cannot process the task dependency and communication overhead of the heterogeneous multi-core processor, the heuristic algorithm is easy to fall into local optimization, and the basic sparrow search algorithm has the problem of premature convergence in task scheduling. The application comprises the following steps: taking the task scheduling sequence related to the DAG task scheduling graph, the communication frequency sum corresponding to the task scheduling sequence, and the cross-core communication overhead sum as the input data of the sparrow search algorithm; updating the discoverer in the sparrow population through a random fractal search mechanism, and updating the joiner in the sparrow population through a topology adaptive mechanism; meanwhile, taking the minimum scheduling length calculation function as the objective function, and configuring the constraint condition; when the preset stop iteration condition is reached, the optimal task scheduling sequence meeting the objective function and the constraint condition is output.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of heterogeneous multi-core processor task scheduling technology, and in particular to a heterogeneous multi-core processor task scheduling method, system, device and medium. Background Technology

[0002] With the development of technologies such as artificial intelligence and cloud computing, heterogeneous multi-core processors are being used more and more. How to reasonably distribute tasks across multiple processing cores for execution is one of the main research problems in the field of high-performance computing.

[0003] Existing solutions to the above problems mainly include: traditional scheduling algorithms (such as FCFS and SJF), heuristic algorithms (such as genetic algorithms and particle swarm algorithms), and basic sparrow search algorithm (SSA).

[0004] Heterogeneous multi-core task scheduling is an NP-hard problem, requiring the minimization of the scheduling length while satisfying task dependencies and communication constraints. Continuous optimization algorithms need to be mapped to a discrete scheduling space, and existing encoding schemes struggle to balance efficiency and accuracy. Specifically, traditional scheduling algorithms cannot handle the task dependencies and communication overhead of heterogeneous multi-core processors, easily leading to long task blocking and low resource utilization. Heuristic algorithms are prone to getting trapped in local optima and have slow convergence speeds, making it difficult to meet real-time requirements. The basic sparrow search algorithm suffers from premature convergence in task scheduling, resulting in the minimization of the scheduling length not being globally optimal. Summary of the Invention

[0005] This application provides a task scheduling method, system, device, and medium for heterogeneous multi-core processors to address the shortcomings of traditional scheduling algorithms in handling the task dependencies and communication overhead of heterogeneous multi-core processors, which can easily lead to long task blocking and low resource utilization. Heuristic algorithms are prone to getting trapped in local optima and have slow convergence speeds, making it difficult to meet real-time requirements. The basic sparrow search algorithm suffers from premature convergence in task scheduling, resulting in the minimization of the scheduling length not being globally optimal.

[0006] Firstly, this application provides a task scheduling method for heterogeneous multi-core processors, the method comprising:

[0007] Based on the inter-task dependencies, communication frequency, and cross-core communication overhead of heterogeneous multi-core processors, a DAG (Directed Acyclic Graph) task scheduling graph corresponding to the task set of heterogeneous multi-core processors is constructed.

[0008] The task scheduling sequence involved in the DAG task scheduling graph, the total communication frequency corresponding to the task scheduling sequence, and the total cross-core communication overhead are used as the input data for the sparrow search algorithm.

[0009] The task scheduling sequence is configured with discoverers and participants proportionally.

[0010] The discoverers in the sparrow population are updated through a random fractal search mechanism, and the newcomers in the sparrow population are updated through a topology adaptation mechanism. At the same time, the objective function is to minimize the scheduling length calculation function, and the constraints are configured. Among them, the constraints include: total communication frequency constraints and total cross-core communication overhead constraints.

[0011] When the preset stopping iteration condition is reached, the optimal task scheduling sequence that satisfies the objective function and constraints is output.

[0012] In one implementation of this application, a DAG task scheduling graph corresponding to the heterogeneous multi-core processor task set is constructed based on the inter-task dependencies, communication frequency, and cross-core communication overhead of heterogeneous multi-core processors. Specifically, this includes:

[0013] Tasks are treated as nodes in a DAG task scheduling graph; where nodes include: inter-task dependencies, communication frequency, and cross-core communication overhead;

[0014] Determine the edges between tasks based on their dependencies;

[0015] Remove edges with a communication frequency of 0 between tasks;

[0016] Check if there is an edge between tasks with a communication frequency greater than 0; if not, add the edge.

[0017] Remove edges with zero overhead for cross-core communication between tasks;

[0018] Check if there is an edge between tasks with cross-core communication overhead greater than 0; if not, add the edge.

[0019] Complete the DAG task scheduling diagram.

[0020] In one implementation of this application, the discoverer and joiner are set in a proportional manner in the task scheduling sequence, specifically including:

[0021] Each task scheduling sequence is modeled as a sparrow position, and all task scheduling sequences form a sparrow position matrix;

[0022] Select a preset proportion of sparrow positions as discoverers, and select 1 minus a preset proportion of sparrow positions as joiners.

[0023] In one implementation of this application, the discoverers in the sparrow population are updated through a random fractal search mechanism, and the joiners in the sparrow population are updated through a topology adaptation mechanism, specifically including:

[0024] Through the formula:

[0025] Update the discoverers in the sparrow population ;

[0026] in, Indicates the preset scaling factor. This indicates the optimal position in this iteration. Indicates the current location of the discoverer; Indicates random perturbation;

[0027] Through the formula:

[0028] Update the sparrow population to include new members. ;

[0029] in, This represents the local optimal solution at the current moment. This represents the optimal position of a neighboring individual. Indicates the preset learning factor. Indicates the current member;

[0030] in, Specifically, it is derived from the von Neumann topology rules. The individual with the highest fitness is selected from the four neighbor localizations.

[0031] In one implementation of this application, the objective function is to minimize the scheduling length calculation function, specifically including:

[0032] Through the objective function:

[0033] Calculate the minimum scheduling length of the current task scheduling sequence;

[0034] in, This represents the a-th task. The function to calculate the earliest execution completion time, where a belongs to [1, A], and A represents the total number of tasks in the task scheduling sequence.

[0035] Secondly, this application provides a heterogeneous multi-core processor task scheduling system, the system comprising:

[0036] The module is used to construct the DAG task scheduling graph corresponding to the task set of heterogeneous multi-core processors based on the inter-task dependencies, communication frequency, and cross-core communication overhead of heterogeneous multi-core processors.

[0037] The algorithm processing module is used to take the task scheduling sequence involved in the DAG task scheduling graph, the total communication frequency corresponding to the task scheduling sequence, and the total cross-core communication overhead as input data for the sparrow search algorithm.

[0038] The task scheduling sequence is configured with discoverers and joiners proportionally. The discoverers in the sparrow population are updated using a random fractal search mechanism, and the joiners are updated using a topology adaptation mechanism. Simultaneously, the objective function is the function to minimize the scheduling length, and constraints are configured. These constraints include: a total communication frequency constraint and a total cross-core communication overhead constraint. When a preset stopping iteration condition is reached, the optimal task scheduling sequence that satisfies both the objective function and the constraints is output.

[0039] In one implementation of this application, the construction module includes construction units.

[0040] Used to represent tasks as nodes in a DAG task scheduling graph; where nodes include: inter-task dependencies, communication frequency, and cross-core communication overhead;

[0041] Determine the edges between tasks based on their dependencies;

[0042] Remove edges with a communication frequency of 0 between tasks;

[0043] Check if there is an edge between tasks with a communication frequency greater than 0; if not, add the edge.

[0044] Remove edges with zero overhead for cross-core communication between tasks;

[0045] Check if there is an edge between tasks with cross-core communication overhead greater than 0; if not, add the edge.

[0046] Complete the DAG task scheduling diagram.

[0047] In one implementation of this application, the algorithm processing module includes an update unit.

[0048] Used in the formula:

[0049] Update the discoverers in the sparrow population ;

[0050] in, Indicates the preset scaling factor. This indicates the optimal position in this iteration. Indicates the current location of the discoverer; Indicates random perturbation;

[0051] Through the formula:

[0052] Update the sparrow population to include new members. ;

[0053] in, This represents the local optimal solution at the current moment. This represents the optimal position of a neighboring individual. Indicates the preset learning factor. Indicates the current member;

[0054] in, Specifically, it is derived from the von Neumann topology rules. The individual with the highest fitness is selected from the four neighbor localizations.

[0055] Thirdly, this application provides a heterogeneous multi-core processor task scheduling device, the device comprising:

[0056] processor;

[0057] And a memory that stores executable code, which, when executed, causes the processor to perform a heterogeneous multicore processor task scheduling method as described above.

[0058] Fourthly, this application provides a non-volatile computer storage medium storing computer instructions thereon, which, when executed, implement a heterogeneous multi-core processor task scheduling method as described above.

[0059] As can be seen from the above technical solutions, this application has the following advantages:

[0060] By constructing a Directed Acyclic Graph (DAG) task scheduling graph, this method can intuitively present the dependencies and communication characteristics between tasks, transforming complex dependency constraints and communication costs (such as frequency and cross-core overhead) into quantifiable indicators, providing structured input for subsequent scheduling. This modeling approach directly solves the problem of traditional algorithms' inadequate handling of heterogeneous multi-core task dependencies and communication overhead, avoiding resource idleness caused by long task blocking or communication conflicts, thereby improving overall computational efficiency.

[0061] The Sparrow Search algorithm introduces a stochastic fractal search mechanism to update the discoverer and a topology adaptive mechanism to update the joiners, enabling dynamic adjustment of the search strategy. The former avoids local optima through random perturbation, while the latter adaptively adjusts the search direction based on the characteristics of the task sequence. Together, they directly improve the algorithm's global exploration capability and convergence speed, effectively alleviating the premature convergence problem of the basic Sparrow Search algorithm and ensuring that the scheduling length approaches the global optimum.

[0062] By using the sum of communication frequencies and the sum of cross-core communication overhead as hard constraints, and combining them with the objective function of minimizing the scheduling length, this method can directly optimize the task execution order while meeting real-time communication requirements. This multi-constraint collaborative mechanism avoids the resource allocation imbalance caused by single-objective optimization in heuristic algorithms, ensuring that the output scheduling sequence satisfies communication constraints while maximizing processor utilization. Attached Figure Description

[0063] To more clearly illustrate the technical solution of the present invention, the accompanying drawings used in the description will be briefly introduced below. Obviously, the accompanying drawings described below are only some embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0064] Figure 1 This is a flowchart of a heterogeneous multi-core processor task scheduling method provided in an embodiment of this application.

[0065] Figure 2 This is a schematic diagram of the internal structure of a heterogeneous multi-core processor task scheduling system provided in an embodiment of this application.

[0066] Figure 3 This is a schematic diagram of the internal structure of a heterogeneous multi-core processor task scheduling device provided in an embodiment of this application. Detailed Implementation

[0067] The technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present invention, and not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of the present invention.

[0068] Those skilled in the art should understand that the embodiments described below are merely preferred embodiments of this disclosure and do not imply that this disclosure can only be implemented through these preferred embodiments. These preferred embodiments are merely used to explain the technical principles of this disclosure and are not intended to limit the scope of protection of this disclosure. Based on the preferred embodiments provided by this disclosure, all other embodiments obtained by those skilled in the art without creative effort should still fall within the scope of protection of this disclosure.

[0069] It should also be noted that the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such process, method, article, or apparatus. Unless otherwise specified, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes that element.

[0070] The technical solutions proposed in the embodiments of this application will be described in detail below with reference to the accompanying drawings.

[0071] An embodiment provides a task scheduling method for heterogeneous multi-core processors, such as... Figure 1 As shown in the embodiments of this application, the method mainly includes the following steps:

[0072] Step 110: Based on the inter-task dependencies, communication frequency, and cross-core communication overhead of heterogeneous multi-core processors, construct the DAG task scheduling graph corresponding to the task set of heterogeneous multi-core processors.

[0073] In some embodiments, a DAG task scheduling graph corresponding to the heterogeneous multi-core processor task set is constructed based on the inter-task dependencies, communication frequency, and cross-core communication overhead of heterogeneous multi-core processors. Specifically, this includes:

[0074] Tasks are treated as nodes in a DAG task scheduling graph; where nodes include: inter-task dependencies, communication frequency, and cross-core communication overhead;

[0075] Determine the edges between tasks based on their dependencies;

[0076] Remove edges with a communication frequency of 0 between tasks;

[0077] Check if there is an edge between tasks with a communication frequency greater than 0; if not, add the edge.

[0078] Remove edges with zero overhead for cross-core communication between tasks;

[0079] Check if there is an edge between tasks with cross-core communication overhead greater than 0; if not, add the edge.

[0080] Complete the DAG task scheduling diagram.

[0081] Based on the above description, this step, by constructing a Directed Acyclic Graph (DAG), systematically integrates the dependencies and communication characteristics (such as frequency and cross-core overhead) between tasks, providing a clear quantitative basis for subsequent scheduling. Specifically, treating tasks as nodes and associating them with their dependencies, communication frequencies, and cross-core overhead intuitively presents the logical constraints of task execution. By dynamically adding or deleting edges (such as removing edges with zero communication frequency or cross-core overhead and supplementing missing necessary edges), it is ensured that the scheduling graph retains only the critical paths affecting task scheduling. This process directly simplifies the complexity of the scheduling problem, avoids interference from irrelevant communication relationships, and thus provides more accurate input data for subsequent algorithms (such as sparrow search), improving scheduling efficiency.

[0082] Step 120: Use the task scheduling sequence involved in the DAG task scheduling graph, the total communication frequency corresponding to the task scheduling sequence, and the total cross-core communication overhead as input data for the sparrow search algorithm.

[0083] Based on the above description, this step directly inputs the task scheduling sequence, total communication frequency, and total cross-core communication overhead of the DAG task scheduling graph into the sparrow search algorithm. This allows the algorithm to simultaneously consider task execution order and communication constraints during the iteration process. This input method ensures that the generation of the scheduling sequence always meets the hard constraints of communication frequency and cross-core overhead, avoiding ineffective scheduling schemes caused by ignoring communication costs. Simultaneously, the introduction of quantified communication metrics (such as total frequency and total overhead) provides the algorithm with a clear optimization direction, enabling a dynamic relationship between the objective function (minimizing scheduling length) and the constraints. This directly improves the feasibility and efficiency of task scheduling while meeting real-time communication requirements.

[0084] Step 130: Set the discoverer and joiner in the task scheduling sequence according to the ratio.

[0085] The task scheduling sequence is configured with discoverers and participants proportionally, specifically including:

[0086] Each task scheduling sequence is modeled as a sparrow position, and all task scheduling sequences form a sparrow position matrix;

[0087] Select a preset proportion of sparrow positions as discoverers, and select 1 minus a preset proportion of sparrow positions as joiners.

[0088] Based on the above description, this step directly constructs the population structure of the Sparrow Search algorithm by proportionally dividing the task scheduling sequence into discoverers and joiners: each task scheduling sequence corresponds to a sparrow position, forming a complete population matrix. This division ensures that discoverers (high proportion) are responsible for exploring new solution spaces, while joiners (low proportion) are responsible for utilizing existing information, with both working collaboratively. The direct effect is that the algorithm maintains global exploration capabilities during the search process, avoiding getting trapped in local optima, while also improving convergence efficiency through local fine-tuning by joiners, thus making it more likely to find feasible scheduling sequences that satisfy constraints (such as communication frequency and cross-core overhead).

[0089] Step 140: Update the discoverers in the sparrow population through a random fractal search mechanism, and update the joiners in the sparrow population through a topology adaptation mechanism; at the same time, use the minimization of the scheduling length calculation function as the objective function, and configure the constraints.

[0090] The constraints include: total communication frequency constraints and total cross-core communication overhead constraints.

[0091] In some embodiments, the discoverers in the sparrow population are updated through a random fractal search mechanism, and the joiners in the sparrow population are updated through a topology adaptation mechanism, specifically including:

[0092] Through the formula:

[0093] Update the discoverers in the sparrow population ;

[0094] in, Indicates the preset scaling factor. This indicates the optimal position in this iteration. Indicates the current location of the discoverer; Indicates random perturbation;

[0095] Through the formula:

[0096] Update the sparrow population to include new members. ;

[0097] in, This represents the local optimal solution at the current moment. This represents the optimal position of a neighboring individual. Indicates the preset learning factor. Indicates the current member;

[0098] in, Specifically, it is derived from the von Neumann topology rules. The individual with the highest fitness is selected from the four neighbor localizations.

[0099] The objective function is to minimize the scheduling length calculation function, specifically including:

[0100] Through the objective function:

[0101] Calculate the minimum scheduling length of the current task scheduling sequence;

[0102] in, This represents the a-th task. The function to calculate the earliest execution completion time, where a belongs to [1, A], and A represents the total number of tasks in the task scheduling sequence.

[0103] Based on the above description, this step updates the discoverer through a random fractal search mechanism and updates the joiner through a topology adaptation mechanism. This scheme enables the sparrow population to dynamically balance exploration and exploitation capabilities: the discoverer achieves global search through scaling factors and optimal position perturbations, avoiding getting trapped in local optima; the joiner selects the optimal neighbor solution according to the von Neumann topology rule, improving convergence accuracy through local adjustments. Simultaneously, minimizing the scheduling length is set as the objective function, and constraints on the sum of communication frequencies and the sum of cross-core overhead are configured to directly ensure that the algorithm always satisfies communication constraints during iteration, ultimately outputting a feasible scheduling sequence that meets hardware constraints.

[0104] In addition, the above A preset learning factor is used for broad exploration in the early stages of iteration and fine-tuning in the later stages; the adaptive adjustment strategy is: α = 0.5 × e−t / Tmax, where t represents the current iteration number and Tmax represents the maximum iteration number.

[0105] Step 150: When the preset stopping iteration condition is reached, output the optimal task scheduling sequence that satisfies the objective function and constraints.

[0106] It should be noted that when the preset stopping iteration condition is reached, this scheme directly outputs the optimal task scheduling sequence that satisfies the objective function (minimizing the scheduling length) and constraints (total communication frequency and total cross-core overhead). This process is achieved through collaborative optimization between discoverers and joiners in a dynamically balanced sparrow population: the discoverer ensures that the algorithm continuously explores the solution space during iteration, avoiding getting trapped in local optima; the joiner improves convergence efficiency through local fine-tuning. The final output scheduling sequence satisfies both communication and hardware constraints and minimizes task execution time, and can be directly applied to practical task scheduling scenarios without additional modification.

[0107] In addition, this application Figure 2 This application provides a heterogeneous multi-core processor task scheduling system as an embodiment. For example... Figure 2 As shown in the embodiments of this application, the system mainly includes:

[0108] Module 210 is used to construct a DAG task scheduling graph corresponding to the heterogeneous multi-core processor task set based on the inter-task dependencies, communication frequency, and cross-core communication overhead of heterogeneous multi-core processor tasks.

[0109] Module 210 includes building units,

[0110] Used to represent tasks as nodes in a DAG task scheduling graph; where nodes include: inter-task dependencies, communication frequency, and cross-core communication overhead;

[0111] Determine the edges between tasks based on their dependencies;

[0112] Remove edges with a communication frequency of 0 between tasks;

[0113] Check if there is an edge between tasks with a communication frequency greater than 0; if not, add the edge.

[0114] Remove edges with zero overhead for cross-core communication between tasks;

[0115] Check if there is an edge between tasks with cross-core communication overhead greater than 0; if not, add the edge.

[0116] Complete the DAG task scheduling diagram.

[0117] The algorithm processing module 220 is used to take the task scheduling sequence involved in the DAG task scheduling graph, the total communication frequency corresponding to the task scheduling sequence, and the total cross-core communication overhead as input data for the sparrow search algorithm; to set the discoverers and joiners in the task scheduling sequence according to the proportion; to update the discoverers in the sparrow population through a random fractal search mechanism, and to update the joiners in the sparrow population through a topology adaptation mechanism; to take the minimization scheduling length calculation function as the objective function, and to configure the constraints; among which, the constraints include: the total communication frequency constraint and the total cross-core communication overhead constraint; when the preset stopping iteration condition is reached, the optimal task scheduling sequence that satisfies the objective function and the constraints is output.

[0118] Algorithm processing module 220 includes an update unit.

[0119] Used in the formula:

[0120] Update the discoverers in the sparrow population ;

[0121] in, Indicates the preset scaling factor. This indicates the optimal position in this iteration. Indicates the current location of the discoverer; Indicates random perturbation;

[0122] Through the formula:

[0123] Update the sparrow population to include new members. ;

[0124] in, This represents the local optimal solution at the current moment. This represents the optimal position of a neighboring individual. Indicates the preset learning factor. Indicates the current member;

[0125] in, Specifically, it is derived from the von Neumann topology rules. The individual with the highest fitness is selected from the four neighbor localizations.

[0126] The above are method embodiments of this application. Based on the same inventive concept, embodiments of this application also provide a heterogeneous multi-core processor task scheduling device. Figure 3 As shown, the device includes: a processor; and a memory storing executable code thereon, which, when executed, causes the processor to perform a heterogeneous multi-core processor task scheduling method as described in the above embodiments.

[0127] Specifically, the server constructs a DAG task scheduling graph corresponding to the heterogeneous multi-core processor task set based on the dependencies between tasks, communication frequencies, and cross-core communication overhead of the heterogeneous multi-core processor. The task scheduling sequences involved in the DAG task scheduling graph, the sum of communication frequencies corresponding to the task scheduling sequences, and the sum of cross-core communication overhead are used as input data for the sparrow search algorithm. The discoverers and joiners in the task scheduling sequences are set proportionally. The discoverers in the sparrow population are updated through a random fractal search mechanism, and the joiners in the sparrow population are updated through a topology adaptation mechanism. Simultaneously, the function to minimize the scheduling length is used as the objective function, and constraints are configured. These constraints include: a constraint on the sum of communication frequencies and a constraint on the sum of cross-core communication overhead. When a preset stopping iteration condition is reached, the optimal task scheduling sequence that satisfies the objective function and constraints is output.

[0128] In addition, embodiments of this application also provide a non-volatile computer storage medium storing executable instructions, which, when executed, implement the heterogeneous multi-core processor task scheduling method described above.

[0129] The above description of the disclosed embodiments enables those skilled in the art to make or use the invention. Various modifications to these embodiments will be readily apparent to those skilled in the art, and the general principles defined herein may be implemented in other embodiments without departing from the spirit or scope of the invention. Therefore, the invention is not to be limited to the embodiments shown herein, but is to be accorded the widest scope consistent with the principles and novel features disclosed herein.

Claims

1. A task scheduling method for heterogeneous multi-core processors, characterized in that, The method includes: Based on the inter-task dependencies, communication frequency, and cross-core communication overhead of heterogeneous multi-core processors, a DAG task scheduling graph corresponding to the task set of heterogeneous multi-core processors is constructed. The task scheduling sequence involved in the DAG task scheduling graph, the total communication frequency corresponding to the task scheduling sequence, and the total cross-core communication overhead are used as the input data for the sparrow search algorithm. The task scheduling sequence is configured with discoverers and participants proportionally. The discoverers in the sparrow population are updated using a random fractal search mechanism, and the newcomers in the sparrow population are updated using a topology adaptation mechanism; specifically including: Through the formula: Update the discoverers in the sparrow population ; in, Indicates the preset scaling factor. This indicates the optimal position in this iteration. Indicates the current location of the discoverer; Indicates random perturbation; Through the formula: Update the sparrow population to include new members. ; in, This represents the local optimal solution at the current moment. This represents the optimal position of a neighboring individual. Indicates the preset learning factor. Indicates the current member; in, Specifically, it is derived from the von Neumann topology rules. The individual with the highest fitness is selected from the four neighboring locations; Simultaneously, the objective function is to minimize the scheduling length calculation function, along with configuration constraints; among which, the constraints include: total communication frequency constraints and total cross-core communication overhead constraints; When the preset stopping iteration condition is reached, the optimal task scheduling sequence that satisfies the objective function and constraints is output.

2. The heterogeneous multi-core processor task scheduling method according to claim 1, characterized in that, Based on the dependencies between tasks in heterogeneous multi-core processors, communication frequency, and cross-core communication overhead, a Directed Acyclic Graph (DAG) task scheduling graph corresponding to the task set of heterogeneous multi-core processors is constructed, specifically including: Tasks are treated as nodes in a DAG task scheduling graph; where nodes include: inter-task dependencies, communication frequency, and cross-core communication overhead; Determine the edges between tasks based on their dependencies; Remove edges with a communication frequency of 0 between tasks; Check if there is an edge between tasks with a communication frequency greater than 0; if not, add the edge. Remove edges with zero overhead for cross-core communication between tasks; Check if there is an edge between tasks with cross-core communication overhead greater than 0; if not, add the edge. Complete the DAG task scheduling diagram.

3. The heterogeneous multi-core processor task scheduling method according to claim 1, characterized in that, The task scheduling sequence is configured with discoverers and participants proportionally, specifically including: Each task scheduling sequence is modeled as a sparrow position, and all task scheduling sequences form a sparrow position matrix; Select a preset proportion of sparrow positions as discoverers, and select 1 minus a preset proportion of sparrow positions as joiners.

4. The heterogeneous multi-core processor task scheduling method according to claim 1, characterized in that, The objective function is to minimize the scheduling length calculation function, specifically including: Through the objective function: Calculate the minimum scheduling length of the current task scheduling sequence; in, This represents the a-th task. The function to calculate the earliest execution completion time, where a belongs to [1, A], and A represents the total number of tasks in the task scheduling sequence.

5. A heterogeneous multi-core processor task scheduling system, characterized in that, The system includes: The module is used to construct the DAG task scheduling graph corresponding to the task set of heterogeneous multi-core processors based on the inter-task dependencies, communication frequency, and cross-core communication overhead of heterogeneous multi-core processors. The algorithm processing module is used to take the task scheduling sequence involved in the DAG task scheduling graph, the total communication frequency corresponding to the task scheduling sequence, and the total cross-core communication overhead as input data for the sparrow search algorithm. The task scheduling sequence is configured with discoverers and joiners proportionally; the discoverers in the sparrow population are updated through a random fractal search mechanism, and the joiners in the sparrow population are updated through a topology adaptation mechanism; the objective function is to minimize the scheduling length calculation function, and constraints are configured; the constraints include: total communication frequency constraints and total cross-core communication overhead constraints; when the preset stopping iteration condition is reached, the optimal task scheduling sequence that satisfies the objective function and constraints is output. The algorithm processing module includes an update unit. Used in the formula: Update the discoverers in the sparrow population ; in, Indicates the preset scaling factor. This indicates the optimal position in this iteration. Indicates the current location of the discoverer; Indicates random perturbation; Through the formula: Update the sparrow population to include new members. ; in, This represents the local optimal solution at the current moment. This represents the optimal position of a neighboring individual. Indicates the preset learning factor. Indicates the current member; in, Specifically, it is derived from the von Neumann topology rules. The individual with the highest fitness is selected from the four neighbor localizations.

6. The heterogeneous multi-core processor task scheduling system according to claim 5, characterized in that, Modules include building units. Used to represent tasks as nodes in a DAG task scheduling graph; where nodes include: inter-task dependencies, communication frequency, and cross-core communication overhead; Determine the edges between tasks based on their dependencies; Remove edges with a communication frequency of 0 between tasks; Check if there is an edge between tasks with a communication frequency greater than 0; if not, add the edge. Remove edges with zero overhead for cross-core communication between tasks; Check if there is an edge between tasks with cross-core communication overhead greater than 0; if not, add the edge. Complete the DAG task scheduling diagram.

7. A heterogeneous multi-core processor task scheduling device, characterized in that, The device includes: processor; And a memory having executable code stored thereon, which, when executed, causes the processor to perform a heterogeneous multi-core processor task scheduling method as described in any one of claims 1-4.

8. A non-volatile computer storage medium, characterized in that, It stores computer instructions, which, when executed, implement a heterogeneous multi-core processor task scheduling method as described in any one of claims 1-4.

Citation Information

Patent Citations

  • Hybrid task scheduling method for heterogeneous multi-core processor

    CN112199172A

  • Heterogeneous multi-core processor task scheduling method based on improved sparrow search

    CN115033361A