Implementing WLM

What you have to do to use CICSPlex® SM’s workload management functions varies depending on whether you want to implement workload balancing only, or whether you also want to implement some workload separation, and possibly define one or more transaction affinities in the same CICSplex. You are recommended to follow this process:

  1. Identify candidates for dynamic routing
  2. Implement workload balancing for each workload in the CICSplex where dynamic routing is possible.
  3. Add any necessary workload separation requirements.
  4. Define any intertransaction affinities.

Each step is described in the remainder of this section.

Identifying dynamic routing candidates

Not all work requests are candidates for dynamic routing. The conditions that have to apply for a work request to be eligible are listed in the CICS® Intercommunication Guide.

For further details:

Implementing workload balancing

To implement workload balancing within a CICSplex, your task is very straightforward:

  1. If there is more than one routing region in a single workload, create a CICS system group of those routing regions, using the CICSGRP object.
  2. Create a CICS system group of the target regions to which the routing regions can route transactions, using the CICSGRP object. This group could include every CICS system in the CICSplex.
  3. Create one workload specification for each workload in the CICSplex, using the WLMSPEC object. In the workload specification, specify the name of the target system group as the target scope value, and identify which algorithm is to be used for workload balancing.
  4. Associate the single routing region, or the routing system group, with the workload specification. (Remember that you can have multiple workloads in single CICSplex, but that a routing region or group of routing regions can belong to only one active workload specification at a time.)

Workload balancing is effective within the workload when a routing region belonging to the workload is next started.

Adding workload separation requirements

To implement workload separation in the same workload, by any combination either of user id, terminal id, and transaction group, or of process type and transaction group:

  1. Create a CICS system group for each set of target regions, using the CICSGRP object. For example, if:

    and

    two target system groups must be defined: one group includes target regions 2 through 7, and one group includes target regions 5 through 9.
  2. Define a transaction group, using the TRANGRP object, if workload separation by transaction is to be implemented. For example, if transactions EFG1, EFG2, and EFG3 must be routed to a specific group of target regions, you must define a transaction group to include those transactions.
  3. Create one workload definition, using the WLMDEF object, for each user, terminal, and transaction group combination. For the example in item 1 (above): A third workload definition would be required to support the workload separation by transaction described in item 2. In each workload definition, include the name of the appropriate target region system group to which eligible transactions are to be routed.
  4. If the workload definitions are to be installed automatically when the first requesting region in the workload starts, you should use the WLMGROUP object to:
    1. Create a workload group.
    2. Add the workload definitions to the workload group.
    3. Associate the workload group with the workload specification.

    Automatic installation of the workload definitions is likely to be required, because workload separation is usually a regular and consistent requirement. However, you can also install a workload group or individual workload definitions manually for immediate effect.

Defining intertransaction affinities

If there is a requirement for multiple transactions in the workload to be processed by the same target region:

  1. Create a transaction group, using the TRANGRP object, for each set of transactions within the workload that share an affinity. For example, if transactions MNO1, MNO2, and MNO3 must be processed by the same target region (perhaps because they run in sequence and leave data for the next transaction), define a transaction group to include those three transactions specifying the affinity type and its duration.
  2. If you want to implement workload separation, create a workload definition for each transaction group and user or terminal pattern, using the WLMDEF object. For example, if the intertransaction affinity described in item 1 (above) applies to any user from terminals NYORK*, the workload definition must include that information. In addition, the workload definition identifies the set of target regions from which CICSPlex SM can select one. This could be every target region in the CICSplex, or some subset of target regions.

    Note that you can define an intertransaction affinity to CICSPlex SM without also implementing workload separation. In this case, no workload definition is required and CICSPlex SM routes the first transaction in the group to a suitable target region from the set identified in the workload specification. Subsequent transactions in the transaction group are routed to the same target region while the affinity is active.

  3. If the workload definitions are to be installed automatically when the first routing region in the workload starts, you should use the WLMGROUP object to:
    1. Create a workload group.
    2. Add the workload definitions to the workload group.
    3. Associate the workload group with the workload specification.
    You can also install a workload group or individual workload definitions manually for immediate effect.
Note:
It’s important that you define routing regions and target regions in groups, to ensure that changes to the composition of those groups are automatically reflected in CICSPlex SM’s workload management.

A recommended approach

When you decide to implement WLM functions in your enterprise, you should begin by defining the appropriate objects. You should:

Then, to create associations between these objects:

You can use the MAP action command to display a visual map of the WLM definitions in your data repository. If you want to see a list of the objects and associations you have already defined, use the WLMINGRP, WLMINSPC, and WLMSCOPE views.

CICSPlex SM includes a Starter Set of CICSPlex SM object definitions that illustrates the concepts and components introduced in this chapter. The Starter Set is described in detail in The CICSPlex SM Starter Set.

If you have problems defining any particular object or association, refer to the CICSPlex SM Starter Set examples. The Starter Set includes many WLM examples that you can use as models for your own objects. You can copy the supplied samples directly into your data repository via the batched repository-update facility. For more information about using the Starter Set as a model see the CICS Transaction Server for z/OS® Installation Guide. For information about the batched repository-update facility, see CICSPlex System Manager Administration.

[[ Contents Previous Page | Next Page Index ]]