The Multi thread execution feature allows you to run mutliple 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:
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.For a use case of using the Multi-thread Execution feature to run Jobs in parallel, see Data Integration Job Examples.