IBM Books

Installation


/etc/poe.priority Dispatching Adjustment Parameters

Certain applications can benefit from enhanced dispatching priority during execution. POE provides a service for periodically adjusting the dispatching limits of a user's task between set limits. Specify this service by adding entries in the file /etc/poe.priority, as described below. Each record in the file associates a set of dispatching parameters (high and low priorities, duty factor, and adjustment period) with each user authorized to use this service. The user specifies which service entry to use by setting the MP_PRIORITY environment variable prior to invoking POE. There is no command-line equivalent.

The range of parameters permitted in the adjustment record is purposely set to be as unrestricted as possible. The user and system administrator (who owns the configuration file) must evaluate the effect of various parameter settings in their own operating environment. Carefully read the notes accompanying the file format description. The following are descriptions of the parameters.

username
name of user

classname
name assigned to class. The user can select the class by setting the POE environment variable MP_PRIORITY to this class name prior to invoking POE.

hipriority
the dispatching priority assigned to the favored portion of the cycle

lopriority
the dispatching priority assigned to the rest of the cycle

percenthi
the percentage of the cycle at which the job is at hipriority (percent)

period
length of adjustment cycle, in seconds

Notes:

  1. The normal AIX dispatching priority is 60. If both hipriority and lopriority are set to values less than 60, a compute bound job will prevent other users from being dispatched.

  2. The hipriority value must be equal to or greater than 12. If the value is between 12 and 20, the job competes with system processes for cycles, and may disrupt normal system activity.

  3. If hipriority value is less than 30, keystroke capture will be inhibited during the hipriority portion of the dispatch cycle.

  4. If hipriority is less than 16, the job will not be subject to the AIX scheduler during the high priority portion of the cycle.

  5. The lopriority value must be less than or equal to 127.

  6. If the hipriority value is less than (more favored than) the priority of the SP Switch fault-service daemon, and if the low priority portion of the adjustment cycle is less than two seconds, then switch fault recovery will be unsuccessful, and the node will be disconnected from the switch.

  7. The priority adjustment process allows programs using the User Space access to the SP Switch to maximize their effectiveness in interchanging data. The process may also be used for programs using IP, either over the switch or over another supported device. However, if the high priority phase of the user's program is more favored than the network processes (typically priorities 36-39), the required IP message passing traffic may be blocked and cause the program to hang.

  8. Consult the include file /usr/include/sys/pri.h for definitions of the priorities used for normal AIX functions.

  9. The parameter file /etc/poe.priority defines the scheduling parameters for tasks running on that node. Each node may have a different priority file.

  10. The primary performance enhancement is achieved when the user's application can run with minimal interference from the standard AIX daemons running on each node. This is achieved when the user's application is scheduled with a fixed priority more favored than the daemons, which typically run with a priority setting of 60.

  11. Status and error messages generated during the priority adjustment process are written to the file /tmp/pmadjpri.log. Also, any error or diagnostic information from POE's invocation of the priority adjustment function will be recorded in the partition manager log (controlled by the POE MP_PMDLOG environment variable and -pmdlog flag.)

  12. The current implementation controls only a single task on a node. The task may have multiple threads to make use of the processing resources of an SMP node. The threads of the task will all be assigned the same priority and will be dispatched as round-robin.

Examples:

userfoo   super     12    64    95    10
userfoo   sponge    64    120   50    30
edgar     default   20    64    95    10
edgar     normal    60    60    50    20


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ]