HP-UX Workload Manager User's Guide
Configuring WLM
Tuning the metrics and the SLOs
Chapter 5 225
WLM starts a performance controller for each goal-based SLO. It also
starts a usage controller for each usage goal. Each controller calculates
new CPU shares requests if the reported data indicates the workload is
overachieving or underachieving its goal. The controller then requests
the new number of CPU shares.
NOTE Although convergence tuning is optional from a syntactic point of view,
you should use cntl_kp or cntl_convergence_rate for each controller
to fine-tune it to the characteristics of its workload.
The performance controllers receive two real-time inputs: The number of
CPU shares the workload had during the last WLM interval and the
workload performance during that period. Usage controllers work on
inputs of the workload’s percent of CPU resources used and its CPU
allocation for the last interval.
To determine the new CPU shares allocation, each controller effectively
executes an algorithm that, when plugging in cntl_kp (as opposed to
cntl_convergence_rate), is represented as follows:
New CPU allocation =
(Allocation last interval) + cntl_kp * P
where
cntl_kp Is a tunable parameter for the controller to indicate a
workload’s sensitivity to changes in CPU allocation. It
is specified in the WLM configuration file.
P Is the deviation from the goal.
WLM calculates P based on the goal type, as indicated in the following:
Performance goal with met < value:
P = met - value
where, as defined in the goal_expression, met is some
metric for the workload and value is a goal value for
the metric.
For example, if the goal (value) was that response time
be less than 2 seconds, and the measured response time
(met) was 3 seconds, the deviation from goal is
calculated: