Configuring the minimum services scheduling policy for data affinity

Configure the minimum services (R_MinimumServices) scheduling policy to allow service instances to be reused for tasks in the same session, eliminating the need to reload data for each task. Additionally, you can enable resource reservations, which guarantee that IBM® Spectrum Symphony will not start tasks in a session until there is a minimum number of resources allocated to (reserved for) the session.

Before you begin

  1. The minimum services scheduling policy and resource reservation are supported for both slot-based scheduling and multidimensional scheduling IBM Spectrum Symphony workload. They are not supported for MapReduce jobs.
  2. When configuring the minimum services scheduling policy with multiple session types for an application, each resource group name in the resource group filters should be unique among all of the session types; otherwise you may get one less than the configured number of minimum services running.
  3. If you are enabling resource reservation, as a best practice, disable session preemption to avoid preemption of existing workload.
  4. This topic involves editing the application profile using the cluster management console. If you are editing the application profile outside the cluster management console, in the appropriate application profile sections, add the parameters directly to the file and then register the application by running the soamreg command. For example, in the Consumer section, add the policy="R_MinimumServices" parameter and value. In the SessionTypes section, add the parameters priority and minServices) and then register the application).

Procedure

  1. In the cluster management console, click Workload > Symphony > Application Profiles.

    The Applications page displays.

  2. Select the application you want to modify.

    The Application profile page displays.

  3. Expand SSM scheduling policy, and under Policy Name, select R_MinimumServices.
  4. Expand Session Type Deinition, define the Priority for sessions of this type, and the Minimum Services (minimum number of CPU slots required for sessions of this type).

    The priority value is used to allocate service instances other than the minimum number of service instances. The minimum number of slots remains allocated to the session regardless of workload or priority of other sessions.

    For example, you have 66 service instances and three session types, and you defined the minimum number of instances to be two per session type, two instances are allocated to each session to meet the minimum instance requirement. The remaining 60 service instances are distributed to the sessions proportionally based on priority of the session type: Session1 receives 12 service instances, Session2 receives 22 service instances, and Session3 receives 32 service instances:
    Table 1. Sessions, service instances, priority, and allocated instances
    Session and session type Minimum service instances configured Priority Allocated instances
    Session1, SessionA 2 10 Minimum allocated instances: 2 Additional allocated instances: 10
    Session2, SessionB 2 20 Minimum allocated instances: 2 Additional allocated instances: 20
    Session3, SessionC 2 30 Minimum allocated instances: 2 Additional allocated instances: 30
  5. Reserve resources to guarantee that tasks will not be started in a session until there is a minimum number of resources allocated to the session:
    1. Expand SSM Scheduling Policy and select Enable resource reservation.
    2. Expand Session Type Definition, and under Resource Reservation Timeout (Seconds), specify the maximum number of seconds that resources can be reserved by a session before the session times out. After this timeout period, the session aborts.
    3. Expand Session Type Definition and select Abort session with reserved resources. If a task re-queues for any reason, the session aborts.
  6. Click Save to apply your changes.