A heterogeneous processor scheduling method and system based on federal scheduling
By using a DAG task model based on federated scheduling, tasks are dynamically allocated to heterogeneous processor clusters, solving the problem of accurate task completion time under heterogeneous processor architecture and improving task mapping and resource utilization efficiency.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- HUNAN UNIV
- Filing Date
- 2023-03-20
- Publication Date
- 2026-07-10
Smart Images

Figure CN116382864B_ABST
Abstract
Description
Technical Field
[0001] This invention belongs to the field of parallel real-time task scheduling, and more specifically, relates to a heterogeneous processor scheduling method and system based on federated scheduling. Background Technology
[0002] In recent years, with the development of computer architecture and the widespread use of high-performance computing, users often need to execute a large number of concurrent tasks in heterogeneous processor architectures. Since heterogeneous processor environments contain many resources with different computing capabilities and applicable scenarios, resource scheduling for parallel tasks has always been a critical issue.
[0003] Existing research on parallel real-time task scheduling largely utilizes the DAG (Directed Acyclic Graph) model. This model uses a directed acyclic graph to represent parallel tasks, eliminating the limitations of other models regarding the number of subtasks and the order of multiple tasks. Numerous scheduling algorithms based on this model have been developed. DAG parallel task scheduling methods are mainly implemented in three ways: First, a decomposition-based scheduling method decomposes the task into a set of sequential subtasks and then schedules them using traditional multiprocessor scheduling algorithms; second, a global scheduling method performs global task schedulability analysis and then load-balanced scheduling, dynamically allocating tasks to processors during runtime; and third, a federated scheduling method executes tasks based on characteristics such as task utilization, with high-utilization tasks running independently on dedicated processors, while other tasks run sequentially on a single processor.
[0004] However, all three scheduling methods for DAG parallel tasks have significant drawbacks: First, for the first and second methods, the execution time of computational tasks in real-time systems cannot be accurately predicted before completion, resulting in poor flexibility. Second, for the third method, existing task group allocation methods still cannot efficiently map tasks to processors, leading to low execution efficiency. Third, all three methods are still focused on homogeneous processors, while resource adaptation under heterogeneous processor architectures presents certain difficulties. Summary of the Invention
[0005] To address the aforementioned deficiencies or improvement needs of existing technologies, this invention provides a heterogeneous processor scheduling method and system based on federated scheduling. Its purpose is to solve the technical problems of existing scheduling methods being unable to accurately determine the computational tasks in real-time systems before task completion, resulting in poor flexibility; existing methods for allocating task groups still failing to efficiently map tasks to processors, leading to low execution efficiency; and the inability to meet the differences between processor types in heterogeneous processor architectures, resulting in difficulties in resource adaptation.
[0006] To achieve the above objectives, according to one aspect of the present invention, a heterogeneous processor scheduling method based on federated scheduling is provided, comprising the following steps:
[0007] (1) Obtain the running characteristics of multiple tasks running on the heterogeneous processor platform in the real-time system and the workload of each processor, and use the DAG task model to analyze the tasks to obtain the deadline of each task.
[0008] (2) Based on the deadline of each task obtained in step (1), obtain the running speed of the task on each processor in the heterogeneous processor platform.
[0009] (3) Evaluate the processor based on the running speed of each task on each processor obtained in step (2) to obtain the preference of different types of processors for all tasks on the heterogeneous processor platform in the real-time system.
[0010] (4) Using the preference of different types of processors obtained in step (3) for all tasks on the heterogeneous processor platform in the real-time system, assign a corresponding processor to each task in the real-time system to obtain each task and its corresponding processor cluster.
[0011] (5) For each task and its corresponding processor cluster obtained in step (4), the subtasks contained in the task are executed in each processor cluster to obtain the final resource configuration result.
[0012] Preferably, for the heterogeneous processor platform in step (1), it is composed of multiple different types of processors. For each type of processor s∈S, the number of processors of that type in the entire real-time system is Ms, where Ms≥1, and S represents the set of heterogeneous processors in the heterogeneous processor platform.
[0013] Preferably, for all tasks obtained in step (1), each task is composed of a DAG, specifically including the following parts:
[0014] G i =(V iE i ,T i ), 1≤i≤n
[0015] Among them G i Let V represent the i-th task, where 1 ≤ i ≤ n, and n represents the total number of tasks obtained in this step. i and E i It is the i-th task G i The corresponding set of vertices and edges, for each vertex v∈V i Represents a subtask, where each edge (u,v)∈E i T represents the dependency relationship between vertices u and v. i Used to represent the i-th task G i The deadline.
[0016] Preferably, step (2) uses the deadline of each task in step (1) to calculate the expected and variance of the task's running time, thereby estimating the running speed of the task on each processor in the heterogeneous processor platform.
[0017] Preferably, step (3) specifically includes the following sub-steps:
[0018] (3-1) Using the running speed of each task on each processor in the heterogeneous processor platform obtained in step (2), the average running speed of the task on each type of processor in the heterogeneous processor platform is obtained. The specific calculation formula is as follows:
[0019]
[0020] Where v i This indicates the running speed of each task on each processor of type 's' in a heterogeneous processor platform. This represents the average running speed of each task on a processor of type 's' in a heterogeneous processor platform.
[0021] (3-2) Based on the average running speed of each task on each type of processor in the heterogeneous processor platform obtained in step (3-1), perform statistics on multiple tasks on the heterogeneous processor platform in the real-time system to obtain the number of tasks in the real-time system with the processor of type s as the i-th fastest processor for that task, cnt. i,s , where the value of i ranges from 1 to Is, and Is represents the slowest level at which all tasks on the heterogeneous processor platform in the real-time system run on that type of processor.
[0022] (3-3) Based on step (3-2), the number of tasks in the real-time system with processor of type s as the i-th processor of the task, cnt i,sCalculate the weighted value Ps of this type of processor s to obtain the degree of preference of this type of processor s for all tasks on heterogeneous processor platforms in a real-time system.
[0023] Preferably, step (4) specifically includes the following sub-steps:
[0024] (4-1) Initialize set Y to be empty. Set Y is used to store each task and its corresponding processor cluster.
[0025] (4-2) Set the counter i = 1;
[0026] (4-3) Set the counter j = 1;
[0027] (4-4) Determine whether i is greater than the number of all tasks n on the heterogeneous processor platform in the real-time system. If it is, it means that all tasks have been allocated. Return set Y and the process ends. Otherwise, proceed to step (4-5).
[0028] (4-5) Select the i-th task G on the heterogeneous processor platform in the real-time system. i ;
[0029] (4-6) Sort all types of processors by using the preference of different types of processors for all tasks on the heterogeneous processor platform in the real-time system obtained in step (3);
[0030] (4-7) Determine if j is greater than the total number of processor types in the real-time system. If so, the process ends; otherwise, proceed to step (4-8).
[0031] (4-8) Set the counter k = 1;
[0032] (4-9) Determine whether k is greater than the number of processors of the jth type in the real-time system. If so, proceed to step (4-13); otherwise, proceed to step (4-10).
[0033] (4-10) Based on the sorting result obtained in step (4-6), add the k-th processor of the j-th type to task G. i In the corresponding processor cluster;
[0034] (4-11) Determine task G i If the processor cluster obtained in step (4-8) can run, proceed to step (4-14); otherwise proceed to step (4-12).
[0035] (4-12) Set k = k + 1 and return to step (4-9);
[0036] (4-13) Set j = j + 1 and return to step (4-7);
[0037] (4-14) Task G i And the corresponding processor cluster is added to set Y;
[0038] (4-15) Set i = i + 1 and return to step (4-4);
[0039] Preferably, step (5) specifically includes the following sub-steps:
[0040] (5-1) Based on the processor cluster corresponding to each task obtained in step (4), set up multiple domains in each processor cluster according to the type of processor, and simultaneously establish multiple different queues Q1, Q2...Q p Each corresponds to a different domain (where p represents the number of domains in the current processor cluster);
[0041] (5-2) Use the task corresponding to the processor cluster in step (5-1) to obtain the DAG corresponding to the task and the dependency relationship between the subtasks contained in the task;
[0042] (5-3) Assign an ID to each subtask based on the DAG corresponding to the task obtained in step (5-2) and the dependency relationship of the subtasks. The ID is equal to the index of the corresponding level of the subtask in the DAG.
[0043] (5-4) Use the id from step (5-3) to perform a modulo operation on p, and add each subtask to the queue in step (5-1) according to the operation result;
[0044] (5-5) Check whether all subtasks in the current processor cluster have been completed. If so, the process ends; otherwise, proceed to step (5-6).
[0045] (5-6) Set the counter i = 1;
[0046] (5-7) Determine if i is greater than the number of domains p in the current processor cluster. If yes, it means that all queues have been checked and return to step (5-5). Otherwise, proceed to step (5-8).
[0047] (5-8) Check queue Q i If there is a subtask currently being executed, proceed to step (5-10); otherwise proceed to step (5-9).
[0048] (5-9) Retrieve a subtask from a queue in another domain and add it to queue Q. i middle;
[0049] (5-10) Set i = i + 1 and return to step (5-6).
[0050] According to another aspect of the present invention, a heterogeneous processor scheduling system based on federated scheduling is provided, comprising:
[0051] The first module is used to obtain the running characteristics of multiple tasks running on heterogeneous processor platforms in a real-time system and the workload of each processor. It uses a DAG task model to analyze the tasks in order to obtain the deadline for each task.
[0052] The second module is used to obtain the running speed of each task on each processor in the heterogeneous processor platform based on the deadline of each task obtained from the first module.
[0053] The third module is used to evaluate the processor based on the running speed of each task on each processor obtained from the second module, so as to obtain the degree of preference of different types of processors for all tasks on the heterogeneous processor platform in the real-time system.
[0054] The fourth module is used to allocate a corresponding processor to each task in the real-time system based on the preference of different types of processors for all tasks on the heterogeneous processor platform obtained in the third module, so as to obtain each task and its corresponding processor cluster.
[0055] The fifth module is used to execute the subtasks contained in each task and its corresponding processor cluster for each task obtained from the fourth module, in order to obtain the final resource configuration result.
[0056] In summary, compared with the prior art, the above-described technical solutions conceived by this invention can achieve the following beneficial effects:
[0057] (1) Since the present invention adopts steps (1) and (2), according to the characteristics of the task in the heterogeneous environment, the DAG task model is used to analyze the task, and then the expected value and variance of the task running time are used to replace the traditional deterministic values, so the task can be well analyzed. Therefore, it can solve the existing technical problem that it is impossible to accurately judge the computing task in the real-time system before the task is completed, resulting in poor flexibility.
[0058] (2) Since the present invention adopts steps (3) and (4), according to the different running times of tasks on different processors, it calculates the preference of different types of processors for all tasks on the heterogeneous processor platform in the real-time system, and uses the preference to allocate different processor clusters for each task, it can solve the technical problem that the existing method of allocating task groups cannot efficiently realize the mapping between tasks and processors, resulting in low execution efficiency.
[0059] (3) Since the present invention uses step (5) to allocate corresponding computing resources to subtasks running on the same processor cluster and uses the method of obtaining tasks to execute the corresponding subtasks, it can solve the technical problem that the existing scheduling method cannot meet the differences between processor types under heterogeneous processor architecture, resulting in difficulty in resource adaptation. Attached Figure Description
[0060] Figure 1 This is a schematic diagram of the overall framework of the heterogeneous processor scheduling method based on federated scheduling of the present invention;
[0061] Figure 2 This is a flowchart of the heterogeneous processor scheduling method based on federated scheduling of the present invention. Detailed Implementation
[0062] To make the objectives, technical solutions, and advantages of this invention clearer, the invention will be further described in detail below with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative and not intended to limit the invention. Furthermore, the technical features involved in the various embodiments of this invention described below can be combined with each other as long as they do not conflict with each other.
[0063] The basic idea of this invention is to analyze multiple tasks on a heterogeneous processor platform in a real-time system based on a heterogeneous processor environment and federated scheduling, using a DAG task model. Then, based on the different preferences of different types of processors for all tasks on the heterogeneous processor platform in the real-time system, a corresponding processor cluster is quickly allocated to each task. Finally, dedicated computing resources are allocated to subtasks running under the same processor cluster, and the corresponding subtasks are executed using the task acquisition method. This can efficiently realize resource scheduling in a heterogeneous processor environment.
[0064] like Figure 1 and Figure 2 As shown, this invention provides a heterogeneous processor scheduling method based on federated scheduling, comprising the following steps:
[0065] (1) Obtain the running characteristics of multiple tasks running on the heterogeneous processor platform in the real-time system and the workload of each processor, and use the DAG task model to analyze the tasks to obtain the deadline of each task.
[0066] Specifically, the heterogeneous processor platform in this step is composed of various types of processors. Let S represent the set of heterogeneous processors in the heterogeneous processor platform. For each type of processor s∈S, the number of processors of that type in the entire real-time system is Ms (Ms≥1).
[0067] For all the tasks obtained in this step, each task is composed of a DAG, specifically including the following parts:
[0068] G i =(V i E i ,T i ), 1≤i≤n
[0069] Among them G i Let V represent the i-th task, where 1 ≤ i ≤ n, and n represents the total number of tasks obtained in this step. i and E i It is the i-th task G i The corresponding set of vertices and edges, for each vertex v∈V i Represents a subtask, where each edge (u,v)∈E i T represents the dependency relationship between vertices u and v. i Used to represent the i-th task G i The deadline.
[0070] (2) Based on the deadline of each task obtained in step (1), obtain the running speed of the task on each processor in the heterogeneous processor platform.
[0071] Specifically, this step uses the deadline of each task in step (1) to calculate the expected and variance of the task's running time, thereby estimating the running speed of the task on each processor in the heterogeneous processor platform.
[0072] The advantage of this step is that, since accurate judgment cannot be made before the task is completed, calculating the expected and variance of the task's running time instead of the traditionally determined values allows for better analysis of the task and greater flexibility.
[0073] (3) Evaluate the processor based on the running speed of each task on each processor obtained in step (2) to obtain the preference of different types of processors for all tasks on the heterogeneous processor platform in the real-time system.
[0074] Specifically, this step includes the following sub-steps:
[0075] (3-1) Using the running speed of each task on each processor in the heterogeneous processor platform obtained in step (2), obtain the average running speed of the task on each type of processor in the heterogeneous processor platform.
[0076] In this step, the average running speed of each task on each processor in the heterogeneous processor platform, obtained from step (2), is calculated as follows:
[0077]
[0078] Where v i This indicates the running speed of each task on each processor of type 's' in a heterogeneous processor platform. This represents the average running speed of each task on a processor of type 's' in a heterogeneous processor platform.
[0079] (3-2) Based on the average running speed of each task on each type of processor in the heterogeneous processor platform obtained in step (3-1), perform statistics on multiple tasks on the heterogeneous processor platform in the real-time system to obtain the number of tasks in the real-time system with the processor of type s as the i-th fastest processor for that task, cnt. i,s , where the value of i ranges from 1 to Is (Is represents the slowest level at which all tasks on a heterogeneous processor platform in a real-time system run on that type of processor).
[0080] (3-3) Based on step (3-2), the number of tasks in the real-time system with processor of type s as the i-th processor of the task, cnt i,s Calculate the weighted value Ps of this type of processor s to obtain the degree of preference of this type of processor s for all tasks on heterogeneous processor platforms in a real-time system.
[0081] Specifically, the calculated weighted value reflects the degree of preference of different types of processors for all tasks on a heterogeneous processor platform in a real-time system. A larger weighted value indicates that the processor type has a better speed preference for all tasks. The calculation is as follows:
[0082]
[0083] in This indicates additional weights, assigning greater weight to the number of faster tasks.
[0084] The advantage of this step is that by calculating the weighted value of the number of tasks with different speeds on different types of processors, the preference of different types of processors for all tasks on heterogeneous processor platforms in real-time systems can be evaluated. This can intuitively show how well different types of processors can schedule tasks to real-time systems and can quickly and effectively extract the common features of different types of processors.
[0085] (4) Using the preference of different types of processors obtained in step (3) for all tasks on the heterogeneous processor platform in the real-time system, assign a corresponding processor to each task in the real-time system to obtain each task and its corresponding processor cluster.
[0086] Specifically, step (4) includes the following sub-steps:
[0087] (4-1) Initialize set Y to be empty. Set Y is used to store each task and its corresponding processor cluster.
[0088] (4-2) Set the counter i = 1;
[0089] (4-3) Set the counter j = 1;
[0090] (4-4) Determine whether i is greater than the number of all tasks n on the heterogeneous processor platform in the real-time system. If it is, it means that all tasks have been allocated. Return set Y and the process ends. Otherwise, proceed to step (4-5).
[0091] (4-5) Select the i-th task G on the heterogeneous processor platform in the real-time system. i ;
[0092] (4-6) Sort all types of processors by using the preference of different types of processors for all tasks on the heterogeneous processor platform in the real-time system obtained in step (3);
[0093] (4-7) Determine if j is greater than the total number of processor types in the real-time system. If so, the process ends; otherwise, proceed to step (4-8).
[0094] (4-8) Set the counter k = 1;
[0095] (4-9) Determine whether k is greater than the number of processors of the jth type in the real-time system. If so, proceed to step (4-13); otherwise, proceed to step (4-10).
[0096] (4-10) Based on the sorting result obtained in step (4-6), add the k-th processor of the j-th type to task G. i In the corresponding processor cluster;
[0097] (4-11) Determine task G i If the processor cluster obtained in step (4-8) can run, proceed to step (4-14); otherwise proceed to step (4-12).
[0098] (4-12) Set k = k + 1 and return to step (4-9);
[0099] (4-13) Set j = j + 1 and return to step (4-7);
[0100] (4-14) Task G i And the corresponding processor cluster is added to set Y;
[0101] (4-15) Set i = i + 1 and return to step (4-4);
[0102] The advantage of this step is that it allocates different processor clusters to each task based on the preference of different types of processors for all tasks on heterogeneous processor platforms in real-time systems, which can efficiently realize the mapping between tasks and processors, and is more efficient than traditional methods.
[0103] (5) For each task and its corresponding processor cluster obtained in step (4), the subtasks contained in the task are executed in each processor cluster to obtain the final resource configuration result.
[0104] Specifically, step (5) includes the following sub-steps:
[0105] (5-1) Based on the processor cluster corresponding to each task obtained in step (4), set up multiple domains in each processor cluster according to the type of processor, and simultaneously establish multiple different queues Q1, Q2...Q p Each corresponds to a different domain (where p represents the number of domains in the current processor cluster);
[0106] (5-2) Use the task corresponding to the processor cluster in step (5-1) to obtain the DAG corresponding to the task and the dependency relationship between the subtasks contained in the task;
[0107] (5-3) Assign an ID to each subtask based on the DAG corresponding to the task obtained in step (5-2) and the dependency relationship of the subtasks. The ID is equal to the index of the corresponding level of the subtask in the DAG.
[0108] (5-4) Use the id from step (5-3) to perform a modulo operation on p, and add each subtask to the queue in step (5-1) according to the operation result;
[0109] (5-5) Check whether all subtasks in the current processor cluster have been completed. If so, the process ends; otherwise, proceed to step (5-6).
[0110] (5-6) Set the counter i = 1;
[0111] (5-7) Determine if i is greater than the number of domains p in the current processor cluster. If yes, it means that all queues have been checked and return to step (5-5). Otherwise, proceed to step (5-8).
[0112] (5-8) Check queue Q i If there is a subtask currently being executed, proceed to step (5-10); otherwise proceed to step (5-9).
[0113] (5-9) Retrieve a subtask from a queue in another domain and add it to queue Q. i middle;
[0114] (5-10) Set i = i + 1 and return to step (5-6);
[0115] The advantage of this step is that by using the method of acquiring tasks to execute the subtasks contained in each task, computing resources can be quickly allocated to the corresponding subtasks, while making full use of the processor.
[0116] Those skilled in the art will readily understand that the above description is merely a preferred embodiment of the present invention and is not intended to limit the present invention. Any modifications, equivalent substitutions, and improvements made within the spirit and principles of the present invention should be included within the scope of protection of the present invention.
Claims
1. A heterogeneous processor scheduling method based on federated scheduling, characterized in that, Includes the following steps: (1) Obtain the running characteristics of multiple tasks running on the heterogeneous processor platform in the real-time system and the workload of each processor, and use the DAG task model to analyze the tasks in order to obtain the deadline of each task. (2) Based on the deadline of each task obtained in step (1), obtain the running speed of the task on each processor in the heterogeneous processor platform; (3) Evaluate the processor based on the running speed of each task on each processor obtained in step (2) to obtain the degree of preference of different types of processors for all tasks on the heterogeneous processor platform in the real-time system; (4) Using the preference of different types of processors obtained in step (3) for all tasks on the heterogeneous processor platform in the real-time system, assign a corresponding processor to each task in the real-time system to obtain each task and its corresponding processor cluster. (5) For each task and its corresponding processor cluster obtained in step (4), execute the subtasks contained in the task in each processor cluster to obtain the final resource configuration result; step (5) specifically includes the following sub-steps: (5-1) Based on the processor cluster corresponding to each task obtained in step (4), multiple domains are set up in each processor cluster according to the type of processor, and multiple different queues Q1, Q2...Q are established simultaneously. p Each corresponds to a different domain, where p represents the number of domains in the current processor cluster; (5-2) Use the task corresponding to the processor cluster in step (5-1) to obtain the DAG corresponding to the task and the dependency relationship between the subtasks contained in the task; (5-3) Assign an ID to each subtask based on the DAG corresponding to the task obtained in step (5-2) and the dependency relationship of the subtasks. The ID is equal to the index of the corresponding level of the subtask in the DAG. (5-4) Use the id from step (5-3) to perform a modulo operation on p, and add each subtask to the queue in step (5-1) according to the operation result; (5-5) Check whether all subtasks in the current processor cluster have been completed. If so, the process ends; otherwise, proceed to step (5-6). (5-6) Set the counter i=1; (5-7) Determine if i is greater than the number of domains p in the current processor cluster. If yes, it means that all queues have been checked and return to step (5-5). Otherwise, proceed to step (5-8). (5-8) Check queue Q i If there is a subtask currently being executed, proceed to step (5-10); otherwise, proceed to step (5-9). (5-9) Take a subtask from a queue in another domain and add it to queue Q. i middle; (5-10) Set i = i + 1 and return to step (5-6).
2. The heterogeneous processor scheduling method based on federated scheduling according to claim 1, characterized in that, The heterogeneous processor platform in step (1) consists of multiple different types of processors, and for each type of processor... The number of this type of processor in the entire real-time system is ,in , This represents the collection of heterogeneous processors in a heterogeneous processor platform.
3. The heterogeneous processor scheduling method based on federated scheduling according to claim 1 or 2, characterized in that, For all the tasks obtained in step (1), each task is composed of a DAG, specifically including the following parts: G i =(V i , E i , T i ),1≤i≤n; Among them G i Let represent the i-th task, where 1 ≤ i ≤ n. V represents the total number of tasks obtained in this step. i and E i It is the i-th task G i The corresponding set of vertices and edges, where each vertex 𝑣∈V i Represents a subtask, where each edge (𝑢, 𝑣)∈E i T represents the dependency between vertices 𝑢 and 𝑣. i Used to represent the i-th task G i The deadline.
4. The heterogeneous processor scheduling method based on federated scheduling according to claim 3, characterized in that, Step (2) uses the deadline of each task in step (1) to calculate the expected and variance of the task's running time, thereby estimating the running speed of the task on each processor in the heterogeneous processor platform.
5. The heterogeneous processor scheduling method based on federated scheduling according to claim 2, characterized in that, Step (3) specifically includes the following sub-steps: (3-1) Using the running speed of each task on each processor in the heterogeneous processor platform obtained in step (2), the average running speed of the task on each type of processor in the heterogeneous processor platform is obtained. The specific calculation formula is as follows: ; in This indicates that each task in the heterogeneous processor platform is of type [missing information]. The speed of operation on each processor This indicates that each task in the heterogeneous processor platform is of type [missing information]. The average operating speed on the processor; (3-2) Based on the average running speed of each task on each type of processor in the heterogeneous processor platform obtained in step (3-1), statistical analysis is performed on multiple tasks on the heterogeneous processor platform in the real-time system to obtain the real-time system tasks categorized by type. The processor is the first in this task Number of tasks for fast processors ,in The value range is 1 to , This indicates the slowest level at which all tasks on a heterogeneous processor platform in a real-time system run on that type of processor. (3-3) Based on step (3-2), the real-time system obtained is of type The processor is the first in this task Number of tasks for fast processors Calculate this type of processor weighted value In order to obtain this type of processor The degree of preference for all tasks on heterogeneous processor platforms in a real-time system.
6. The heterogeneous processor scheduling method based on federated scheduling according to claim 1, characterized in that, Step (4) specifically includes the following sub-steps: (4-1) Initialize set Y to be empty. Set Y is used to store each task and its corresponding processor cluster. (4-2) Set the counter i = 1; (4-3) Set the counter j = 1; (4-4) Determine whether i is greater than the number of all tasks n on the heterogeneous processor platform in the real-time system. If it is, it means that all tasks have been allocated. Return set Y and the process ends. Otherwise, proceed to step (4-5). (4-5) Select the i-th task G on the heterogeneous processor platform in the real-time system. i ; (4-6) Sort all types of processors by using the preference of different types of processors for all tasks on the heterogeneous processor platform in the real-time system obtained in step (3); (4-7) Determine if j is greater than the total number of processor types in the real-time system. If so, the process ends; otherwise, proceed to step (4-8). (4-8) Set the counter k = 1; (4-9) Determine whether k is greater than the number of processors of the jth type in the real-time system. If so, proceed to step (4-13); otherwise, proceed to step (4-10). (4-10) Based on the sorting result obtained in step (4-6), add the k-th processor of the j-th type to task G. i In the corresponding processor cluster; (4-11) Determine task G i If it can run in the processor cluster obtained in step (4-8), proceed to step (4-14); otherwise proceed to step (4-12). (4-12) Set k=k+1 and return to step (4-9); (4-13) Set j=j+1 and return to step (4-7); (4-14) Task G i And the corresponding processor cluster is added to set Y; (4-15) Set i = i + 1 and return to step (4-4).
7. A heterogeneous processor scheduling system based on federated scheduling, implemented by the heterogeneous processor scheduling method based on federated scheduling as described in claim 1, characterized in that, The heterogeneous processor scheduling system includes: The first module is used to obtain the running characteristics of multiple tasks running on the heterogeneous processor platform of the real-time system and the workload of each processor, and to analyze the tasks using the DAG task model to obtain the deadline of each task. The second module is used to obtain the running speed of each task on each processor in the heterogeneous processor platform based on the deadline of each task obtained by the first module. The third module is used to evaluate the processor based on the running speed of each task on each processor obtained from the second module, so as to obtain the degree of preference of different types of processors for all tasks on the heterogeneous processor platform in the real-time system. The fourth module is used to allocate a corresponding processor to each task in the real-time system based on the preference of different types of processors for all tasks on the heterogeneous processor platform in the real-time system, obtained from the third module, so as to obtain each task and its corresponding processor cluster. The fifth module is used to execute the subtasks contained in each task and its corresponding processor cluster for each task obtained from the fourth module, in order to obtain the final resource configuration result.