The Multi thread execution
feature allows you to run multiple subJobs that are active in the workspace in
parallel.
As explained in the previous sections, a Job opened in the workspace can
contain several subJobs and you are able to arrange their execution order using the
trigger links such as OnSubjobOK. However, when
the subJobs do not have any dependencies between them, you might want to launch them at
the same time. For example, the following image presents four subJobs within a Job and
with no dependencies in between.
The tRunJob component is used in
this example to call each subJob they represent.
Then with the Job opened in the workspace, you need simply proceed as
follows to run the subJobs in parallel:
Procedure
-
Click the Job tab, then
the Extra tab to display it.
-
Select the Multi thread
execution check box to enable the parallel execution.
This feature is optimal when the number of threads (in general
a subJob count one thread) do not exceed the number of processors of the machine
you use for parallel executions. Otherwise, some of the subJobs have to wait
until any processor is freed up.
-
If needed, fill the Parallelize
Buffer Unit Size field with the number of rows you want to
buffer for each of the threads handled in parallel before the data is processed
and the buffer is cleaned.
This setting is meaningful only if the Enable parallel execution check box is selected
and the child Jobs or subJobs contain database output components.