CN117610320B - Directed acyclic graph workflow engine cyclic scheduling method, device and equipment - Google Patents

Directed acyclic graph workflow engine cyclic scheduling method, device and equipment Download PDF

Info

Publication number
CN117610320B
CN117610320B CN202410094252.9A CN202410094252A CN117610320B CN 117610320 B CN117610320 B CN 117610320B CN 202410094252 A CN202410094252 A CN 202410094252A CN 117610320 B CN117610320 B CN 117610320B
Authority
CN
China
Prior art keywords
node
execution
workflow
loop
circulation
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202410094252.9A
Other languages
Chinese (zh)
Other versions
CN117610320A (en
Inventor
张为华
王东辉
高经伟
马帅超
周奇
武泽平
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
National University of Defense Technology
Original Assignee
National University of Defense Technology
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by National University of Defense Technology filed Critical National University of Defense Technology
Priority to CN202410094252.9A priority Critical patent/CN117610320B/en
Publication of CN117610320A publication Critical patent/CN117610320A/en
Application granted granted Critical
Publication of CN117610320B publication Critical patent/CN117610320B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N7/00Computing arrangements based on specific mathematical models
    • G06N7/01Probabilistic graphical models, e.g. probabilistic networks
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Probability & Statistics with Applications (AREA)
  • Algebra (AREA)
  • Geometry (AREA)
  • Computational Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Computer Hardware Design (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

The method establishes a workflow sub-flow cyclic scheduling processing mode for realizing a strategy by taking a cyclic start node and a cyclic end node as cyclic structures based on a goto idea in a structured programming language by splitting a single cyclic node into two interrelated logic nodes, and maintains the relative independence of each task in the flow while retaining a general workflow engine bottom layer directed acyclic graph data structure. The system development difficulty is effectively avoided, the execution capacity of the loop structure is exerted to the greatest extent, the problem that the execution performance of the process is greatly influenced due to the excessive loop body is avoided, and the situation that the loops are mutually nested in the workflow is also realized.

Description

Directed acyclic graph workflow engine cyclic scheduling method, device and equipment
Technical Field
The invention belongs to the technical field of data processing, and relates to a method, a device and equipment for circularly scheduling a directed acyclic graph workflow engine.
Background
The optimal design flow engine is a design auxiliary system, and is a multi-disciplinary optimal design large-scale flow scheduling engine, also can be called a workflow engine, and the solving process of the optimal problem is completed by executing each computing node in the flow according to the user design sequence or in parallel or one by one. Various sequence structures, branch selection structures, circulation structures, start and end marks and the like in the flow are necessary components for forming the executable optimization design flow, and are the basis for forming the optimization problem exploration flow. Because the flow scheduling engine generally takes sequential scheduling as a main part, and generally adopts a directed acyclic graph DAG as a basic data structure for flow construction and flow bottom operation, the sequential structure, branch selection and other acyclic structures can be well realized in the DAG, but the directed acyclic graph becomes a hindrance to system function realization similar to a cyclic structure and other annular node scheduling needs, and the cyclic logic structure is too complex, so that the technical problem of insufficient execution performance of flow scheduling exists.
Disclosure of Invention
Aiming at the problems existing in the traditional method, the invention provides a directed acyclic graph workflow engine circulation scheduling method, a directed acyclic graph workflow engine circulation scheduling device and computer equipment, and the method and the device can greatly improve the flow scheduling execution performance comprising a complex circulation structure on the basis of not changing the basic data structure of a workflow scheduling system.
In order to achieve the above object, the embodiment of the present invention adopts the following technical scheme:
in one aspect, a directed acyclic graph workflow engine cycle scheduling method is provided, including the steps of:
when the multidisciplinary optimization design workflow starts to execute, the workflow is parsed into a directed acyclic graph; the circulating body in the workflow is resolved into a circulating start node and a circulating end node which are mutually related;
loading executable computing nodes one by one according to the analyzed directed acyclic graph, converting the states of the computing nodes into executable states and placing the executable states in a node execution ready queue;
executing each computing node one by one from a node execution ready queue by using the same calling logic for each computing node through a node executor; if the loop starting node is encountered, starting execution of loop scheduling logic;
after the current computing node of the workflow is executed, synchronously storing the output data of the computing node into a task instance data table of a database; the method comprises the steps of storing execution times information after the execution of a circulating body is finished;
when the current computing node finishes executing, a node executing completion event is sent out; the node execution completion event comprises unique identification information of the ending node;
and finding out the next computing node to continue to execute the scheduling processing according to the unique identification information of the ending node and the directed acyclic graph until the workflow is executed.
In one embodiment, the method further comprises the steps of:
constructing a workflow to be executed in a front-end interface of a workflow engine, and setting a data transfer relation and a data transfer direction between nodes in the workflow according to the inter-node dependency relation;
and storing the constructed workflow to a back-end flow database of the workflow engine.
In one embodiment, a process for starting execution of round robin scheduling logic includes:
determining node execution operation and cycle condition judgment operation according to the cycle type recorded in the cycle starting node;
if the circulation type is a while type circulation, performing a circulation condition judgment operation;
if the loop condition judging operation is true, executing the following nodes of the loop starting nodes in the directed acyclic graph.
In one embodiment, if the cycle type is a while type cycle, the step of performing the cycle condition determining operation further includes:
if the circulation condition judging operation is false, directly skipping to execute the circulation ending node corresponding to the circulation ending node unique identification information according to the circulation ending node unique identification information recorded in the circulation starting node, and completing the execution of the circulation body.
In one embodiment, the process of starting execution of the round robin scheduling logic further includes:
if the cycle type is the do-while type cycle, ending the execution of the cycle start node and transferring to a subsequent node executing the cycle start node in the directed acyclic graph;
after the circulation body performs one-time execution, performing circulation condition judgment operation in a circulation ending node;
if the loop condition judging operation is true, loading the loop starting node into the node execution ready queue again, and triggering the re-execution of the loop body.
In one embodiment, after the step of performing the loop condition determining operation in the loop ending node after the loop body performs one time, the method further includes:
if the loop condition judging operation is false, ending the loop executing operation of the loop body and jumping to the execution of the next computing node.
In another aspect, a directed acyclic graph workflow engine cycle scheduling apparatus is provided, including:
the flow analysis module is used for analyzing the workflow into a directed acyclic graph when the multidisciplinary optimization design workflow starts to be executed; the circulating body in the workflow is resolved into a circulating start node and a circulating end node which are mutually related;
the queue loading module is used for loading executable computing nodes one by one according to the analyzed directed acyclic graph, converting the states of the computing nodes into executable states and placing the executable states in a node execution ready queue;
the node execution module is used for executing each computing node one by one from the node execution ready queue by using the same calling logic for each computing node through the node executor; if the loop starting node is encountered, starting execution of loop scheduling logic;
the data synchronization module is used for synchronously storing the output data of the computing nodes into a task instance data table of the database after the current computing nodes of the workflow are executed; the method comprises the steps of storing execution times information after the execution of a circulating body is finished;
the event sending module is used for sending out a node execution completion event when the current computing node is executed; the node execution completion event comprises unique identification information of the ending node;
and the execution scheduling module is used for finding out the next computing node to continue to execute scheduling processing according to the unique identification information of the ending node and the directed acyclic graph until the workflow is executed.
In one embodiment, the apparatus further includes:
the flow construction module is used for constructing a workflow to be executed in a front end interface of the workflow engine and setting a data transmission relation and a data transmission direction among nodes in the workflow according to the inter-node dependency relation;
and the stream storage module is used for storing the constructed workflow to a back-end flow database of the workflow engine.
In one embodiment, a process for starting execution of round robin scheduling logic includes:
determining node execution operation and cycle condition judgment operation according to the cycle type recorded in the cycle starting node;
if the circulation type is a while type circulation, performing a circulation condition judgment operation;
if the loop condition judging operation is true, executing the following nodes of the loop starting nodes in the directed acyclic graph.
In yet another aspect, a computer device is provided, including a memory storing a computer program and a processor implementing the steps of the directed acyclic graph workflow engine cycle scheduling method described above when the processor executes the computer program.
One of the above technical solutions has the following advantages and beneficial effects:
according to the method, the device and the equipment for cyclic scheduling of the directed acyclic graph workflow engine, a single cyclic node is split into two mutually related logic nodes, a workflow sub-flow cyclic scheduling processing mode for realizing a strategy by taking a cyclic start node and a cyclic end node as cyclic structures is established based on a goto (unconditional transfer) idea in a structured programming language, and the relative independence of each task in a flow is maintained while the directed acyclic graph data structure of a general workflow engine bottom layer is reserved. The system development difficulty is effectively avoided, the execution capacity of the loop structure is exerted to the greatest extent, the problem that the execution performance of the process is greatly influenced due to the excessive loop body is avoided, and the situation that the loops are mutually nested in the workflow is also realized. Compared with the traditional workflow engine, the scheme can introduce an efficient circulation logic structure without a great amount of improvement on the basis of the traditional workflow engine, and is a novel workflow circulation structure implementation scheme.
Drawings
In order to more clearly illustrate the technical solutions of embodiments or conventional techniques of the present application, the drawings required for the descriptions of the embodiments or conventional techniques will be briefly described below, and it is apparent that the drawings in the following description are only some embodiments of the present application, and other drawings may be obtained according to these drawings without inventive effort for a person of ordinary skill in the art.
FIG. 1 is a flow diagram of a directed acyclic graph workflow engine round robin scheduling method in one embodiment;
FIG. 2 is a flow diagram of a directed acyclic graph workflow engine round robin scheduling method in another embodiment;
FIG. 3 is a schematic diagram of a single loop node building loop structure in one embodiment;
FIG. 4 is a schematic diagram of a dual cycle node building cycle structure in one embodiment;
FIG. 5 is a diagram of multidisciplinary flow engine scheduling logic in one embodiment;
FIG. 6 is a schematic diagram of logic for executing a torus node according to one embodiment;
FIG. 7 is a block diagram of a directed acyclic graph workflow engine cycle scheduler in one embodiment.
Detailed Description
In order to make the objects, technical solutions and advantages of the present application more apparent, the present application will be further described in detail with reference to the accompanying drawings and examples. It should be understood that the specific embodiments described herein are for purposes of illustration only and are not intended to limit the present application.
Unless defined otherwise, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this application belongs. The terminology used in the description of the present application is for the purpose of describing particular embodiments only and is not intended to be limiting of the application.
It is noted that reference herein to "an embodiment" means that a particular feature, structure, or characteristic described in connection with the embodiment may be included in at least one embodiment of the invention. The appearances of the phrase in various places in the specification are not necessarily all referring to the same embodiment, nor are separate or alternative embodiments mutually exclusive of other embodiments.
Those skilled in the art will appreciate that the embodiments described herein may be combined with other embodiments. The term "and/or" as used in the present specification and the appended claims refers to any and all possible combinations of one or more of the associated listed items, and includes such combinations.
The current common implementation method of the workflow engine circulation structure comprises the following steps: (1) The loop control variable, loop conditions, loop body information are stored in a single logical control node. The implementation steps of the method are as follows: loading and calculating the circulation conditions of the circulation nodes, and judging whether to execute the circulation bodies contained in the nodes or not; setting the tasks in the loop body as to be executed, and adding the tasks into a to-be-executed set or a database; the executor executes the task to be executed and returns to the loop node after the execution is finished.
The inventor has found through intensive research and analysis that the existing workflow engine circulation structure implementation method has the following defects: the problem that the directed acyclic graph data structure cannot have annular dependence is neglected, the mature underlying structure commonly adopted in the scheduling engine is required to be modified, the development difficulty is increased, and the stability of the system is reduced. The circulating nodes comprise circulating body nodes, so that the complexity of the circulating body nodes is increased, special modules are required to be written for a circulating execution structure, and the node execution logic is not beneficial to the universality. The loop body in a loop node can be very bulky, and including the loop body inside the loop node is detrimental to the execution of complex loop bodies or nested loop bodies.
Aiming at the defects that the bottom layer of the current workflow scheduling system adopts a directed acyclic graph data structure, the support of the data structure for node cyclic call in the flow is lacking, and the like, the scheme for maintaining the stability of the directed acyclic graph data structure and meeting the cyclic scheduling execution of nodes or subgraphs is provided, and the problem of realizing the cyclic structure in the flow scheduling system is solved.
Embodiments of the present invention will be described in detail below with reference to the attached drawings in the drawings of the embodiments of the present invention.
Referring to fig. 1, in one embodiment, a directed acyclic graph workflow engine cycle scheduling method is provided, including the following processing steps S12 to S22:
s12, when the multidisciplinary optimization design workflow starts to be executed, analyzing the workflow into a directed acyclic graph; the circulating body in the workflow is resolved into a circulating start node and a circulating end node which are mutually related;
s14, loading executable computing nodes one by one according to the analyzed directed acyclic graph, converting the states of the computing nodes into executable states and placing the executable states in a node execution ready queue;
s16, executing each computing node one by one from a node execution ready queue by using the same calling logic for each computing node through a node executor; if the loop starting node is encountered, starting execution of loop scheduling logic;
s18, after the current computing node of the workflow is executed, synchronously storing output data of the computing node into a task instance data table of a database; the method comprises the steps of storing execution times information after the execution of a circulating body is finished;
s20, when the current computing node finishes executing, a node executing completion event is sent out; the node execution completion event comprises unique identification information of the ending node;
s22, finding out the next computing node to continue to execute the scheduling process according to the unique identification information of the ending node and the directed acyclic graph until the workflow is executed.
It can be understood that the multidisciplinary optimization design workflow can be a workflow which is built in advance according to the disciplinary optimization design task, or can be a workflow to be executed which is configured according to the task on-line construction. The execution mode of the workflow engine cycle subgraph is realized based on the directed acyclic graph DAG, so that the cycle scheduling structure required by the optimization flow execution system can be realized while the high stability and low development complexity of the system are reserved.
By introducing two interrelated logic nodes of circulation start and circulation end into the workflow engine, the execution of the sub-graph circulation scheduling in the directed acyclic graph is effectively realized, and a convenient and powerful circulation structure construction means is provided for the construction of the workflow under the condition that a system user does not feel. The method comprehensively considers the common data structure and node execution scheduling logic of the existing workflow scheduling system, deeply discusses and researches node independence and the universality of logic node judgment logic, and avoids the reconstruction of the existing system by a double-association logic node mode based on the goto idea used in the structured programming languages (such as assembly language and C language), thereby avoiding the problems of excessively complex circulating structure and the like.
Specifically, when the user triggers the multidisciplinary optimization design workflow to start executing, the workflow engine starts to analyze the multidisciplinary optimization design workflow into the corresponding directed acyclic graph DAG, and at this time, the circulation structure in the workflow is represented as a circulation start node and a circulation end node which are associated with each other, so that the DAG construction process can be smoothly performed, and a correctly scheduled process execution data structure is constructed. And then loading executable nodes in the workflow one by one according to the directed acyclic graph obtained by analysis, converting the executable nodes into executable states, and placing the executable nodes in a node execution ready queue so as to be executed one by a node executor of the workflow engine. Meanwhile, the scheduling algorithm of the workflow engine can also generate a piece of task instance data for the task of each computing node and store the task instance data in the database.
Scheduling execution of each computing node uses the same calling logic, and the processing module of the corresponding node is called in the original strategy mode of the engine to execute the processing task of the node, if the loop starting node of the loop body is encountered, the execution of the loop scheduling logic is started. After the execution of each task node in the DAG corresponding to the workflow is finished, the data of the task nodes are synchronously stored in a task instance data table of a database, and after the execution of the cycle body node is finished, the information such as the execution times is also stored for query use in the subsequent execution process of the engine, such as determining whether the execution times threshold is reached or not so as to continue or jump out the cycle execution and the like. When each node completes execution, the node executor sends out a node execution completion event corresponding to the computing node, and the event contains unique identification information of the ending node. And the workflow engine finds out the next computing node to continue to execute scheduling according to the unique identification information of the ending node and the DAG information until the workflow is executed.
According to the directed acyclic graph workflow engine cyclic scheduling method, a single cyclic node is split into two mutually related logic nodes, a workflow sub-flow cyclic scheduling processing mode for realizing a strategy by taking a cyclic start node and a cyclic end node as cyclic structures is established based on a goto (unconditional transfer) idea in a structured programming language, and the relative independence of each task in a flow is maintained while the directed acyclic graph data structure of a general workflow engine bottom layer is reserved. The system development difficulty is effectively avoided, the execution capacity of the loop structure is exerted to the greatest extent, the problem that the execution performance of the process is greatly influenced due to the excessive loop body is avoided, and the situation that the loops are mutually nested in the workflow is also realized. Compared with the traditional workflow engine, the scheme can introduce an efficient circulation logic structure without a great amount of improvement on the basis of the traditional workflow engine, and is a novel workflow circulation structure implementation scheme.
In one embodiment, as shown in fig. 2, the above directed acyclic graph workflow engine cycle scheduling method may further include the following processing steps:
s10, constructing a workflow to be executed in a front end interface of a workflow engine, and setting a data transmission relation and a data transmission direction between nodes in the workflow according to the inter-node dependency relation;
and S11, storing the constructed workflow to a back-end flow database of a workflow engine.
It can be understood that a user can construct a multidisciplinary optimization design workflow to be executed according to a given multidisciplinary optimization design task flow through a front end interface of a workflow engine, and set a relation of data transmission between nodes, a data transmission direction and the like according to workflow processing requirements, so that workflow construction is completed by setting an interdependence relation between the nodes, and finally the workflow is saved in a rear end flow database. If a loop structure needs to be included in the workflow, the user can construct the loop structure in two ways a) or b):
a) Directly using a single cycle node (independent node interactive construction mode), as shown in fig. 3, the flow analysis algorithm of the workflow engine analyzes the cycle body node into a cycle start node and a corresponding cycle end node, and then performs save execution.
b) The (split node inter-construction) uses a loop start node as the start of the loop body structure and a loop end node as the end of the loop body structure, as shown in fig. 4. While the user needs to manually associate the loop start node with the loop end node, as shown in the dashed portion of fig. 4. The association information of two circulating nodes is not stored in the workflow as the association information of other nodes, but is stored in the association field of the circulating nodes as a part of the self information of the circulating nodes. Meanwhile, the loop starting node and the loop ending node also contain the same loop condition field (used for executing the loop condition judging operation), the loop type field of do-while or while, the loop execution times field and other information.
By processing the pre-step, various parameters and processing flows of the workflow can be configured on line according to task demands, the system configuration mode is more flexible and convenient, and the node data processing efficiency can be greatly improved.
In one embodiment, regarding the above-mentioned procedure of starting execution of the round robin scheduling logic in step S16, the following processing steps may be specifically included:
determining node execution operation and cycle condition judgment operation according to the cycle type recorded in the cycle starting node;
if the circulation type is a while type circulation, performing a circulation condition judgment operation;
if the loop condition judging operation is true, executing the following nodes of the loop starting nodes in the directed acyclic graph.
Specifically, for the currently encountered cycle body node, the node executor determines the node execution operation and the cycle condition judgment operation according to the cycle type recorded in the cycle start node, if the logic marked by the cycle start node is a while type cycle, the cycle condition judgment operation is performed, the condition is true (if the cycle condition set by the front end user operation in the cycle can be an executable JavaScript code in fact, the code return value is a trunk type, the code execution result returns true, the condition is judged to be true, otherwise, the code return result is judged to be false (including abnormal code execution and also judged to be false), the cycle start node is normally ended, and the following nodes of the cycle start node in the DAG graph are naturally executed, so that the node execution processing under the cycle logic is accurately completed.
In one embodiment, the step of performing the loop condition determining operation if the loop type is a while type loop further includes:
if the circulation condition judging operation is false, directly skipping to execute the circulation ending node corresponding to the circulation ending node unique identification information according to the circulation ending node unique identification information recorded in the circulation starting node, and completing the execution of the circulation body.
It can be understood that when the cycle type recorded in the cycle start node is a while type cycle and the cycle condition is determined to be false when the cycle condition determination operation is performed, the node executor directly jumps to the corresponding cycle end node according to the cycle end node unique identification information recorded in the cycle start node, and executes the cycle end node by the scheduling algorithm. And because the cycle end node has the cycle type information and the cycle condition information which are consistent with those of the cycle start node, the cycle end node directly ends the execution of the cycle end node, starts the execution of the DAG follow-up node of the cycle body structure, and completes the cycle.
In one embodiment, regarding the process of starting execution of the round robin scheduling logic in the above step S16, the method may specifically further include the following processing steps:
if the cycle type is the do-while type cycle, ending the execution of the cycle start node and transferring to a subsequent node executing the cycle start node in the directed acyclic graph;
after the circulation body performs one-time execution, performing circulation condition judgment operation in a circulation ending node;
if the loop condition judging operation is true, loading the loop starting node into the node execution ready queue again, and triggering the re-execution of the loop body.
It can be understood that when the cycle type recorded in the cycle start node is a do-while type cycle, the node executor directly ends the execution of the cycle start node according to the normal node end logic, thereby naturally entering the execution process of the subsequent node of the node in the DAG graph. The cycle condition judging operation is executed in the cycle end node after the cycle body is executed once, if the cycle condition judging operation is true, namely, the cycle is judged to be continuously executed, the cycle end node guides the loading execution of the follow-up node of the scheduling algorithm, namely, the cycle start node is loaded into the node execution ready queue again, so that the cycle body is executed again, and the repeated execution of the cycle body structure is achieved until the cycle end condition is met.
In one embodiment, after the step of performing the loop condition determining operation in the loop ending node after the loop body performs once, the method specifically may further include:
if the loop condition judging operation is false, ending the loop executing operation of the loop body and jumping to the execution of the next computing node.
It can be understood that the loop condition judging operation is executed in the loop ending node after the loop body is executed once, and if the loop condition judging operation is false, that is, the loop is judged to be ended to continue to execute the loop, the loop ending node will guide the scheduling algorithm to end executing the node and jump to the executing process of the next node of the loop body, thereby realizing accurate normal guide execution of the workflow.
The invention is applied to a multi-disciplinary optimization design large-scale flow construction scheduling system, and successfully realizes a circulation structure and operation scheduling thereof. Compared with the prior art, the workflow processing performance is more stable and efficient, and the functions of realizing cyclic nesting and the like are more powerful. Taking a workflow engine as a multidisciplinary optimization design flow to construct an execution engine, as shown in fig. 5, a specific scheduling logic diagram of the workflow engine is shown, wherein a five-pointed star marks the start of a scheduling algorithm, and the steps of initializing a node execution ready queue, submitting node execution, analyzing the node and joining the node execution ready queue, starting executing various types of nodes, sending events after completing execution and the like are performed through constructing a DAG, so that the flow tasks of the whole workflow are executed; wherein the execution of the loop start node and the loop end node depends on a loop node execution processor configured in the engine. On a system interface constructed by the multidisciplinary optimization design flow, a user can construct and set a workflow on the interface, wherein the execution logic of a loop body node can be shown as a figure 6, W represents a while type loop, and DW represents a do-while type loop.
It should be understood that, although the steps in the flowcharts 1 and 2 described above are shown in order as indicated by the arrows, these steps are not necessarily performed in order as indicated by the arrows. The steps are not strictly limited to the order of execution unless explicitly recited herein, and the steps may be executed in other orders. Moreover, at least some of the steps of the flowcharts 1 and 2 described above may include a plurality of sub-steps or stages that are not necessarily performed at the same time, but may be performed at different times, the order in which the sub-steps or stages are performed is not necessarily sequential, and may be performed in turn or alternately with at least some of the other steps or other steps.
In one embodiment, as shown in fig. 7, a directed acyclic graph workflow engine cycle scheduling apparatus 100 is provided, including a flow parsing module 11, a queue loading module 13, a node executing module 15, a data synchronization module 17, an event issuing module 19, and an execution scheduling module 21. The flow analysis module 11 is used for analyzing the workflow into a directed acyclic graph when the multidisciplinary optimization design workflow starts to execute; the loop body in the workflow is parsed into a loop start node and a loop end node that are associated with each other. The queue loading module 13 is configured to load executable computing nodes one by one according to the resolved directed acyclic graph, convert the states of the computing nodes into executable states, and place the executable states in a node execution ready queue. The node execution module 15 is configured to execute each computing node one by one from the node execution ready queue by using the same calling logic for each computing node through the node executor; wherein, if a loop start node is encountered, execution of the loop scheduling logic is started. The data synchronization module 17 is configured to synchronously store output data of a computing node into a task instance data table of a database after the current computing node of the workflow is executed; and storing the execution times information after the execution of the circulating body is finished. The event sending module 19 is used for sending out a node execution completion event when the current computing node execution is completed; the node execution completion event includes unique identification information of the end node. The execution scheduling module 21 is configured to find a next computing node to continue to execute scheduling processing according to the unique identification information of the end node and the directed acyclic graph, until the workflow is executed.
According to the directed acyclic graph workflow engine cyclic scheduling device 100, a single cyclic node is split into two mutually related logic nodes, a workflow sub-flow cyclic scheduling processing mode for realizing a strategy by taking a cyclic start node and a cyclic end node as cyclic structures is established based on a goto (unconditional transfer) idea in a structured programming language, and the relative independence of each task in a flow is maintained while the directed acyclic graph data structure of a general workflow engine bottom layer is reserved. The system development difficulty is effectively avoided, the execution capacity of the loop structure is exerted to the greatest extent, the problem that the execution performance of the process is affected due to the fact that the loop body is too large is avoided, and the situation that loops are mutually nested in the workflow is also achieved. Compared with the traditional workflow engine, the scheme can introduce an efficient circulation logic structure without a great amount of improvement on the basis of the traditional workflow engine, and is a novel workflow circulation structure implementation scheme.
In one embodiment, the loop scheduling device 100 for a directed acyclic graph workflow engine may further include a flow construction module and a flow storage module, where the flow construction module is configured to construct a workflow to be executed in a front-end interface of the workflow engine and set a data transfer relationship and a data transfer direction between nodes in the workflow according to an inter-node dependency relationship. And the stream storage module is used for storing the constructed workflow to a back-end flow database of the workflow engine.
In one embodiment, a process for starting execution of round robin scheduling logic includes:
determining node execution operation and cycle condition judgment operation according to the cycle type recorded in the cycle starting node;
if the circulation type is a while type circulation, performing a circulation condition judgment operation;
if the loop condition judging operation is true, executing the following nodes of the loop starting nodes in the directed acyclic graph.
In one embodiment, if the cycle type is a while type cycle, the step of performing the cycle condition determining operation further includes:
if the circulation condition judging operation is false, directly skipping to execute the circulation ending node corresponding to the circulation ending node unique identification information according to the circulation ending node unique identification information recorded in the circulation starting node, and completing the execution of the circulation body.
In one embodiment, the process of starting execution of the round robin scheduling logic further includes:
if the cycle type is the do-while type cycle, ending the execution of the cycle start node and transferring to a subsequent node executing the cycle start node in the directed acyclic graph;
after the circulation body performs one-time execution, performing circulation condition judgment operation in a circulation ending node;
if the loop condition judging operation is true, loading the loop starting node into the node execution ready queue again, and triggering the re-execution of the loop body.
In one embodiment, after the step of performing the loop condition determining operation in the loop ending node after the loop body performs once, the method further includes:
if the loop condition judging operation is false, ending the loop executing operation of the loop body and jumping to the execution of the next computing node.
For specific limitations of the directed acyclic graph workflow engine cycle scheduling apparatus 100, reference may be made to the corresponding limitations of the directed acyclic graph workflow engine cycle scheduling method hereinabove, and details thereof are not repeated herein. The various modules in the directed acyclic graph workflow engine cycle scheduling apparatus 100 described above can be implemented in whole or in part in software, hardware, and combinations thereof. The above modules may be embedded in hardware or may be independent of a device with a data processing function, or may be stored in a memory of the device in software, so that the processor may call and execute operations corresponding to the above modules, where the device may be, but is not limited to, various data computing and processing devices existing in the art.
In one embodiment, there is also provided a computer device including a memory and a processor, the memory storing a computer program, the processor implementing the following processing steps when executing the computer program: when the multidisciplinary optimization design workflow starts to execute, the workflow is parsed into a directed acyclic graph; the circulating body in the workflow is resolved into a circulating start node and a circulating end node which are mutually related; loading executable computing nodes one by one according to the analyzed directed acyclic graph, converting the states of the computing nodes into executable states and placing the executable states in a node execution ready queue; executing each computing node one by one from a node execution ready queue by using the same calling logic for each computing node through a node executor; if the loop starting node is encountered, starting execution of loop scheduling logic; after the current computing node of the workflow is executed, synchronously storing the output data of the computing node into a task instance data table of a database; the method comprises the steps of storing execution times information after the execution of a circulating body is finished; when the current computing node finishes executing, a node executing completion event is sent out; the node execution completion event comprises unique identification information of the ending node; and finding out the next computing node to continue to execute the scheduling processing according to the unique identification information of the ending node and the directed acyclic graph until the workflow is executed.
It will be appreciated that the above-mentioned computer device may include other software and hardware components not listed in the specification besides the above-mentioned memory and processor, and may be specifically determined according to the model of the specific computer device in different application scenarios, and the detailed description will not be listed in any way.
In one embodiment, the processor, when executing the computer program, may further implement the steps or sub-steps added to the embodiments of the directed acyclic graph workflow engine round robin scheduling method described above.
In one embodiment, there is also provided a computer readable storage medium having stored thereon a computer program which when executed by a processor performs the following processing steps: when the multidisciplinary optimization design workflow starts to execute, the workflow is parsed into a directed acyclic graph; the circulating body in the workflow is resolved into a circulating start node and a circulating end node which are mutually related; loading executable computing nodes one by one according to the analyzed directed acyclic graph, converting the states of the computing nodes into executable states and placing the executable states in a node execution ready queue; executing each computing node one by one from a node execution ready queue by using the same calling logic for each computing node through a node executor; if the loop starting node is encountered, starting execution of loop scheduling logic; after the current computing node of the workflow is executed, synchronously storing the output data of the computing node into a task instance data table of a database; the method comprises the steps of storing execution times information after the execution of a circulating body is finished; when the current computing node finishes executing, a node executing completion event is sent out; the node execution completion event comprises unique identification information of the ending node; and finding out the next computing node to continue to execute the scheduling processing according to the unique identification information of the ending node and the directed acyclic graph until the workflow is executed.
In one embodiment, the computer program, when executed by the processor, may further implement the steps or sub-steps added to the embodiments of the directed acyclic graph workflow engine round robin scheduling method described above.
Those skilled in the art will appreciate that implementing all or part of the above-described methods may be accomplished by way of a computer program, which may be stored on a non-transitory computer readable storage medium and which, when executed, may comprise the steps of the above-described embodiments of the methods. Any reference to memory, storage, database, or other medium used in the various embodiments provided herein may include non-volatile and/or volatile memory. The nonvolatile memory can include Read Only Memory (ROM), programmable ROM (PROM), electrically Programmable ROM (EPROM), electrically Erasable Programmable ROM (EEPROM), or flash memory. Volatile memory can include Random Access Memory (RAM) or external cache memory. By way of illustration and not limitation, RAM is available in a variety of forms such as Static RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), double Data Rate SDRAM (DDRSDRAM), enhanced SDRAM (ESDRAM), synchronous Link DRAM (SLDRAM), memory bus dynamic random access memory (Rambus DRAM, RDRAM for short), and interface dynamic random access memory (DRDRAM), among others.
The technical features of the above embodiments may be arbitrarily combined, and all possible combinations of the technical features in the above embodiments are not described for brevity of description, however, as long as there is no contradiction between the combinations of the technical features, they should be considered as the scope of the description.
The foregoing examples represent only a few embodiments of the present application, which are described in more detail and are not to be construed as limiting the scope of the invention. It should be noted that it would be apparent to those skilled in the art that various modifications and improvements could be made without departing from the spirit of the present application, and are intended to be within the scope of the present application. The scope of the patent is therefore intended to be covered by the appended claims.

Claims (8)

1. A directed acyclic graph workflow engine cyclic scheduling method is characterized by comprising the following steps:
when the multidisciplinary optimization design workflow starts to execute, the workflow is parsed into a directed acyclic graph; the circulating body in the workflow is resolved into a circulating start node and a circulating end node which are mutually related;
loading executable computing nodes one by one according to the directed acyclic graph obtained through analysis, converting the states of the computing nodes into executable states and placing the executable states in a node execution ready queue;
executing each computing node one by one from the node execution ready queue by using the same calling logic for each computing node through a node executor; if the loop starting node is encountered, starting execution of loop scheduling logic; the method comprises the steps of starting the execution process of the loop scheduling logic, wherein the process comprises the steps of determining node execution operation and loop condition judgment operation according to the loop type recorded in the loop starting node; if the circulation type is a while type circulation, performing circulation condition judgment operation; if the circulation condition judging operation is true, executing the subsequent nodes of the circulation starting node in the directed acyclic graph;
after the current computing node of the workflow is executed, synchronously storing output data of the computing node into a task instance data table of a database; the method comprises the steps of storing execution times information after the execution of a circulating body is finished;
when the current computing node finishes executing, a node executing completion event is sent out; the node execution completion event comprises unique identification information of an ending node;
and finding out the next computing node to continue to execute the scheduling processing according to the unique identification information of the ending node and the directed acyclic graph until the workflow is executed.
2. The directed acyclic graph workflow engine round robin scheduling method of claim 1, further comprising the steps of:
constructing the workflow to be executed in a front-end interface of the workflow engine, and setting a data transmission relation and a data transmission direction among nodes in the workflow according to the inter-node dependency relation;
and storing the constructed workflow to a back-end flow database of the workflow engine.
3. The directed acyclic graph workflow engine cycle scheduling method of claim 1, further comprising, after the step of performing the cycle condition determination operation, if the cycle type is a while type cycle:
if the circulation condition judging operation is false, directly skipping and executing the circulation ending node corresponding to the circulation ending node unique identification information according to the circulation ending node unique identification information recorded in the circulation starting node, and completing the execution of the circulation body.
4. The directed acyclic graph workflow engine round robin scheduling method of claim 1, wherein the process of starting execution of the round robin scheduling logic further comprises:
if the cycle type is a do-while type cycle, ending the execution of the cycle start node and transferring to execute the subsequent nodes of the cycle start node in the directed acyclic graph;
after the circulation body executes once, performing circulation condition judgment operation in the circulation ending node;
and if the loop condition judging operation is true, loading the loop starting node into the node execution ready queue again, and triggering the re-execution of the loop body.
5. The directed acyclic graph workflow engine cycle scheduling method of claim 4, further comprising, after the step of performing a cycle condition determination operation in the cycle end node after the cycle body has been executed once, the step of:
and if the loop condition judging operation is false, ending the loop executing operation of the loop body and jumping to the execution of the next computing node.
6. A directed acyclic graph workflow engine cycle scheduling apparatus, comprising:
the flow analysis module is used for analyzing the workflow into a directed acyclic graph when the multidisciplinary optimization design workflow starts to be executed; the circulating body in the workflow is resolved into a circulating start node and a circulating end node which are mutually related;
the queue loading module is used for loading executable computing nodes one by one according to the directed acyclic graph obtained through analysis, converting the states of the computing nodes into executable states and placing the executable states in a node execution ready queue;
the node execution module is used for executing the computing nodes one by one from the node execution ready queue by using the same calling logic for the computing nodes through a node executor; if the loop starting node is encountered, starting execution of loop scheduling logic; the method comprises the steps of starting the execution process of the loop scheduling logic, wherein the process comprises the steps of determining node execution operation and loop condition judgment operation according to the loop type recorded in the loop starting node; if the circulation type is a while type circulation, performing circulation condition judgment operation; if the circulation condition judging operation is true, executing the subsequent nodes of the circulation starting node in the directed acyclic graph;
the data synchronization module is used for synchronously storing the output data of the computing nodes into a task instance data table of a database after the current computing nodes of the workflow are executed; the method comprises the steps of storing execution times information after the execution of a circulating body is finished;
the event sending module is used for sending out a node execution completion event when the execution of the computing node is completed; the node execution completion event comprises unique identification information of an ending node;
and the execution scheduling module is used for finding out the next computing node to continue to execute scheduling processing according to the unique identification information of the ending node and the directed acyclic graph until the workflow is executed.
7. The directed acyclic graph workflow engine cycle scheduling apparatus of claim 6, further comprising:
the flow construction module is used for constructing the workflow to be executed in a front end interface of the workflow engine and setting a data transmission relation and a data transmission direction among nodes in the workflow according to the inter-node dependency relation;
and the stream storage module is used for storing the constructed workflow to a back-end flow database of the workflow engine.
8. A computer device comprising a memory and a processor, the memory storing a computer program, characterized in that the processor, when executing the computer program, implements the steps of the directed acyclic graph workflow engine loop scheduling method of any one of claims 1 to 5.
CN202410094252.9A 2024-01-23 2024-01-23 Directed acyclic graph workflow engine cyclic scheduling method, device and equipment Active CN117610320B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202410094252.9A CN117610320B (en) 2024-01-23 2024-01-23 Directed acyclic graph workflow engine cyclic scheduling method, device and equipment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202410094252.9A CN117610320B (en) 2024-01-23 2024-01-23 Directed acyclic graph workflow engine cyclic scheduling method, device and equipment

Publications (2)

Publication Number Publication Date
CN117610320A CN117610320A (en) 2024-02-27
CN117610320B true CN117610320B (en) 2024-04-02

Family

ID=89950281

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202410094252.9A Active CN117610320B (en) 2024-01-23 2024-01-23 Directed acyclic graph workflow engine cyclic scheduling method, device and equipment

Country Status (1)

Country Link
CN (1) CN117610320B (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117785391B (en) * 2024-02-28 2024-05-10 成都索贝视频云计算有限公司 Service operation logic structuring device

Citations (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103377035A (en) * 2012-04-12 2013-10-30 浙江大学 Pipeline parallelization method for coarse-grained streaming application
CN103617066A (en) * 2013-12-16 2014-03-05 中国农业银行股份有限公司 Workflow engine and implementation method thereof
CN106600238A (en) * 2016-12-26 2017-04-26 上海轻维软件有限公司 Network service fulfillment realization method based on Activiti flow engine and apparatus thereof
CN107015856A (en) * 2017-03-30 2017-08-04 青海大学 Task scheduling approach generation method and device under cloud environment in scientific workflow
CN111597143A (en) * 2020-03-24 2020-08-28 中电海康集团有限公司 Method for converting DAG graph data into workflow engine scheduling file
CN112114960A (en) * 2020-08-06 2020-12-22 河南大学 Scheduling strategy for remote sensing image parallel cluster processing suitable for internet scene
CN112434061A (en) * 2020-08-25 2021-03-02 上海幻电信息科技有限公司 Task scheduling method and system supporting circular dependence
CN113377348A (en) * 2021-06-10 2021-09-10 平安科技(深圳)有限公司 Task adjustment method applied to task engine, related device and storage medium
CN114548915A (en) * 2022-01-26 2022-05-27 北京金和网络股份有限公司 Method and system for realizing business cross-organization circulation based on process engine
CN114595580A (en) * 2022-03-09 2022-06-07 北京航空航天大学 Complex workflow engine method meeting optimization design of large flexible blade
CN114625517A (en) * 2022-04-13 2022-06-14 北京赛博云睿智能科技有限公司 DAG graph computation distributed big data workflow task scheduling platform
WO2022135079A1 (en) * 2020-12-25 2022-06-30 北京有竹居网络技术有限公司 Data processing method for task flow engine, and task flow engine, device and medium
WO2023004805A1 (en) * 2021-07-30 2023-02-02 西门子股份公司 Workflow modeling implementation system and method, and storage medium
CN116069462A (en) * 2022-12-07 2023-05-05 厦门美亚亿安信息科技有限公司 Big data DAG task flow scheduling method, system and storage medium
CN116302381A (en) * 2022-09-08 2023-06-23 上海数禾信息科技有限公司 Parallel topology scheduling component and method, task scheduling method and task processing method
CN116627396A (en) * 2023-06-28 2023-08-22 重庆大学 Polyhedral model nested cyclic transformation dynamic solving acceleration method

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10713088B2 (en) * 2017-03-23 2020-07-14 Amazon Technologies, Inc. Event-driven scheduling using directed acyclic graphs

Patent Citations (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103377035A (en) * 2012-04-12 2013-10-30 浙江大学 Pipeline parallelization method for coarse-grained streaming application
CN103617066A (en) * 2013-12-16 2014-03-05 中国农业银行股份有限公司 Workflow engine and implementation method thereof
CN106600238A (en) * 2016-12-26 2017-04-26 上海轻维软件有限公司 Network service fulfillment realization method based on Activiti flow engine and apparatus thereof
CN107015856A (en) * 2017-03-30 2017-08-04 青海大学 Task scheduling approach generation method and device under cloud environment in scientific workflow
CN111597143A (en) * 2020-03-24 2020-08-28 中电海康集团有限公司 Method for converting DAG graph data into workflow engine scheduling file
CN112114960A (en) * 2020-08-06 2020-12-22 河南大学 Scheduling strategy for remote sensing image parallel cluster processing suitable for internet scene
CN112434061A (en) * 2020-08-25 2021-03-02 上海幻电信息科技有限公司 Task scheduling method and system supporting circular dependence
WO2022135079A1 (en) * 2020-12-25 2022-06-30 北京有竹居网络技术有限公司 Data processing method for task flow engine, and task flow engine, device and medium
CN113377348A (en) * 2021-06-10 2021-09-10 平安科技(深圳)有限公司 Task adjustment method applied to task engine, related device and storage medium
WO2023004805A1 (en) * 2021-07-30 2023-02-02 西门子股份公司 Workflow modeling implementation system and method, and storage medium
CN114548915A (en) * 2022-01-26 2022-05-27 北京金和网络股份有限公司 Method and system for realizing business cross-organization circulation based on process engine
CN114595580A (en) * 2022-03-09 2022-06-07 北京航空航天大学 Complex workflow engine method meeting optimization design of large flexible blade
CN114625517A (en) * 2022-04-13 2022-06-14 北京赛博云睿智能科技有限公司 DAG graph computation distributed big data workflow task scheduling platform
CN116302381A (en) * 2022-09-08 2023-06-23 上海数禾信息科技有限公司 Parallel topology scheduling component and method, task scheduling method and task processing method
CN116069462A (en) * 2022-12-07 2023-05-05 厦门美亚亿安信息科技有限公司 Big data DAG task flow scheduling method, system and storage medium
CN116627396A (en) * 2023-06-28 2023-08-22 重庆大学 Polyhedral model nested cyclic transformation dynamic solving acceleration method

Non-Patent Citations (7)

* Cited by examiner, † Cited by third party
Title
Executing cyclic scientific workflows in the cloud;Michel Krämer 等;《Springer》;20210406;1-26 *
一种轻型工作流引擎的设计与实现;杨明顺;韩周鹏;余婷;李言;邵利真;;西安理工大学学报;20130330(01);20-26 *
基于新型膜材料的计算组装工作流调度模型及成本优化研究;柴锐;《万方》;20230927;1-78 *
基于有向循环图的多学科设计优化模型调度方法;宋莉莉;聂冲;王维平;;系统仿真学报;20070520(05);1119-1123 *
网格工作流引擎的设计与实现;王红霞;;计算机工程与设计;20110216(02);430-433 *
超算环境科学工作流应用平台的引擎设计和资源调度;李于锋;莫则尧;肖永浩;赵士操;段博文;;计算机应用研究;20180709(06);1723-1726 *
面向多核的并行编程和优化研究;戴晨;陈鹏;杨冬蕾;张为华;;计算机应用与软件;20131215(12);198-203 *

Also Published As

Publication number Publication date
CN117610320A (en) 2024-02-27

Similar Documents

Publication Publication Date Title
CN117610320B (en) Directed acyclic graph workflow engine cyclic scheduling method, device and equipment
US11449364B2 (en) Processing in a multicore processor with different cores having different architectures
JP4042604B2 (en) Program parallelization apparatus, program parallelization method, and program parallelization program
CN111738434A (en) Method for executing deep neural network on heterogeneous processing unit
CN110569121B (en) Multithreading concurrent processing method and device based on application robot
KR102182198B1 (en) Data processing graph compilation
CN103530088A (en) Staged loop instructions
EP4258175A1 (en) Node fusion method for computational graph, and device
CN109901818B (en) System and method for software architecture design
WO2024131097A1 (en) Neural network model compilation method and apparatus, and electronic device and storage medium
CN105373424B (en) A kind of speculative multithreading division methods based on machine learning
CN114217966A (en) Deep learning model dynamic batch processing scheduling method and system based on resource adjustment
CN109445929A (en) A kind of method and system of scheduler task
CN118245117B (en) Multi-branch automatic analysis parallel optimization method based on new generation Shenwei many-core processor
CN110516000B (en) Workflow management system supporting complex workflow structure
US20130232471A1 (en) Method and Apparatus for Assessing Software Parallelization
Cornero et al. Software synthesis for real-time information processing systems
JP5504879B2 (en) Multithread processing method and multithread processing apparatus
CN116301826A (en) Method for calling software command to conduct data batch processing in CAA development
JP2001092647A (en) Method for converting process definition information into flow control program
CN116820468A (en) Intelligent contract code conversion and detection method, device, equipment and medium
CN111782613A (en) Method for optimizing operation efficiency of model integration platform
CN106255958A (en) Memory-efficient thread-level speculates
CN117634866B (en) Method, device, equipment and medium for processing data among nodes of workflow scheduling engine
CN113721924B (en) Fine-grained variable activity analysis method and system in multi-beat instruction

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant