Setting the default fusion scheme at the instance or domain level
You can specify the default way in which the operators are fused at the domain or instance level. A user can optionally override the default fusion scheme when they submit a job. However, if a user does not specify a fusion scheme when they submit the job, the default value from the domain or instance is used.
About this task
The default fusion scheme is specified as a dynamic instance or domain property that takes effect without requiring an instance or domain restart. For IBM Streams Version 4.2, the default fusion scheme is automatic.
You can set the default fusionScheme by running the streamtool setproperty command.
- The instance level (instance.fusionScheme)
- The domain level (domain.fusionScheme)
Valid values for the fusionScheme property are:
- automatic
- If you specify automatic as your fusion scheme, IBM
Streams determines the appropriate number of PEs to assign to the job. Typically, this fusion scheme results in one PE per resource. However, IBM Streams might change the number of PEs produced to avoid the following situations:
- Creating PEs that contain a very small number of operators, which can have a negative impact on performance
- Creating PEs that contain too many operators, which can prevent IBM Streams from effectively balancing workloads by moving PEs between hosts
- manual
- If you specify manual as your fusion scheme, you can then specify the number of PEs to assign to the job (by specifying a value for the fusionTargetPeCount parameter). The actual number of PEs might vary based on other job configuration constraints, the specifications of the application, and the configuration of the instance where you plan to deploy the application. For example, if you specify a large number of partition ex-location constraints, the resulting application might have more PEs than you expect.
- legacy
- If you specify legacy as your fusion scheme, the operators are fused the same way they were prior to IBM Streams Version 4.2. Typically, each operator is fused into a separate PE if no other placement config is specified in the application bundle file.
Example
If you want to set the fusion scheme to manual, enter the following command:
streamtool setproperty -i myInstance instance.fusionScheme=manual
Note that when an instance's default fusion scheme is set to manual, each application must set fusionTargetPeCount at submission time.