Hierarchical PRM groups

In addition to the flat divisions of resources presented so far, you can nest FSS PRM groups inside one another—forming a hierarchy of groups similar to a directory structure. Hierarchies allow you to divide groups and allocate resources more intuitively than you can with flat allocations. Note that PSET PRM groups cannot be part of a hierarchy.

When forming a hierarchy, any group that contains other groups is known as a parent group. Naturally, the groups it contains are known as child groups. All the child groups of the same parent group are called sibling groups. Any group that does not have child groups is called a leaf group.

There is also an implied parent group of all groups where the implied parent has 100% of the resource to distribute.

Figure 5 (page 20) illustrates a configuration with hierarchical groups, indicating the parent, child, sibling, and leaf PRM groups.

Figure 5 Parent, child, sibling, and leaf PRM groups

In Figure 2-1, parent groups are the Development and Development/Compilers groups. There is also an implied parent group to the Finance, Development, and OTHERS groups. The Development group has the children Development/Compilers, Development/Debuggers, and Development/Profilers. The Compilers group is broken down further with two children of its own: Development/Compilers/C and Development/Compilers/Fortran. These two groups are also known as sibling groups. Leaf groups are groups that have no children. In the illustration above, leaf groups include the Finance, Development/Debuggers, and OTHERS groups, among others.

You specify resource shares for each group in a hierarchy. If a group has child groups, the parent group’s resource shares are distributed to the children based on the shares they are assigned. If a group has no children, it uses the shares. More explicitly, the percentage that a group’s shares equate to is determined as follows:

1.Start at the top level in the hierarchy. Consider these groups as sibling groups with an implied parent. This implied parent has 100% of the CPU resource to distribute. (Shares work the same way for CPU and private memory resources.)

2.Add all the CPU shares of the first level of sibling groups together into a variable, TOTAL.

3.Each sibling group receives a percentage of CPU resources equal to its number of shares divided by TOTAL.

20 Understanding how PRM manages resources