HP-UX Workload Manager User's Guide
Configuring WLM
Defining the PRM components (optional)
Chapter 5 181
Recall that WLM attempts to equally satisfy all SLOs at a given priority
by allocating CPU in the same weight-to-allocation ratio. With B
satisfied, we focus on groups A, C, and OTHERS. The weight-to-allocation
ratio for A and C is 5/10, or 1/2. The ratio for OTHERS is undefined because
it currently has no allocation. Consequently, WLM first allocates shares
to OTHERS to bring its weight-to-allocation ratio in line with the ratios of
A and C. To match the ratio of 1/2, WLM grants OTHERS 16 shares so that
its ratio is 8/16, or 1/2, as well.
This leaves 44 excess shares for groups A and C. WLM allocates 5 each to
groups A and C, then another 8 to OTHERS to maintain the
weight-to-allocation ratio. At this point, both A and B have 15 shares each
and OTHERS has 24 shares. Group A’s SLO request is now satisfied. So,
group A will not be allocated more shares until the other SLO requests
are fulfilled.
Because the CPU allocations for groups C and OTHERS remain less than
their requested allocations, WLM will attempt to allocate more CPU
resources to these two groups. WLM allocates the remaining 26 shares to
groups C and OTHERS based on their weights. Thus, C gets an additional
10 and OTHERS gets 16 for a total of 25 and 40 shares, respectively.
Interaction between weight and distribute_excess
Now consider how the weight keyword and the distribute_excess
tunable interact. When set, the distribute_excess tunable causes
excess CPU resources to go to the workload groups you define, as
opposed to the default workload group OTHERS. In our example in
Table 5-1 in the previous section, there is not enough CPU resources to
satisfy all the requests. As such, there are no extra CPU resources to
distribute—and specifying distribute_excess would not affect the
outcome.
Consider the example in Table 5-2. The requested allocation for each
group is 20, and there are no allocations from SLOs at higher priorities.
Based on the weights, the allocations would be 50, 25, and 25 for A, B,
and C, respectively. However, whenever the weight-based allocations are