Distributed heterogeneous software task scheduling sequence generation method based on multi-DAG

By merging and optimizing the DAG task map, we calculate key important levels, calculate costs and communication costs, and form a task scheduling sequence, solving the blockage and improper resource allocation problems of multi-task scheduling in heterogeneous environments, and achieving efficient task scheduling and system robustness.

CN120492104APending Publication Date: 2025-08-15COMPREHENSIVE TECH & ECONOMIC RES INST OF CHINA STATE SHIPBUILDING CORP
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202510532773.2
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-04-25
Publication Date
2025-08-15

AI Technical Summary

Technical Problem

In a heterogeneous environment, it is difficult for the existing technology to achieve reasonable scheduling of multitasking, resulting in the possible blockage of simulation systems and improper resource allocation.

Method used

By combining multiple sub-DAG task maps into total DAG task maps, the key important levels of the task are divided and quantified, the calculation cost and communication costs of the task nodes are calculated, and the task scheduling sequence is formed, and the scheduling sequence is optimized using linear normalization and weighting processing, and task scheduling is optimized by combining similarity analysis.

Benefits of technology

It effectively solves the problem of reasonable multi-task scheduling in heterogeneous environments, avoids blockage, timely discovers potential problems, optimizes the allocation of simulation node resources, and enhances system robustness.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120492104A_ABST
    Figure CN120492104A_ABST
Patent Text Reader

Abstract

The embodiment of the invention provides a multi-DAG-based distributed heterogeneous software task scheduling sequence generation method. The method comprises the following steps: merging a plurality of sub-DAG task graph sequences into a total DAG task graph; performing key importance level division on tasks in the total DAG task graph, and expressing the key importance level of each task node in a quantitative assignment form; calculating the quadratic variance of the calculation cost of each task node in the total DAG task graph; calculating the communication cost of each task node in the total DAG task graph; and forming a task scheduling sequence according to the key importance level of each task node in the total DAG task graph, the quadratic variance of the calculation cost and the communication cost. According to the embodiment of the invention, the problem of multi-task reasonable scheduling in a heterogeneous environment is effectively solved, blocking can be avoided, and potential problems possibly existing when a simulation system processes different task nodes can be found in time, so that simulation node resource allocation is better optimized, and the system robustness is enhanced.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the technical field of software reliability testing, and in particular to a method for generating a distributed heterogeneous software task scheduling sequence based on multiple DAGs. Background Art

[0002] Distributed heterogeneous software simulation test integrated scheduling technology can realize the organic and coordinated operation of actual combat situation and task simulation systems, embedded software simulation test systems, service-oriented software simulation test systems, and human-computer interaction intelligent simulation test systems, thereby completing automatic, real-time, and non-invasive closed-loop testing.

[0003] The combat situation environment and mission simulation system primarily provides target situation and mission simulation, action control equipment simulation, and detection and perception equipment simulation. The embedded software simulation test system primarily provides distributed scheduling control, automatic test report generation, real-time simulation testing, simulation model development, and software fault injection. The service-oriented software simulation test system primarily provides test data generation, test-driven execution, and state monitoring. The human-computer interaction intelligent simulation test system primarily provides intelligent recognition of human-computer interaction interfaces, test stimulus generation, test feedback processing, and optical character recognition (OCR) image recognition.

[0004] Task scheduling uses test tasks as the basic unit of scheduling. First, a test task is selected from the test task queue based on its priority. The corresponding test execution module is then called to execute the test task. The test task is then assigned to the corresponding simulation nodes in the combat situation and mission simulation system, the embedded software simulation test system, the service-oriented software simulation test system, and the human-computer interaction intelligent simulation test system. Each simulation test system consists of multiple simulation nodes. For different test tasks, the running conditions of the high-priority test tasks are met first, allowing them to execute as soon as possible. This process continues until all tasks in the test task queue are completed.

[0005] The scheduling order of each DAG and the scheduling order between tasks within each DAG become the key to studying the task scheduling problem. In order to solve the multi-task scheduling problem in a heterogeneous environment, it is necessary to study the heterogeneous processor environment and the multi-task scheduling problem. Summary of the Invention

[0006] In view of the above problems existing in the prior art, an embodiment of the present invention provides a method for generating a distributed heterogeneous software task scheduling sequence based on multiple DAGs to solve the technical problem of reasonable scheduling of multiple tasks in a heterogeneous environment existing in the prior art.

[0007] An embodiment of the present invention provides a method for generating a distributed heterogeneous software task scheduling sequence based on multiple DAGs, comprising the following steps:

[0008] Step S1, merging multiple sub-DAG task graph sequences into a total DAG task graph;

[0009] Step S2: Divide the tasks in the overall DAG task graph into critical importance levels and express the critical importance level of each task node in the form of quantitative assignment;

[0010] Step S3, calculating the quadratic variance of the computational cost of each task node in the total DAG task graph;

[0011] Step S4, calculating the communication cost of each task node in the total DAG task graph;

[0012] Step S5: forming a task scheduling sequence according to the critical importance level, the quadratic variance of the computational cost, and the communication cost of each task node in the overall DAG task graph.

[0013] In one embodiment, the step S5 specifically includes:

[0014] Step S51, performing linear normalization processing on the critical importance level, quadratic variance of computation cost, and communication cost of each task node in the total DAG task graph;

[0015] Step S52 , weighting the normalized critical importance level, the quadratic variance of the computational cost, and the communication cost to calculate a comprehensive ranking value, and sorting the tasks according to the comprehensive ranking value to form a task scheduling sequence.

[0016] In one embodiment, the step S5 further includes:

[0017] In step S53, a similarity analysis is performed on each task node in the overall DAG task graph, and the task scheduling sequence formed in step S52 is optimized using the similarity analysis result to form an optimized task scheduling sequence.

[0018] In one embodiment, the step S1 specifically includes:

[0019] Step S11, setting a total entry node and a total exit node, wherein the total entry node is the parent node of all root nodes in each original sub-DAG task graph, and the total exit node is the child node of all leaf nodes in each original sub-DAG task graph;

[0020] Step S12: determining the communication cost between the newly added node and its connected nodes.

[0021] In one embodiment, the communication cost from the total entry node to all root nodes in each sub-DAG task graph is a constant of one, and the constant of one is smaller than the communication cost between any two adjacent nodes in the original sub-DAG task graph.

[0022] In one embodiment, the communication cost from the total exit node to all leaf nodes in each sub-DAG task graph is a constant of two, and the constant of two is the same as the constant of one.

[0023] In one embodiment, in step S4, the communication cost of each task node is the sum of the corresponding communication costs of all ingress edges and egress edges of each task node.

[0024] In one embodiment, in step S52 , the sum of the normalized critical importance level, the quadratic variance of the computational cost, and the weight coefficient of the communication cost is 100%.

[0025] In one embodiment, in step S53, the similarity analysis is determined by the degree of overlap of simulation nodes required by corresponding task nodes.

[0026] Compared with the existing technology, the beneficial effect of the distributed heterogeneous software task scheduling sequence generation method based on multi-DAG provided by the embodiment of the present invention is that: the embodiment of the present invention effectively solves the problem of reasonable scheduling of multiple tasks in a heterogeneous environment, which can not only avoid blocking, but also timely discover potential problems that may exist in the simulation system when processing different task nodes, so as to better optimize the simulation node resource allocation and enhance the system robustness. BRIEF DESCRIPTION OF THE DRAWINGS

[0027] Figure 1 A schematic diagram of DAG1 involved in a method for generating a distributed heterogeneous software task scheduling sequence based on multiple DAGs provided in an embodiment of the present invention;

[0028] Figure 2 A schematic diagram of DAG2 involved in a method for generating a distributed heterogeneous software task scheduling sequence based on multiple DAGs provided in an embodiment of the present invention;

[0029] Figure 3 A schematic diagram of DAG3 involved in a method for generating a distributed heterogeneous software task scheduling sequence based on multiple DAGs provided in an embodiment of the present invention. DETAILED DESCRIPTION

[0030] In order to enable those skilled in the art to better understand the technical solution of the present invention, the present invention is described in detail below with reference to the accompanying drawings and specific embodiments.

[0031] Various aspects and features of the present application are described herein with reference to the accompanying drawings.

[0032] These and other characteristics of the present application will become apparent from the following description of a preferred form of embodiment given as a non-limiting example with reference to the accompanying drawings.

[0033] It should also be understood that although the present application has been described with reference to certain specific examples, those skilled in the art will be able to implement many other equivalent forms of the present application that have the features described in the claims and are therefore within the scope of protection defined thereby.

[0034] The above and other aspects, features and advantages of the present application will become more apparent from the following detailed description when taken in conjunction with the accompanying drawings.

[0035] Specific embodiments of the present application will be described below with reference to the accompanying drawings; however, it should be understood that the embodiments described are merely examples of the present application and may be implemented in a variety of ways. Familiar and / or repetitive functions and structures are not described in detail to clarify the true intent based on the user's historical operations and to avoid obscuring the present application with unnecessary or redundant details. Therefore, the specific structural and functional details described herein are not intended to be limiting, but rather serve merely as a basis and representative basis for the claims to teach those skilled in the art to use the present application in a variety of ways with substantially any appropriate detailed structure.

[0036] This specification may use the phrases "in one embodiment," "in another embodiment," "in a further embodiment," or "in other embodiments," which may all refer to one or more of the same or different embodiments according to the present application.

[0037] The principles and features of the present invention are described below with reference to the accompanying drawings. The embodiments are only used to explain the present invention and are not intended to limit the scope of the present invention. Figure 1-3 , the preferred embodiments of the present invention are further described in detail:

[0038] An embodiment of the present invention provides a method for generating a distributed heterogeneous software task scheduling sequence based on multiple DAGs, comprising the following steps:

[0039] Step S1, merging multiple sub-DAG task graph sequences into a total DAG task graph, said step S1 specifically includes,

[0040] Step S11, setting a total entry node and a total exit node, wherein the total entry node is the parent node of all root nodes in each original sub-DAG task graph, and the total exit node is the child node of all leaf nodes in each original sub-DAG task graph;

[0041] Step S12: Determine the communication cost between the newly added node and its connected nodes. The specific determination principle is as follows: the communication cost from the total entry node to all root nodes in each sub-DAG task graph is a constant of one, and the constant of one is less than the communication cost between any two adjacent nodes in the original sub-DAG task graph; the communication cost from the total exit node to all leaf nodes in each sub-DAG task graph is a constant of two, and the constant of two is the same as the constant of one; and in the total DAG task graph obtained by merging the sub-DAG task graphs, the communication cost between each task node is of the same dimension;

[0042] Step S2: Divide the tasks in the overall DAG task graph into critical importance levels and express the critical importance level of each task node in the form of quantitative assignment. In the field of software testing, it is necessary to quantify the critical importance level of the tasks according to the critical importance level of the tasks agreed in the input software requirement specification document (in the scenario without other special requirements, it is generally the case that critical tasks are executed first, then important tasks, and finally general tasks). The higher the value, the more important the task. For example, a critical task can be assigned a value of 3, an important task can be assigned a value of 2, and a general task can be assigned a value of 1.

[0043] Step S3, calculating the quadratic variance of the computational cost of each task node in the total DAG task graph, where the computational cost is represented by the execution time of the task node on the simulation node. The specific steps include:

[0044] Step S31, calculate task node T i In m heterogeneous simulation nodes {P1, P2, ...P m}, where P i Represents the i-th simulation node in a distributed heterogeneous environment. Each simulation node has a certain computing capability. At this time, the computing task node T i Average execution time on m heterogeneous simulation nodes Calculated by the following formula,

[0045]

[0046] Among them, ET i,j Represents the i-th task node T in the total DAG task graph i Execution time on the jth simulation node;

[0047] Step S32, calculate task node T i In m heterogeneous simulation nodes {P1, P2, ...P m}Calculate the quadratic variance D of the cost,

[0048]

[0049] By quantifying the degree of discreteness, variance can provide an intuitive balanced evaluation for the scheduling algorithm. Variance can quantify the computational cost of each task node on each distributed heterogeneous simulation node. The larger the variance value, the higher the degree of deviation of the computational cost from the mean, the longer the overall occupation time of the simulation node, and the more unpredictable the system behavior. The variance of the computational cost is used as one of the measurement indicators for task scheduling. At the same time, the tasks are ranked in combination with the task critical importance level and the communication cost indicator. The embodiment of this method mainly considers the following two aspects:

[0050] First, the greater the variance of the computational cost of a task node, the greater the difference in the scheduling time of the task node on different simulation nodes. Giving the task a higher priority can avoid blocking. If there is a problem, simulation node resources can be allocated in a timely manner.

[0051] Second, this method embodiment is applicable to the field of software testing. During the software testing process, problems in tasks need to be discovered as early as possible. A sudden increase in variance may indicate a system abnormality. Therefore, tasks with large variance need to be executed first to expose potential problems as early as possible.

[0052] Step S4: Calculate the communication cost of each task node in the total DAG task graph. The communication cost of each task node is the sum of the corresponding communication costs of all entry edges and exit edges of each task node. The specific steps are as follows:

[0053] According to the merged total DAG task graph, a communication cost relationship matrix C is formed. The communication cost of each task node is calculated according to the communication cost relationship matrix. The task nodes are sorted according to the communication cost of each task node, and the task nodes with large communication costs are scheduled first. The definition of the communication cost relationship matrix C is as follows:

[0054] ① If task node i is the predecessor node of task node j, then the matrix element d i,j =c i,j ;

[0055] ② If there is no dependency between task node i and task node j, then the matrix element d i,j =0;

[0056] ③Due to the dependency between nodes in the DAG task graph, when i≥j, d i,j =0;

[0057] Among them, c i,j represents the communication cost between task node i and its child task node j, c i,j Describes the communication cost between task nodes in the DAG task graph. When there is no dependency between task nodes in the DAG task graph, c i,j =0, otherwise, ci,j is the communication cost between two task nodes. At this time, task node T i The communication cost C i The calculation formula is as follows,

[0058] C i =∑input+∑output

[0059] Among them, ∑input represents the task node T in the DAG task graph i The sum of all corresponding entry edge values, i.e., the sum of entry communication costs;

[0060] ∑output represents the task node T in the DAG task graph i The sum of all corresponding export edge values, that is, the sum of export communication costs;

[0061] Step S5, forming a task scheduling sequence according to the critical importance level, quadratic variance of the computational cost, and the communication cost of each task node in the total DAG task graph;

[0062] Among them, in step S5, the critical importance level, the quadratic variance of the computational cost, and the communication cost of each task node in the total DAG task graph can be directly summed, and then the task scheduling sequence can be formed by sorting according to the summed value. On this basis, in order to eliminate the interference caused by the different proportions of each measurement indicator in the final sorting result due to the size of the critical importance level, the quadratic variance of the computational cost, and the communication cost itself, so that each measurement indicator has a basically balanced sorting influence, in one embodiment, step S5 specifically includes:

[0063] Step S51, linear normalization is performed on the critical importance level, quadratic variance of computational cost, and communication cost of each task node in the total DAG task graph. The normalization formula is as follows:

[0064]

[0065] Where X represents the raw data value of any metric (criticality level, quadratic variance of computational cost, or communication cost);

[0066] X min Represents the minimum value among the raw data values of any metric (criticality level, quadratic difference of computational cost, or communication cost);

[0067] X max The maximum value among the raw data values of any metric (criticality level, quadratic difference of computational cost, or communication cost);

[0068] X normThe normalized value of the raw data of any metric (criticality level, quadratic variance of computational cost, or communication cost);

[0069] Step S52, weighting the normalized critical importance level, the quadratic variance of the calculation cost, and the communication cost to calculate a comprehensive ranking value, and sorting them in reverse order according to the comprehensive ranking value to form a task scheduling sequence. By introducing weight coefficients, different ranking influences can be given to different measurement indicators. First, it is necessary to determine the weight coefficients corresponding to the normalized critical importance level, the quadratic variance of the calculation cost, and the communication cost. In the embodiment of the present invention, a subjective weight coefficient assignment method is adopted based on professional field experience. Moreover, the sum of the weight coefficients of the normalized critical importance level, the quadratic variance of the calculation cost, and the communication cost in the embodiment of the present invention is 100%. The specific calculation formula is as follows:

[0070] S i =αI i +βD i +γC i

[0071] Among them, S i Represents task node T i The comprehensive ranking value of

[0072] α represents the task node T i The weight coefficient of the key importance level;

[0073] β represents the task node T i The weight coefficient of the computational cost;

[0074] γ represents the task node T i The weight coefficient of the communication cost;

[0075] I i Represents task node T i The normalized value of the critical importance level;

[0076] D i Represents task node T i The normalized value of the quadratic variance of the computational cost;

[0077] C i Represents task node T i The normalized value of the communication cost;

[0078] Of course, based on the above embodiment, the initially formed scheduling sequence can also be optimized and adjusted. In this case, step S5 further includes:

[0079] Step S53: Perform similarity analysis on each task node in the total DAG task graph, and use the similarity analysis results to optimize the task scheduling sequence formed in step S52 to form an optimized task scheduling sequence. The similarity analysis is determined by the degree of overlap of the simulation nodes required by the corresponding task nodes. The specific operations are as follows:

[0080] First, the similarity of task nodes is analyzed to form a task similarity matrix, and a task similarity threshold is set. Task nodes with similarity greater than the threshold are sorted adjacently, and the preliminary task scheduling sequence results are optimized to form the final task scheduling sequence. Task similarity is determined based on the degree of overlap of simulation nodes required by the task node. For tasks with high overlap, task sorting is optimized.

[0081] ①Analyze the degree of overlap of simulation nodes required by task nodes:

[0082] The definition of node overlap is as follows:

[0083]

[0084] Among them, overlap(task1, task2) represents the overlap between task node 1 and task node 2;

[0085] Nodes(task1) represents the simulation nodes contained in task node 1;

[0086] Nodes(task1) represents the simulation nodes contained in task node 2;

[0087] Nodes(task1)∩Nodes(task2) represents the number of simulation nodes that overlap between task nodes 1 and task nodes 2;

[0088] |Nodes(task1)|: indicates the number of simulation nodes contained in task node 1;

[0089] |Nodes(task2)|: indicates the number of simulation nodes contained in task node 2;

[0090] min(|Nodes(task1)|, |Nodes(task2)|): indicates the minimum value of the simulation node data contained in task node 1 and task node 2;

[0091] ②Forming a task similarity matrix

[0092] The task similarity matrix is defined as follows: for n task nodes, the task similarity matrix A is an n×n symmetric matrix, where the diagonal elements A[i][i]=1 (task similarity itself), and the off-diagonal elements A[i][j]∈[0,1] represent the overlap between tasks i and j.

[0093] Example 1

[0094] The following takes two DGA task graphs as an example, combined with the attached Figure 1-3 The specific implementation method of the task scheduling process in a distributed heterogeneous environment is described.

[0095] Step S1: merge the two sub-DAG task graphs (DAG1 and DAG2) into a total DAG task graph (DAG3), as shown in Figure 1-3 As shown, DAG1 has 5 task nodes, DAG2 has 5 task nodes, the edges between task nodes represent the communication between tasks, and the numbers marked on the edges represent the communication cost c between task nodes. i,j , the entry task node of DAG1 is a1, and the exit task node is a5; the entry task node of DAG2 is b1, and the exit task node is b5;

[0096] DAG1 and DAG2 are merged together by adding an entry task node and an exit task node to generate a new DAG task graph (DAG3), which retains the relationship, communication cost, and execution cost between the remaining task nodes in DAG1 and DAG2.

[0097] The new DAG after the merger is as follows Figure 3 As shown, the steps of merging are:

[0098] ① Add an entry task node a0, connect it to the entry task nodes a1 and b1 of DAG1 and DAG2 respectively, and set the communication cost to 1; the execution time of task node a0 on each simulation node is 1;

[0099] ② Add an exit task node b0, connect it to the exit task nodes a5 and b5 of DAG1 and DAG2 respectively, and set the communication cost to 1; the execution time of task node b0 on each simulation node is 1;

[0100] Step S2: The task nodes in DAG3 are divided into key importance levels and the key importance level of each task node is expressed in the form of quantitative assignment. The specific results are shown in Table 1 below.

[0101] Table 1 Quantitative results of mission critical importance levels

[0102] Task a0 a1 a2 a3 a4 a5 b1 b2 b3 b4 b5 b0 Critical Importance Level - key important generally important key generally generally important key key - Quantized value - 3 2 1 2 3 1 1 2 3 3 -

[0103] Step S3, calculating the quadratic variance of the computational cost of each task node in the total DAG3;

[0104] Typically, actual combat situation and task simulation systems, embedded software simulation test systems, service-oriented software simulation test systems, and human-computer interaction intelligent simulation test systems all include multiple simulation nodes. In this embodiment, in order to simplify calculations, the actual combat situation and task simulation system, embedded software simulation test system, and service-oriented software simulation test system are set to include only one simulation node.

[0105] Tables 2 and 3 below show the computational cost (scheduling time) ET of different task nodes in DAG1 and DAG2 on different simulation nodes. i,j Among them, simulation node P1 belongs to the actual combat situation and task simulation system, simulation node P2 belongs to the embedded software simulation test system, and simulation node P3 belongs to the service-oriented software simulation test system.

[0106] Table 2 Computational cost of DAG1 task set on simulation nodes

[0107] Task <![CDATA[P1]]> <![CDATA[P2]]> <![CDATA[P3]]> <![CDATA[a1]]> 10 7 8 <![CDATA[a2]]> 11 9 7 <![CDATA[a3]]> 9 8 13 <![CDATA[a4]]> 7 7 9 <![CDATA[a5]]> 11 20 6

[0108] Table 3 Computational cost of DAG2 task set on simulation nodes

[0109] Task <![CDATA[P1]]> <![CDATA[P2]]> <![CDATA[P3]]> <![CDATA[b1]]> 11 20 4 <![CDATA[b2]]> 19 19 18 <![CDATA[b3]]> 15 13 16 <![CDATA[b4]]> 13 6 18 <![CDATA[b5]]> 14 23 15

[0110] The computational cost of the task node after merging Table 2 and Table 3 on the simulation node is shown in Table 4.

[0111] Table 4 Execution cost of the merged DAG task set on the simulation node

[0112] Task <![CDATA[P1]]> <![CDATA[P2]]> <![CDATA[P3]]> <![CDATA[a0]]> 1 1 1 <![CDATA[a1]]> 10 7 8 <![CDATA[b1]]> 11 20 4 <![CDATA[a2]]> 11 9 7 <![CDATA[a3]]> 9 8 13 <![CDATA[b2]]> 19 19 18 <![CDATA[b3]]> 15 13 16 <![CDATA[b4]]> 13 6 18 <![CDATA[a4]]> 7 7 9 <![CDATA[a5]]> 11 20 6 <![CDATA[b5]]> 14 23 15

[0113] Next, according to Table 4, the average execution time of task nodes a0, a1, b1, a2, a3, b2, b3, b4, a4, a5, b5, and b0 in the simulation nodes are calculated as follows: 1, 25 / 3, 35 / 3, 9, 10, 56 / 3, 44 / 3, 37 / 3, 23 / 3, 37 / 3, 52 / 3, 1 respectively.

[0114] Afterwards, the quadratic variance of the computational cost of each task node on the simulation node is calculated as shown in the following table:

[0115] Table 5 Quadratic variance of the computation cost of each task node

[0116] Task <![CDATA[a0]]> <![CDATA[a1]]> <![CDATA[a2]]> <![CDATA[a3]]> <![CDATA[a4]]> <![CDATA[a5]]> <![CDATA[b1]]> <![CDATA[b2]]> <![CDATA[b3]]> <![CDATA[b4]]> <![CDATA[b5]]> <![CDATA[b0]]> variance - 14 / 9 8 / 3 14 / 3 8 / 9 302 / 9 386 / 9 2 / 9 14 / 9 218 / 9 146 / 9 -

[0117] Step S4, calculating the communication cost of each task node in the total DAG task graph;

[0118] Establish a communication cost matrix: Based on DAG3, generate the corresponding communication cost relationship matrix between task nodes, as shown in the following table.

[0119] Table 6 Communication cost relationship matrix

[0120]

[0121] According to Table 6, the communication cost of each task node is shown in Table 7.

[0122] Table 7 Communication cost of each task node

[0123] Task <![CDATA[a0]]> <![CDATA[a1]]> <![CDATA[a2]]> <![CDATA[a3]]> <![CDATA[a4]]> <![CDATA[a5]]> <![CDATA[b1]]> <![CDATA[b2]]> <![CDATA[b3]]> <![CDATA[b4]]> <![CDATA[b5]]> <![CDATA[b0]]> communication cost - 14 18 11 25 10 29 14 24 13 24 -

[0124] Step S5: A task scheduling sequence is formed based on the critical importance level, quadratic variance of the computational cost, and communication cost of each task node in DAG3. Typically, the order of task scheduling within the same DAG must follow the sequence of executing the entry node first, then all predecessor nodes of the current node, and finally the exit task node to complete the execution of all tasks. In this embodiment of the present invention, due to simulation scenario considerations and solely to expose potential problems that may exist in each task node during the simulation process, the input between each task node in the same DAG is pre-set to no longer depend on the output of the predecessor task node. Inputs are pre-set for all task nodes in order to more quickly achieve scheduling simulation testing of each task node.

[0125] Step S51: Linearly normalize the critical importance level, quadratic variance of computational cost, and communication cost of each task node in DAG3.

[0126] The original values of the critical importance level, quadratic variance of computational cost, and communication cost of each task node in DAG3 are shown in Table 8.

[0127] Table 8 Original values of key importance levels, computational costs, and communication cost indicators

[0128] Task <![CDATA[a0]]> <![CDATA[a1]]> <![CDATA[a2]]> <![CDATA[a3]]> <![CDATA[a4]]> <![CDATA[a5]]> <![CDATA[b1]]> <![CDATA[b2]]> <![CDATA[b3]]> <![CDATA[b4]]> <![CDATA[b5]]> <![CDATA[b0]]> Critical Importance Level - 3 2 1 2 3 1 1 2 3 5 - Calculate the cost - 14 / 9 8 / 3 14 / 3 8 / 9 302 / 9 386 / 9 2 / 9 14 / 9 218 / 9 146 / 9 - communication cost - 14 18 11 25 10 29 14 24 13 24 -

[0129] Table 9 Normalization results of key importance level, computational cost, and communication cost indicators

[0130]

[0131] Step S52: performing weighted processing on the normalized critical importance level, the quadratic variance of the computational cost, and the communication cost to calculate a comprehensive ranking value, and performing reverse sorting according to the comprehensive ranking value to form a task scheduling sequence;

[0132] Set the critical importance level weight coefficient to 0.4, the calculation cost weight coefficient to 0.3, and the communication cost weight coefficient to 0.3. At this time,

[0133] Comprehensive ranking value = 0.4 * critical importance level + 0.3 * calculation cost + 0.3 * communication cost;

[0134] Table 10 Comprehensive ranking value after task weighting

[0135] Task <![CDATA[a0]]> <![CDATA[a1]]> <![CDATA[a2]]> <![CDATA[a3]]> <![CDATA[a4]]> <![CDATA[a5]]> <![CDATA[b1]]> <![CDATA[b2]]> <![CDATA[b3]]> <![CDATA[b4]]> <![CDATA[b5]]> <![CDATA[b0]]> Comprehensive ranking value - 0.272 0.243 0.047 0.342 0.434 0.6 0.063 0.330 0.416 0.734 -

[0136] Get the initial task sequence Rank[n] = {a0, b5, b1, a5, b4, a4, b3, a1, a2, b2, a3, b0};

[0137] Step S53: Perform similarity analysis on each task node in DAG3, and optimize the task scheduling sequence formed in step S52 using the similarity analysis results to form an optimized task scheduling sequence;

[0138] In this embodiment, the simulation nodes required by the task nodes are all the same simulation nodes. Therefore, this embodiment does not need to consider the task similarity to optimize the initial sequence. Therefore, the obtained initial task sequence is the final task sequence. Based on this, the final task sequence is Rank[n].

[0139] Task sequence Rank[n] = {a0, b5, b1, a5, b4, a4, b3, a1, a2, b2, a3, b0}, where task a0 is the scheduling entry and task b0 is the last scheduled task. Tasks are scheduled in the order of a0 first, then b5, and finally b0.

[0140] The following will illustrate how to optimize the task sequence through additional embodiments.

[0141] When the simulation nodes required by the task nodes are different, the initial task sequence is optimized according to step S53.

[0142] For example, if there are the following 4 task nodes, the number of simulation nodes required by the task nodes and the required simulation nodes are shown in the following table:

[0143] Table 11 Simulation nodes required for task nodes

[0144] Task Number of simulation nodes Simulation nodes required for the task Task1 3 P1, P2, P4 Task 2 4 P2,P3,P4,P6 Task 3 3 P1, P3, P5 Task 4 2 P3,P4

[0145] At this time, the task similarity matrix is,

[0146] Table 12 Task similarity matrix

[0147]

[0148] For example, if the initial task sequence is known to be: Task3, Task2, Task1, Task4, and the similarity threshold is set to 50%, the optimized task sequence is: Task3, Task4, Task2, Task1.

[0149] The above embodiments are merely exemplary embodiments of the present invention and are not intended to limit the scope of the present invention. The scope of protection of the present invention is defined by the claims. Those skilled in the art may make various modifications or equivalent substitutions to the present invention within the spirit and scope of protection of the present invention, and such modifications or equivalent substitutions shall also be deemed to fall within the scope of protection of the present invention.

Claims

1. A method for generating distributed heterogeneous software task scheduling sequences based on multiple DAGs, characterized in that: The steps include: Step S1, merging multiple sub-DAG task graph sequences into a total DAG task graph; Step S2: Divide the tasks in the overall DAG task graph into critical importance levels and express the critical importance level of each task node in the form of quantitative assignment; Step S3, calculating the quadratic variance of the computational cost of each task node in the total DAG task graph; Step S4, calculating the communication cost of each task node in the total DAG task graph; Step S5: forming a task scheduling sequence according to the critical importance level, quadratic variance of the computational cost, and communication cost of each task node in the overall DAG task graph.

2. The method for generating a distributed heterogeneous software task scheduling sequence based on multiple DAGs according to claim 1, characterized in that: The step S5 specifically includes: Step S51, performing linear normalization processing on the critical importance level, quadratic variance of computation cost, and communication cost of each task node in the total DAG task graph; Step S52 , weighting the normalized critical importance level, the quadratic variance of the computational cost, and the communication cost to calculate a comprehensive ranking value, and sorting the tasks according to the comprehensive ranking value to form a task scheduling sequence.

3. The method for generating a distributed heterogeneous software task scheduling sequence based on multiple DAGs according to claim 2, characterized in that: The step S5 further includes: In step S53, a similarity analysis is performed on each task node in the overall DAG task graph, and the task scheduling sequence formed in step S52 is optimized using the similarity analysis result to form an optimized task scheduling sequence.

4. The method for generating a distributed heterogeneous software task scheduling sequence based on multiple DAGs according to claim 1, characterized in that: The step S1 specifically includes: Step S11, setting a total entry node and a total exit node, wherein the total entry node is the parent node of all root nodes in each original sub-DAG task graph, and the total exit node is the child node of all leaf nodes in each original sub-DAG task graph; Step S12: determining the communication cost between the newly added node and its connected nodes.

5. The method for generating a distributed heterogeneous software task scheduling sequence based on multiple DAGs according to claim 4, characterized in that: The communication cost from the total entry node to all root nodes in each sub-DAG task graph is a constant of one, and the constant of one is less than the communication cost between any two adjacent nodes in the original sub-DAG task graph.

6. The method for generating a distributed heterogeneous software task scheduling sequence based on multiple DAGs according to claim 5, characterized in that: The communication cost from the total exit node to all leaf nodes in each sub-DAG task graph is a constant of two, and the constant of two is the same as the value of the constant of one.

7. The method for generating a distributed heterogeneous software task scheduling sequence based on multiple DAGs according to claim 1, characterized in that: In step S4, the communication cost of each task node is the sum of the corresponding communication costs of all ingress edges and egress edges of each task node.

8. The method for generating a distributed heterogeneous software task scheduling sequence based on multiple DAGs according to claim 2, characterized in that: In step S52, the sum of the normalized critical importance level, the quadratic variance of the computational cost, and the weight coefficient of the communication cost is 100%.

9. The method for generating a distributed heterogeneous software task scheduling sequence based on multiple DAGs according to claim 3, characterized in that: In step S53, the similarity analysis is determined by the degree of overlap of the simulation nodes required by the corresponding task nodes.