Execution Environment for Data Transformation Applications
First Claim
1. A method for executing a dataflow application comprising:
- providing a dataflow application comprising a plurality of map components and data ports, a number of map components being linked between data ports and some map components comprising composite components having a plurality of processes;
allocating a processing thread to each map component; and
executing each map component on a separate thread.
8 Assignments
0 Petitions
Accused Products
Abstract
The execution environment provides for scalability where components will execute in parallel and exploit various patterns of parallelism. Dataflow applications are represented by reusable dataflow graphs called map components, while the executable version is called a prepared map. Using runtime properties the prepared map is executed in parallel with a thread allocated to each map process. The execution environment not only monitors threads, detects and corrects deadlocks, logs and controls program exceptions, but also data input and output ports of the map components are processed in parallel to take advantage of data partitioning schemes. Port implementation supports multi-state null value tokens to more accurately report exceptions. Data tokens are batched to minimize synchronization and transportation overhead and thread contention.
-
Citations
13 Claims
-
1. A method for executing a dataflow application comprising:
-
providing a dataflow application comprising a plurality of map components and data ports, a number of map components being linked between data ports and some map components comprising composite components having a plurality of processes; allocating a processing thread to each map component; and executing each map component on a separate thread. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A dataflow application having multiple processes executed on one or more multi-threaded central processing units (“
- CPUs”
) connected by data input and output ports wherein at least some ports are implemented to indicate multiple state null value data tokens. - View Dependent Claims (11, 12, 13)
- CPUs”
Specification