Dynamic task scheduling method and system based on heterogeneous reconfigurable system

By disassembling and prioritizing the job tasks in the heterogeneous reconfigurable system, assigning platform attributes based on the calculation characteristics of the subtasks, generating task execution links and compiling to generate executable files, the problem of difficult parallel processing between heterogeneous platforms is solved, and resource utilization and work efficiency are improved.

CN120196408APending Publication Date: 2025-06-24XIDIAN UNIV
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202510163055.2
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-02-14
Publication Date
2025-06-24

AI Technical Summary

Technical Problem

The existing scheduling methods of heterogeneous reconfigurable systems make it difficult to implement parallel processing between heterogeneous platforms, resulting in low resource utilization.

Method used

By disassembling job tasks and prioritizing subtasks, platform attributes are assigned according to the calculation characteristics of subtasks, task execution links are generated, and executable files are compiled through standard components and sent to the target heterogeneous platform for execution.

Benefits of technology

Parallel calls between heterogeneous platforms are realized, improving the work efficiency of heterogeneous platforms and system resource utilization.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120196408A_ABST
    Figure CN120196408A_ABST
Patent Text Reader

Abstract

The invention discloses a dynamic task scheduling method and system based on a heterogeneous reconfigurable system.The method is applied to a main controller in the heterogeneous reconfigurable system.The method comprises the steps that a job task is disassembled, sub-tasks obtained through disassembling are subjected to priority ranking, and the priority attribute of each sub-task is obtained; according to the calculation characteristics of the subtasks, distributing platform attributes of the subtasks; generating at least one task execution linked list according to the platform attributes and the priority attributes of all the sub-tasks; according to the sequence of the task execution chain table, calling standard components corresponding to the subtasks in sequence to compile the subtasks to obtain executable files of the subtasks; and sending the executable file of the subtask to a task queue of a target platform corresponding to the subtask, so that the target platform executes the subtask. Parallel calling of the heterogeneous platforms can be achieved, and the utilization rate of the heterogeneous platforms in the system is increased.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention belongs to the field of electronic information technology, and particularly relates to a dynamic task scheduling method and system based on a heterogeneous reconfigurable system. Background Art

[0002] With the development of new technologies and new systems of electronic information systems such as radars, and the emergence of advanced heterogeneous platforms, integrating functions such as reconnaissance, jamming, detection, and communication is an inevitable means for future electronic spectrum operations. Heterogeneous processor computing systems have stood out due to their characteristics such as high performance, high flexibility, high energy efficiency, and high parallel processing capabilities, and are widely used in embedded application fields such as automobiles and aerospace. Therefore, a good scheduling strategy is particularly important. In order to meet the requirements that all functional components in the system can be arbitrarily allocated, performance parameters can be programmed, and various resources on the equipment platform can be dynamically allocated in real time to make job allocation and configuration more optimized, a software scheduling framework meeting this requirement has been proposed.

[0003] For heterogeneous system task scheduling, some solutions adopt a static task scheduling scheme. This scheme first calculates the priority of each task through a scheduling algorithm, and determines the order in which the final heterogeneous system executes tasks according to the priority. It is applicable to application scenarios where the execution information of subtasks can be predicted in advance, and more focuses on the implementation of the scheduling algorithm. Some solutions achieve semi-dynamic task scheduling by adding a two-level scheduling mechanism. The first-level scheduling is responsible for dividing tasks to be executed on appropriate processors, and the second-level scheduling is responsible for mapping tasks to specific devices. By monitoring the status feedback of all devices on the management platform to the first-level scheduler and then adjusting the execution order of computing tasks, the waiting time is reduced.

[0004] Limited by the scheduling scheme, although the heterogeneous reconfigurable system has huge computing resources, its current relatively simple usage technology does not achieve parallel processing between heterogeneous platforms, making it difficult to exert the advantages of the heterogeneous reconfigurable system and causing serious resource waste. Summary of the Invention

[0005] An embodiment of the present invention provides a dynamic task scheduling method and system based on a heterogeneous reconfigurable system, which can solve the problem that the current scheduling method of the heterogeneous reconfigurable system has a low utilization rate of the heterogeneous platforms in the system.

[0006] In a first aspect, a dynamic task scheduling method based on a heterogeneous reconfigurable system provided by an embodiment of the present invention is applied to a main controller in the heterogeneous reconfigurable system, and the method includes: Disassemble job tasks and perform priority sorting on the disassembled subtasks to obtain the priority attributes of each subtask, where the priority attributes are used to indicate the priority order of the subtasks; According to the computing characteristics of subtasks, allocate the platform attributes of subtasks, where the platform attributes are used to indicate the heterogeneous platforms for executing the subtasks; Generate at least one task execution linked list according to the platform attributes and priority attributes of all subtasks; Call the standard components corresponding to the subtasks in sequence according to the order of the task execution linked list to compile the subtasks and obtain the executable files of the subtasks, where the standard components corresponding to the subtasks are determined according to the computing characteristics of the subtasks; Send the executable files of the subtasks to the task queues of the target platforms corresponding to the subtasks to enable the target platforms to execute the subtasks, where the target platforms are the heterogeneous platforms indicated by the platform attributes of the subtasks.

[0007] In a second aspect, an embodiment of the present invention provides a system, including a main controller and multiple heterogeneous platforms; the main controller includes a preprocessing module, a task allocation module, a task pool, and a standard library, and multiple standard components are stored in the standard library; The preprocessing module is used to disassemble the job tasks and sort the priorities of the subtasks obtained by disassembling to obtain the priority attributes of each subtask, where the priority attributes are used to indicate the priority order of the subtasks; The task allocation module is used to allocate the platform attributes of the subtasks according to the computing characteristics of the subtasks, where the platform attributes are used to indicate the heterogeneous platforms for executing the subtasks; The task pool is used to generate at least one task execution linked list according to the platform attributes and priority attributes of all subtasks; call the standard components corresponding to the subtasks in sequence according to the order of the task execution linked list to compile the subtasks and obtain the executable files of the subtasks, where the standard components corresponding to the subtasks are determined according to the computing characteristics of the subtasks; send the executable files of the subtasks to the task queues of the target platforms corresponding to the subtasks, where the target platforms are the heterogeneous platforms indicated by the platform attributes of the subtasks; The heterogeneous platforms are used to execute the subtasks according to the executable files.

[0008] The beneficial effects of the embodiments of the present invention compared with the prior art are as follows: According to the method provided by the present invention, by disassembling the job tasks and generating at least one task execution linked list in parallel according to the disassembled subtasks, and generating executable files for multiple heterogeneous platforms through at least one task execution linked list; it can realize parallel invocation of multiple heterogeneous platforms, improve the working efficiency of the heterogeneous platforms and the resource utilization rate of the system. Description of the Drawings

[0009] Figure 1 It is a schematic structural diagram of a heterogeneous reconfigurable system provided by an embodiment of the present invention; Figure 2The implementation flowchart of a dynamic task scheduling method based on a heterogeneous reconfigurable system provided by an embodiment of the present invention; Figure 3 The schematic diagram of a task execution flowchart block provided by an embodiment of the present invention; Figure 4 The schematic diagram of a task execution linked list provided by an embodiment of the present invention; Figure 5 The structural schematic diagram of a standard component provided by an embodiment of the present invention. Detailed implementation manners

[0010] In the following description, for the purpose of illustration rather than limitation, specific details such as specific system architectures and technologies are set forth in order to provide a thorough understanding of the embodiments of the present invention. However, those skilled in the art should understand that the present invention may be implemented in other embodiments without these specific details. In other cases, detailed descriptions of well-known systems, devices, circuits, and methods are omitted so as not to obscure the description of the present invention with unnecessary details.

[0011] It should be understood that when used in the specification and claims of the present invention, the term "comprising" indicates the presence of the described features, wholes, steps, operations, elements, and / or components, but does not exclude the presence or addition of one or more other features, wholes, steps, operations, elements, components, and / or their combinations.

[0012] It should also be understood that the term "and / or" as used in the specification and claims of the present invention refers to any combination and all possible combinations of one or more of the associated listed items, and includes these combinations.

[0013] As used in the specification and claims of the present invention, the term "if" may be interpreted as "when" or "once" or "in response to determining" or "in response to detecting" according to the context. Similarly, the phrase "if determined" or "if detecting [the described condition or event]" may be interpreted as meaning "once determined" or "in response to determining" or "once detecting [the described condition or event]" or "in response to detecting [the described condition or event]" according to the context.

[0014] In addition, in the description of the specification and claims of the present invention, the terms "first", "second", "third", etc. are only used for distinguishing descriptions and cannot be understood as indicating or implying relative importance.

[0015] References to "one embodiment" or "some embodiments" etc. described in the specification of the present invention mean that specific features, structures or characteristics described in connection with that embodiment are included in one or more embodiments of the present invention. Thus, statements such as "in one embodiment", "in some embodiments", "in other some embodiments", "in still other embodiments" etc. that appear at different places in this specification do not necessarily all refer to the same embodiment, but mean "one or more but not all embodiments", unless otherwise specifically emphasized. The terms "comprising", "including", "having" and their variants all mean "including but not limited to", unless otherwise specifically emphasized.

[0016] The present invention will be further described in detail below in conjunction with specific embodiments, but the implementation manners of the present invention are not limited thereto.

[0017] Figure 1 The following shows a schematic structural diagram of a heterogeneous reconfigurable system provided by an embodiment of the present invention. By way of example and not limitation, refer to Figure 1 , the system 100 may include a main controller 110 and a plurality of heterogeneous platforms 120.

[0018] In one possible implementation manner, the main controller 110 may include a preprocessing module 111, a task assignment module 112, a task pool 113, and a standard library 114.

[0019] Specifically, the preprocessing module 111 in the main controller 110 may disassemble an operation task to obtain a plurality of subtasks, and then perform priority sorting on the disassembled subtasks to obtain the priority attributes of each subtask. The task assignment module 112 may assign the platform attributes of each subtask according to the computing characteristics of the subtasks. The task pool 113 may generate at least one task execution linked list according to the platform attributes and priority attributes of all subtasks, and then call the standard components corresponding to the subtasks from the standard library 114 in the order of the task execution linked list to compile the subtasks to obtain executable files for each subtask; finally, send the executable files to the target platforms of the subtasks. The heterogeneous platform 120 may execute corresponding subtasks according to the received executable files.

[0020] Exemplarily, the priority attribute of a subtask may be used to indicate the priority order of the subtask.

[0021] Exemplarily, the platform attribute of a subtask may be used to indicate the heterogeneous platform for executing the subtask.

[0022] Exemplarily, the standard component corresponding to a subtask may be determined according to the computing characteristics of the subtask.

[0023] Exemplarily, the target platform corresponding to the subtask is the heterogeneous platform indicated by the platform attribute of the subtask.

[0024] Optionally, the preprocessing module 111 can also integrate the subtasks to obtain a block diagram of the execution process of the subtasks and send it to the user.

[0025] Optionally, the task pool 113 can also send the real-time task execution linked list to the user.

[0026] In one example, the main controller can also include a monitoring / scheduling module 115 and a feedback module 116.

[0027] Specifically, a task queue can be set in each heterogeneous platform 120, which stores the subtasks to be executed on this heterogeneous platform. The heterogeneous platform 120 can determine whether the number of subtasks in its own task queue is greater than its own preset task threshold. If it is greater, it can update its own status to busy. The monitoring / scheduling module 115 in the main controller 110 can monitor the status of each heterogeneous platform 120 in real time, send the status to the feedback module 116, and the feedback module 116 feeds it back to the task allocation module 112 and the task pool 113. The task pool 113 can move the order of the subtasks executed by this platform in the task execution linked list backward; and / or if a subtask can be executed by this heterogeneous platform and another heterogeneous platform with an idle status at the same time, the task allocation module can preferentially allocate another platform attribute to this subtask so that the heterogeneous platform with an idle status executes this subtask, thereby reducing the amount of tasks to be executed on the heterogeneous platform with a busy status.

[0028] According to the system provided by the present invention, by disassembling the job tasks and generating at least one task execution linked list in parallel according to the disassembled subtasks, and generating executable files for multiple heterogeneous platforms through at least one task execution linked list; it is possible to realize parallel invocation of multiple heterogeneous platforms, improve the working efficiency of the heterogeneous platforms and the resource utilization rate of the system.

[0029] Figure 2 The figure shows a flowchart of the implementation of a dynamic task scheduling method based on a heterogeneous reconfigurable system provided by an embodiment of the present invention. By way of example and not limitation, this method can be applied to the above system 100, and this method can include steps S201 - S206. The following is an explanation of each step.

[0030] S201, the main controller disassembles the job task and sorts the priorities of the disassembled subtasks to obtain the priority attributes of each subtask.

[0031] Specifically, step S201 can be executed by the preprocessing module 111 in the main controller 110.

[0032] Exemplarily, the operation tasks can be tasks such as detection, interference, and exploration released by the user.

[0033] In one example, before decomposing the operation task, the preprocessing module 111 can first read the status of the system 100 from the feedback module 116 to determine whether the previous operation task has been completed. If the previous operation task has been completed, the current operation task can be processed. If the previous operation has not been completed, wait until the previous operation task is completed before starting to process the current operation task.

[0034] In one example, the preprocessing module 111 can disassemble the operation task according to the task characteristics, so as to make the coupling degree between each divided subtask low and maintain a relatively simple input-output relationship, which is convenient for subsequent sorting out the dependency relationship between each subtask. At the same time, the preprocessing module 111 can also make a reasonable division according to the same or similar functions implemented by the operation task in different stages, so as to improve the task execution efficiency.

[0035] In one example, the preprocessing module 111 can integrate the subtasks to generate a task execution flow block diagram for the subtasks, and then sort the subtasks according to the task execution flow block diagram.

[0036] Exemplarily, if there is no dependency relationship between two subtasks, these two subtasks can be executed in parallel, and there is no directed edge connecting these two subtasks in the task execution flow block diagram. If there is a dependency relationship between two subtasks, these two subtasks can be sorted according to the dependency relationship, and there is a directed edge connecting these two subtasks in the task execution flow block diagram.

[0037] Optionally, the priority sorting can be performed according to the direction of the directed edge in the task execution flow block diagram.

[0038] For example, referring to Figure 3 , among subtasks 1 to 10, there is no dependency relationship between subtasks 1-5 and subtasks 6-10, and there is a dependency relationship within subtasks 1-5 and subtasks 6-10; then it can be sorted according to the task execution flow block diagram as follows: 1st priority: 1, 6; 2nd priority: 2, 7; 3rd priority: 3, 8; 4th priority: 4, 9; 5th priority: 5, 10.

[0039] Exemplarily, the priority attribute can be used to indicate the priority order of the subtasks. For example, the priority attribute of subtask 6 can be 2-1, indicating that it belongs to the first executable task in the second task sequence.

[0040] S202, the main controller assigns the platform attribute of the subtask according to the computing characteristics of the subtask.

[0041] Specifically, step S202 can be executed by the task allocation module 112 in the main controller 110.

[0042] In one example, the task allocation module 112 can allocate the platform attributes of subtasks according to the computing characteristics of the subtasks.

[0043] Exemplarily, the computing characteristics of the subtasks can be the computing types of the subtasks. For example, floating-point operations, Fast Fourier Transform (FFT) butterfly operations, matrix operations, etc. can be allocated to the heterogeneous platform Digital Signal Processor (DSP) module for execution. Phase modulation functions, Finite Impulse Response (FIR) filter banks, beamforming functions, etc. can be allocated to the heterogeneous platform Field Programmable Gate Array (FPGA) module for execution. Tasks such as target aggregation operations, monopulse angle measurement operations, signal sorting, etc. can be allocated to the heterogeneous platform ARM module for execution.

[0044] Exemplarily, the platform attributes of the subtasks can be used to indicate the heterogeneous platform for executing the subtasks.

[0045] For example, referring to Figure 3 , if subtask 1 can be executed by the heterogeneous platform numbered 121, i.e., the DSP module, the platform attribute of this subtask can be numbered 121 or directly the DSP module.

[0046] S203. The main controller generates at least one task execution linked list according to the platform attributes and priority attributes of all subtasks.

[0047] Specifically, step S203 can be executed by the task pool 113 in the main controller 110.

[0048] In one example, the task pool 113 can generate a task execution linked list according to a task execution flow block diagram.

[0049] For example, the task pool 113 can generate Figure 3 the task execution linked list in Figure 4 according to the task execution flow block diagram 301 in

[0050] At this time, the number of subtasks n in the task execution linked list is 5.

[0051] Optionally, the task pool 113 may feed back the real-time task execution linked list to the user interface.

[0052] S204. The main controller sequentially calls the standard components corresponding to the subtasks according to the order of the task execution linked list to compile the subtasks, and obtains the executable files of the subtasks.

[0053] Specifically, the task pool 113 may call the standard components in the standard library 114 to compile the subtasks.

[0054] In a possible implementation, multiple standard components may be stored in the standard library 114. One standard component is used to compile the same algorithm into multiple different formats of executable files according to the input parameters. For example, a standard component with the FFT algorithm function can compile the FFT algorithm into several executable files such as CPU, DSP, ARM, and FPGA. The standard library 114 may call the corresponding standard component according to the computing characteristics of the subtask, and then compile its executable file according to its platform attributes.

[0055] For example, if the platform attribute of subtask 1 is the DSP module and the computing characteristic is the FFT algorithm, the task pool 113 may call the standard component to compile the executable file in the DSP format for subtask 1 according to the input parameters of subtask 1.

[0056] In an example, see Figure 5 , the model of the standard component generally may consist of the basic attributes of the standard component and the function library of the standard component.

[0057] Exemplarily, the basic attributes of the standard component refer to the functions implemented by the standard component that developers can directly obtain from the description information. The basic attributes include the ID value of the standard component, the standard component name, the heterogeneous platforms that can be used, and the input and output parameters.

[0058] Exemplarily, the function library of the standard component is the specific implementation part, which may contain different types of function codes.

[0059] S205. The main controller sends the executable files of the subtasks to the task queue of the target platform corresponding to the subtasks.

[0060] Exemplarily, the target platform corresponding to the subtask may be the platform indicated by the platform attribute of the subtask.

[0061] For example, if the platform attributes of subtasks 1-5 are: DSP module, CPU module, CPU module, DSP module, FPGA module in sequence; then the executable files of subtasks 1-5 can be sent to: DSP module, CPU module, CPU module, DSP module, FPGA module in sequence. If the platform attributes of subtasks 6-10 are: CPU module, DSP module, CPU module, AMR module, FPGA module in sequence; then the executable files of subtasks 6-10 can be sent to: CPU module, DSP module, CPU module, AMR module, FPGA module in sequence.

[0062] S206, the heterogeneous platform executes the subtasks in the task queue.

[0063] Exemplarily, the subtasks in the task queue of the heterogeneous platform can also be arranged in the order of priority and the subtasks in the queue are executed in the order of priority. For example, the executable file of subtask 1 in the DSP module is before subtask 5. If the execution time of each subtask is the same, the DSP module and the CPU module can first execute subtask 1 and subtask 6 in parallel respectively, and then the CPU module and the DSP module execute subtask 2 and subtask 7 in parallel.

[0064] According to the method provided by the present invention, by disassembling the job tasks and generating at least one task execution linked list in parallel according to the disassembled subtasks, and generating executable files for multiple heterogeneous platforms through at least one task execution linked list; it can realize parallel invocation of multiple heterogeneous platforms, improve the working efficiency of the heterogeneous platforms and the resource utilization rate of the system.

[0065] Furthermore, since the traditional mapping scheme needs to pre-build a device-side kernel on the heterogeneous platforms in the system, and the host program is run on the main controller in the system to schedule the computing tasks to run on the device-side kernel. When the hardware architecture of the heterogeneous platform changes, a large number of modifications need to be made to the software such as the host program and the device-side kernel, which increases the development difficulty; and when there is a problem with the device-side kernel, professional technicians are also required to debug and improve it, with high human and material resources, affecting user experience. The present invention directly sets a standard library in the main controller and only compiles the executable files through the standard components in the standard library, which can improve the compilation efficiency of the executable files, avoid the data transmission process between the main controller and the heterogeneous platform, and reduce manual intervention to improve the intelligence of task execution; at the same time, it can avoid the kernel construction process of the heterogeneous platform and reduce the software development difficulty.

[0066] Meanwhile, by feeding the task execution flow chart and the task execution linked list back to the user interface, the visualization of the task execution process is enhanced; by means of the monitoring / calling module to detect the status of heterogeneous platforms and systems, the feedback module makes real-time adjustments in the system execution linked list based on the status of heterogeneous platforms and systems, which can improve the flexibility of scheduling; by implementing three signal processing functions such as detection, interference, and detection through one system, it enables the system to have functions of autonomous multi-task planning and automated deployment, and can shorten the overall operation time of the system.

[0067] In the above embodiments, the descriptions of the respective embodiments have their own emphases. For parts not detailed or recorded in a certain embodiment, reference may be made to the relevant descriptions of other embodiments.

Claims

1. A dynamic task scheduling method based on a heterogeneous reconfigurable system, characterized in that: The method is applied to a main controller in a heterogeneous reconfigurable system, and the method comprises: Decomposing the operation task and prioritizing the subtasks obtained by decomposing the task, and obtaining a priority attribute of each subtask, wherein the priority attribute is used to indicate the priority order of the subtasks; Allocating a platform attribute of the subtask according to the computing characteristics of the subtask, wherein the platform attribute is used to indicate a heterogeneous platform for executing the subtask; Generate at least one task execution linked list according to the platform attributes and priority attributes of all subtasks; In the order of the task execution linked list, the standard components corresponding to the subtasks are called in sequence to compile the subtasks to obtain executable files of the subtasks, wherein the standard components corresponding to the subtasks are determined according to the computing characteristics of the subtasks; The executable file of the subtask is sent to the task queue of the target platform corresponding to the subtask, so that the target platform corresponding to the subtask executes the subtask, wherein the target platform corresponding to the subtask is a heterogeneous platform indicated by the platform attribute of the subtask.

2. The method according to claim 1, characterized in that The priority sorting of the decomposed subtasks to obtain the priority attribute of each subtask includes: Integrate the subtasks to obtain at least one task execution flow chart; The subtasks are prioritized according to the task execution flow chart to obtain priority attributes of the subtasks.

3. The method according to claim 1, characterized in that The method further comprises: The priority order and / or platform attribute of the subtask is adjusted according to the state of the target platform corresponding to the subtask.

4. The method according to claim 2, characterized in that Before decomposing the task and prioritizing the subtasks obtained by decomposing the task to obtain the priority attribute of each subtask, the method further includes: Determine whether the system state is idle; The step of decomposing the task and prioritizing the subtasks obtained by decomposing the task to obtain the priority attribute of each subtask includes: If the system state is an idle state, the job task is disassembled and the subtasks obtained by the disassembly are prioritized to obtain a priority attribute of each of the subtasks.

5. The method according to claim 2, characterized in that: The method further comprises: Send a real-time task execution list and the task execution flow chart to the user.

6. A system, characterized in that: It includes a main controller and multiple heterogeneous platforms; the main controller includes a preprocessing module, a task allocation module, a task pool and a standard library, and the standard library stores multiple standard components; The preprocessing module is used to decompose the job task and prioritize the subtasks obtained by decomposing, so as to obtain a priority attribute of each subtask, wherein the priority attribute is used to indicate the priority order of the subtasks; The task allocation module is used to allocate platform attributes of the subtasks according to the computing characteristics of the subtasks, wherein the platform attributes are used to indicate the heterogeneous platform that executes the subtasks; The task pool is used to generate at least one task execution linked list according to the platform attributes and priority attributes of all subtasks; call the standard components corresponding to the subtasks in sequence according to the order of the task execution linked list to compile the subtasks to obtain executable files of the subtasks, wherein the standard components corresponding to the subtasks are determined according to the computing characteristics of the subtasks; send the executable files of the subtasks to the task queue of the target platform corresponding to the subtasks, wherein the target platform corresponding to the subtasks is a heterogeneous platform indicated by the platform attributes of the subtasks; The heterogeneous platform is used to execute the subtask according to the executable file.

7. The system according to claim 6, characterized in that The preprocessing module is specifically used for: Integrate the subtasks to obtain at least one task execution flow chart; The subtasks are prioritized according to the task execution flow chart to obtain priority attributes of the subtasks.

8. The system according to claim 7, characterized in that The heterogeneous platform is also used to retrieve whether the number of tasks in its own task queue exceeds a preset task threshold, and if the number of tasks exceeds the task threshold, update its own state to busy; Wherein, the main controller also includes a monitoring / calling module and a feedback module; The monitoring / calling module is used to obtain the status of the heterogeneous platform and send the status of the heterogeneous platform to the feedback module; The feedback module is used to adjust the priority order and / or platform attributes of the subtasks according to the state of the heterogeneous platform.

9. The system according to claim 7, characterized in that The preprocessing module is also used for: Determine whether the system state is idle; If the system state is an idle state, the job task is disassembled and the subtasks obtained by the disassembly are prioritized to obtain a priority attribute of each of the subtasks.

10. The system according to claim 7, characterized in that: The task allocation module is further used to send the task execution flow chart to the user, and the task pool is further used to send the real-time task execution linked list to the user.