IBM Streams 4.2

Setting the default placement scheme at the instance or domain level

You can specify the default way in which PEs are distributed at the domain or instance level. A user can optionally override the default placement scheme when they submit a job. However, if a user does not specify a placement scheme when they submit the job, the default value from the domain or instance is used.

About this task

The default placement 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 placement scheme is balancedInstance.

You can set the default placementScheme by running the streamtool setproperty command.

The placementScheme determines how the processing elements (PEs) in an application are distributed among the hosts in the instance. You can set the placementScheme property at the following levels:
  • The instance level (instance.placementScheme)
  • The domain level (domain.placementScheme)

If you do not specify the placementScheme property at the instance level, the value from the domain level placementScheme setting is used.

Valid values for the placmentScheme property are:

balancedJob
Balance the PEs within this job. When you specify this option, the PEs are spread between the resources based on the capacity of the resources. This option does not account for any other jobs that are currently running in the instance.

Specify this option if you are concerned only about the placement of the job being submitted, and you want the placement to be very predictable.

balancedInstance
Balance the PEs within this instance. When you specify this option, the PEs are spread between the resources based on the capacity of the resources and the number of PEs that are running on the resources from previous jobs, which can provide an approximation for the current load on the resource. This is the default setting.

This option is likely to give the best placement results in most environments.

legacy
Use the behavior from IBM Streams Version 4.1.1 or earlier. The PEs are spread between the resources in proportion to the capacity of the resources and the current load on each resource.
However, this option rarely results in the best placement in the long run because it depends heavily on the following factors:
  • IBM Streams must be able to accurately predict the load that will be placed on each resource by a given PE.
  • The current load on each host must be a good predictor of the expected future load.

Specify this option if the placement behavior from previous releases works well for your environment.

Example

If you want to set the placement scheme for an instance to balancedJob, enter the following command:

streamtool setproperty -i myInstance instance.placementScheme=balancedJob