Responding to Unanticipated Changes in the Workload [ Using the HP 3000 Workload Manager ] MPE/iX 5.0 Documentation
Using the HP 3000 Workload Manager
Responding to Unanticipated Changes in the Workload
Creating a suitable workgroup configuration that you can adjust to meet
anticipated changes in usage is the most desirable way to tune system
performance. However, situations may arise that require you to manage
your system reactively instead of proactively. Using the Workload
Manager, you can resolve system problems by adjusting the behavior of a
single workgroup or a single process. The following sections present
typical scenarios in which reactive changes are necessary.
To improve a workgroup's CPU access
A situation may arise in which you need to give an entire workgroup
improved access to the CPU. For example, suppose it is a particularly
heavy day for orders and your telephone sales representatives need
improved response time.
To improve a workgroup's access to the CPU, you can use the ALTWG command
to do any of the following:
* Increase the base and limits of the workgroup to higher
priorities. Since the MPE/iX Dispatcher is priority-driven, this
will give the members of this workgroup preference over
lower-priority processes.
* Increase the minimum CPU percentage of this workgroup (and
decrease the minimums of other workgroups). Note that this is
only effective if the workgroup is using all of the CPU its
minimum provides.
* Increase the maximum CPU percentage of the workgroup (and decrease
the maximums of other workgroups). Note that this is only
effective if the workgroup has already reached its original
maximum.
To degrade a workgroup's CPU access
A situation can arise in which you need to decrease the priority of an
entire workgroup. For example, suppose a batch run did not complete the
night before and is now impacting the response time of interactive users.
Or, perhaps a group of users is receiving 0.25 second response time when
a 0.5 second response would be sufficient, making additional CPU
available to other processes.
To degrade a workgroup's access to the CPU, you can use the ALTWG command
to do any of the following:
* Decrease the base and limits of the workgroup to lower priorities.
Since the MPE/iX Dispatcher is priority-driven, this will give
other workgroups with a higher range of priorities preference over
this one.
* Decrease the minimum CPU percentage of this workgroup. Note that
this is only effective if the workgroup is already using the CPU
its minimum provides. Lowering the CPU minimum from 25% to 20%
will have no effect if the workgroup is only consuming 15%.
* Impose a maximum CPU percentage on the workgroup, or lower the
existing maximum CPU percentage, such that the workgroup is
constrained to run within a smaller percentage of the CPU
allocation than it can consume.
To modify CPU access for a single process
There may be occasion when you need to single out a process and move it
to a higher or lower priority. For example:
* You may need to increase a process' priority if an online user has
a critical task and needs faster response time, or if a batch job
needs to finish quickly.
* You may need to decrease a process' priority if it is in an
infinite loop that is critical and cannot be killed, or if a CPU
intensive process is performing a task that isn't time-critical.
To handle one process that is causing problems, do the following:
1. Use the NEWWG command to create a high-priority workgroup that you
will use to temporarily hold processes that require more of the
CPU. For example, to create a Hipri_procs workgroup with the base
and limit priorities set to 152, enter:
:NEWWG Hipri_procs; memb_logon="special,manager.sys";&
base=152;limit=152; position=AS_Default
In this example, the membership criteria requires that someone log
on as manager.sys, using the job or session name special. Since
the user name and account is password-protected, it is highly
unlikely that anyone other than you could logon and gain access to
this workgroup by naturally meeting the membership criterion.
(Instead of using your own user identity in the membership
criterion, you could also create a logon that does not exist on
your system.)
This command includes the POSITION parameter to place the
workgroup at the end of the list of user-defined workgroups, which
minimizes scanning.
2. Use the NEWWG command to create a low-priority workgroup that you
will use to temporarily hold processes that are using too much of
the CPU. For example, to create a Lowpri_procs workgroup with the
base and limit priorities set to 255, enter:
:NEWWG Lowpri_procs; memb_logon="special,manager.sys";&
base=255;limit=255; position=AS_Default
As in step one, this membership criteria is sufficiently
restrictive to prevent others from becoming natural members of
this workgroup.
3. If necessary, enter the SHOWPROC command to identify the process
whose CPU access you need to modify.
4. Use the ALTWG command to move the process to the appropriate
workgroup. For example, to give a process improved CPU access,
move it to the Hipri_procs workgroup:
ALTPROC pin;WG=Hipri_procs
Or, for example to move a CPU-bound process that is impacting
other users to a low priority, enter:
ALTPROC pin;WG=Lowpri_procs
NOTE Another way to guarantee improved access to the CPU is to define a
larger minimum CPU value, as well as high base and limit
priorities, for the Hipri_procs workgroup. Then, move processes to
that workgroup on an "as needed" basis.
MPE/iX 5.0 Documentation