IBM Books

Installation


Chapter 7. File Formats

This chapter describes formats for PE files created and edited by system administrators (in /etc).


/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. The service is specified by 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 - user selects class with POE environment variable MP_PRIORITY

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 portion 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.)

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


Using the /etc/poe.limits File

The optional /etc/poe.limits file enables the system administrator to override the default values for certain POE environment variables.

This is useful in cases where the environment variable default values might cause problems on a particular node. For example, if a node had only 64M of real memory, the default value of 64M for MP_BUFFER_MEM would be too high; to correct this problem, the system administrator would specify a lower value for MP_BUFFER_MEM in the /etc/poe.limits file on that node.

Entries in the /etc/poe.limits File

Entries in the /etc/poe.limits file must be in the form:

supported_object = value

where supported_object is currently limited to MP_BUFFER_MEM, MP_AUTH, and MP_USE_LL.
Note:Any line in the file with the character # or ! in the first column is treated as a comment.

Handling of /etc/poe.limits by the Partition Manager Daemon (pmdv2)

If the /etc/poe.limits file has been set up on a particular node, the Partition Manager daemon (pmdv2) on that node:

  1. compares the values specified in the /etc/poe.limits file against the environmment variables received from the home node

  2. if necessary, resets the environment variables as follows:

    MP_BUFFER_MEM

    If the value in the environment exceeds the value specified in /etc/poe.limits, then pmdv2 resets the value to that in /etc/poe.limits.

    MP_AUTH

    If the value in the environment is different from the value specified in /etc/poe.limits, then pmdv2 resets the value to that in /etc/poe.limits.

    MP_USE_LL

    If the value in the file is yes and POE determines that the job is not being run under LoadLeveler, the job is terminated. Setting the value to no has no effect.

  3. if a supported_object is specified in /etc/poe.limits but is not set in the environment, sets the value to that specified in /etc/poe.limits
Note:If the /etc/poe.limits file contains any entries either with unsupported objects to the left of the equal sign or with invalid (non-numeric for MP_BUFFER_MEM, or not AIX or DFS for MP_AUTH) values to the right, pmdv2 flags these entries in the pmdlog for that node. pmdv2 also uses the pmdlog to indicate when a supported_object has been set or reset in the environment.


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