Workspace 7.0.2

Basic Usage

A run operation in parallel operation allows you to run a number of operations in parallel. Consider you have 2 or more operations in your workflow that are not connected one another, hence there is no dependency between them when Workspace execute the workflow, these operations will be brought up to date one after another within the same working thread by default. If those operations take time, the total execution time will be the sum of them.

Using a run operations in parallel operation, and connect Dependencies output from those operations to the Parallel operations array input of run operations in parallel operation will then schedule these operations to separate working threads.

Example 1: Making non-dependent operations run in parallel

When all operations connected to a run operations in parallel operation are up-to-date, the run operations in parallel operation will finish its updating and allow its downstream operations to update. It is very important that if any downstream operation relies on outputs of those operations running in parallel, they should also be directly having a connection to Dependencies output of the run operations in parallel operation. This keeps them wait until the parallelized update finish. Otherwise, to make sure the execution correct, Workspace may choose to bring those outputs up-to-date before the run operations in parallel operation is updated, that simply means the operation is executed out of the parallel execution and the takes more time.

Example 2: Connect Dependencies to image writer operation to avoid Big image reader run before parallel execution

Before parallel operations start execution, run operations in parallel operation will bring all their inputs up-to-date, that means only the operations directly connect to Parallel operations will be run in parallel. To run more operations together in one of the working thread, you can use a nested Workspace to wrap them up. The nested Workspace should be set to atomic in its property so you can connect its Dependencies output to the run operations in parallel operation.

Example 3: Only Big image reader and Heavy calculation operation run in parallel, Complex calculation to get a filename ran before them
Example 4: Use embed workspace to run complex workflow in parallel