HPlogo Using the HP 3000 Workload Manager: HP 3000 MPE/iX Computer Systems > Chapter 4 Tuning System Performance

Responding to Unanticipated Changes in the Workload

» 

Technical documentation

Complete book in PDF
» Feedback

 » Table of Contents

 » Glossary

 » Index

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.
Feedback to webmaster