IBM Streams 4.2

Specifying how PEs are distributed in an application

You can specify how the PEs in an application are distributed among the hosts in the instance. The placement scheme that you use can impact the runtime performance of the application.

About this task

Choosing the appropriate placement scheme for your environment can prevent resources from being overloaded.

You can specify the placement scheme by using a job configuration overlay file or from the IBM® Streams Console, IBM Streams Studio, or the streamtool submitjob command.

IBM Streams supports the following placement schemes (placementScheme):
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.

If you do not specify a placement scheme, IBM Streams uses the default placement scheme from the instance on which you deploy the application. For more information, see Setting the default placement scheme at the instance or domain level. (This is the placement scheme that is used if you set Default in the console.)