IBM Support

Policy Agent Configuration with Sysplex Distributor

Troubleshooting


Problem

Policy agent (PAGENT) must be configured correctly for connections (in conjunction with Sysplex Distributor) to be distributed properly. The function of PAGENT is unexpected if the algorithms used within PAGENT are not understood.

Resolving The Problem

Policy agent calculates two different types of weight fractions. These are then sent to the Sysplex Distributor (SD) stack where they are used to modify the WLM weight (W/Q) for a given target. For example, a weight fraction of 50% cuts the WLM weight in half, so the higher the weight fraction, the lower the WLM weight.

The first type of weight fraction is the default fraction. Default fractions are calculated for each DVIPA/port pair on each target stack that also has a policy rule and action defined for it. There are two calculations (but only one fraction) that make up the default fraction:


These two are then added together to form the weight fraction, up to 100%. If a Traffic Regulation (TR) policy also exists for the target application, and the application is in TR "constrained" mode then the weight fraction is set to 100%.

The second type of weight fraction is the policy action fraction. These are calculated for each policy action for each DVIPA/port pair on each target stack, and thus are more granular than the default fractions. These require that SD-specific policies be configured on both the distributor and target stacks (more on this below).

Both types of fractions are sent to the SD component; the policy action fraction is used if an SD policy action exists for the DVIPA/port, otherwise the default fraction is used. There are four calculations (but three separate fractions) that make up the policy action fraction.

The first two are the same retransmit and timeout fractions that are calculated for the default fraction. These are added together to form a single fraction, up to 100%.

  • connection limit fraction - based on a percentage of maximum allowed connections that are active. The fraction is set to:
    • 50% if the active connections are 70-85% of the maximum
    • 85% if the active connections are 86-95% of the maximum
    • 100% if the active connections are > 95% of the maximum
  • throughput fraction - based on actual throughput compared to the DiffServInProfileRate (if any) specified in the corresponding PolicyAction. If 85% or above of the DiffServInProfileRate is being achieved, then this fraction is set to 100%.

The PolicyAction fraction used is the greater of the above 3 fractions. The TR constrained test is then applied, setting the policy action fraction to 100% if applicable.

To summarize:

Default fractions are used when policies exist on the target stacks that map to the applications on the target stacks. These fractions include only retransmit and timeout calculations.

Policy action fractions are used when SD-specific policies exist on both the distributor and target stacks that map to the applications on the target stacks. These fractions include retransmit/timeout, connection limit, and throughput calculations. TR constrained mode being met for any target application causes the fraction to be set to 100%.

For any calculated fraction to be set to 100%, SD-specific policies on both the distributor and target stacks are required. This allows the W/Q value to drop to 0.

Separate policy rules are needed for the distributor and target. The distributor rules must specify ForLoadDistribution TRUE on the PolicyRule statement, and identify the destination port of the application. This is because, from the distributor's point of view, it is looking at inbound connection requests. The target rules must specify the source port of the application, because from the target's point of view, it is looking at outbound traffic. Also note that on the target, the rules must specify only source information, not destination information. This is because the target has to consider all possible rules that might match outbound traffic from the target applications, considering a 2-tuple instead of a 4-tuple. For example, suppose DVIPA/port pair 129.1.1.1/80 is being distributed. If an SD policy rule is defined on the target with the following conditions:


    source port 1000/source address 130.2.2.2

or

    destination port 1000/destination address 130.2.2.2

then this rule will be used to calculate weight fractions for DVIPA/port pair 129.1.1.1/80. This is because the second set of conditions matches the source DVIPA/port pair. No source information means it matches all source addresses/ports. For this reason, only source information should be specified in SD policies on target stacks.

The distributor and target rules must specify the same policy action name. This is easiest if they use the same policy action. The distributor policy action must specify applicable targets using the OutboundInterface parameter. This can be specified as 0.0.0.0 to mean all targets. It is acceptable if the target uses the same policy action; OutboundInterface does not apply at the target.

[{"Product":{"code":"SSSN3L","label":"z\/OS Communications Server"},"Business Unit":{"code":"BU054","label":"Systems w\/TPS"},"Component":"All","Platform":[{"code":"PF035","label":"z\/OS"}],"Version":"1.6;1.7;1.8;1.9;1.10;1.11;1.12;1.13;2.1;2.2;2.3","Edition":"All Editions","Line of Business":{"code":"LOB35","label":"Mainframe SW"}}]

Document Information

Modified date:
15 June 2018

UID

swg21114222