More efficient high availability and resource utilization through manageability

22
c. Set up slo structures for each status metric, with the SLO active when the package is active.
The metrics given by the tune structures in step b are pkgA
_active and pkgB_active.
Use these metrics in condition statements in the SLOs you create for the packages. Create
your slo structures as follows:
slo pkgA
_slo {
pri = 1;
cpushares = 200 total;
entity = PRM group pkgA;
condition = metric pkgA
_active;
}
slo pkgB
_slo {
pri = 2;
mincpu = 1;
maxcpu = 800;
entity = PRM group pkgB;
condition = metric pkgB
_active;
goal = usage
_CPU;
}
The SLO for pkgA has a cpushares statement equal to 200, meaning the SLO will request
that exactly 200 CPU shares (equivalent to two CPUs) be granted to the pkgA workload
group. This SLO is the top priority, so give it a priority of 1.
The SLO for pkgB has a usage goal. With this type of goal, WLM by default attempts to give
the workload group more CPU if it is using more than 75% of the CPU it already has.
However, if the group is using less than 50% of the CPU it has, WLM takes away some of
those CPU resources. Assign a priority of 2 to this SLO.
Recall that the condition statement governs when an SLO is active: If an SLO’s condition
expression is true, the SLO is active. In these cases, the expressions metric pkgA
_active
and metric pkgB
_active are true when the pkgA_active and pkgB_active metrics
are 1.
Note: Workload groups that have only inactive SLOs continue to consume system resources.
To prevent this needless consumption, use the transient
_groups tunable, which is
described in step e.
d. Set the absolute_cpu_units tunable in a global tune structure.
This tunable ensures WLM treats 100 CPU shares as one CPU. It is used in this configuration
because the SLO for pkgA is requesting 200 shares and it must be treated as two CPUs. Set
this tunable as shown:
tune {
absolute_cpu_units
= 1;
}
e. (Optional) Use transient_groups in a global tune structure to temporarily remove
workload groups with no active SLOs (optional).
By default, if a package’s workload group has no active SLOs, WLM reduces its resource
shares. Such a workload receives at least 1% of the total CPU, unless it has a gmincpu value
requesting more. If the extended_shares tunable is set to 1, FSS workload groups with
inactive SLOs receive a minimum of 0.2% of the total CPU. Similarly, if you are using WLM
memory management, the workload with no active SLOs receives at least 1% of the memory
(0.2% if extended_shares is set), unless the group has a gminmem value requesting more.
If you would prefer these groups to go away temporarily (as long as they have no active
SLOs) and consume no CPU or memory resources, set the transient
_groups tunable to 1
(available starting with WLM A.02.01) in a global tune structure:
tune {
absolute_cpu_units
= 1;