Optimizing workflow engines
First Claim
Patent Images
1. A computer program product comprising a tangible computer readable recordable storage memory including computer useable program code for implementing a workflow, the computer program product including:
- computer useable program code for merging a workflow to create a virtual graph, wherein the workflow comprises two or more directed acyclic graphs (DAGs), wherein said merging comprises;
applying a label to each node of the two or more directed acyclic graphs, wherein nodes representing a same computation in each directed acyclic graph have a same label applied thereto;
assigning each node in the two or more directed acyclic graphs with a unique label to a unique node in the virtual graph; and
assigning each node in the two or more directed acyclic graphs that shares the same label with one or more additional nodes are assigned to a same node in the virtual graph;
computer useable program code for mapping each of one or more nodes of the virtual graph to one or more physical nodes; and
computer useable program code for using a message passing scheme to implement a computation via the one or more physical nodes.
1 Assignment
0 Petitions
Accused Products
Abstract
A system and computer program product for implementing a workflow include merging a workflow to create a virtual graph, wherein the workflow comprises two or more directed acyclic graphs (DAGs), mapping each of one or more nodes of the virtual graph to one or more physical nodes, and using a message passing scheme to implement a computation via the one or more physical nodes.
-
Citations
16 Claims
-
1. A computer program product comprising a tangible computer readable recordable storage memory including computer useable program code for implementing a workflow, the computer program product including:
-
computer useable program code for merging a workflow to create a virtual graph, wherein the workflow comprises two or more directed acyclic graphs (DAGs), wherein said merging comprises; applying a label to each node of the two or more directed acyclic graphs, wherein nodes representing a same computation in each directed acyclic graph have a same label applied thereto; assigning each node in the two or more directed acyclic graphs with a unique label to a unique node in the virtual graph; and assigning each node in the two or more directed acyclic graphs that shares the same label with one or more additional nodes are assigned to a same node in the virtual graph; computer useable program code for mapping each of one or more nodes of the virtual graph to one or more physical nodes; and computer useable program code for using a message passing scheme to implement a computation via the one or more physical nodes. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A system for implementing a workflow, comprising:
-
a memory; and at least one processor coupled to the memory and operative to; merge a workflow to create a virtual graph, wherein the workflow comprises two or more directed acyclic graphs (DAGs), wherein said merging comprises; applying a label to each node of the two or more directed acyclic graphs, wherein nodes representing a same computation in each directed acyclic graph have a same label applied thereto; assigning each node in the two or more directed acyclic graphs with a unique label to a unique node in the virtual graph; and assigning each node in the two or more directed acyclic graphs that shares the same label with one or more additional nodes are assigned to a same node in the virtual graph; map each of one or more nodes of the virtual graph to one or more physical nodes; and use a message passing scheme to implement a computation via the one or more physical nodes. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16)
-
Specification