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 may 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 Teracloud®
Streams Version 7.2.0, 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, Teracloud® Streams determines the appropriate number of PEs to assign to the job.
Typically, this fusion scheme results in one PE per resource. However, Teracloud® Streams might change the number of PEs produced to avoid creating PEs that contain a very small number of operators, which can have a negative impact on performance.
- 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, each operator is typically fused into their own 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.