HPlogo Using the HP 3000 Workload Manager: HP 3000 MPE/iX Computer Systems > Chapter 5 Commands Reference

ALTWG

» 

Technical documentation

Complete book in PDF
» Feedback

 » Table of Contents

 » Glossary

 » Index

Alters the scheduling characteristics of an existing workgroup. (Native Mode)

SYNTAX

   ALTWG [WORKGROUP=]workgrp



   [[;BASE=]base] [[;LIMIT=]limit]



   [[;MINQUANT=]min] [[;MAXQUANT=]max]



   [[;BOOST=]{DECAY }] {OSCILLATE}



   [[;TIMESLICE=]tslice]



   [[;MINCPUPCT=]minpercent] [[;MAXCPUPCT=]maxpercent]
NOTE: To alter the membership criteria of a workgroup, you must use the NEWWG command.

PARAMETERS

NOTE: ALTWG follows the CI convention that positional parameters are allowed until the first high-level keyword is specified.
workgrp

The name of the workgroup whose scheduling characteristics you are modifying. This is a required parameter. Use of wildcards is not allowed.

base

An integer from 150 to 255 specifying the highest priority at which processes executing in the workgroup begin their Dispatcher transactions. Priority is inversely related to the integer: a higher-priority process has a lower number. While the full range is provided for compatability, avoid setting the base priority between 150 and 152, since user processes running at a higher priority than 152 can adversely affect system performance.

limit

An integer specifying the lowest priority which processes executing in the workgroup can attain. Priority is inversely related to the integer: a higher-priority process has a lower number. The limit, which can range from 150 to 255, must be greater than or equal to the base.

min

The minimum number of milliseconds that a process may use the CPU before its priority is reduced. The min is a lower bound for the quantum value, which determines the rate of priority decay for processes within the workgroup. Values range between 1 and 32,767, inclusive.

max

The maximum number of milliseconds that a process may use the CPU before its priority is reduced. The max is an upper bound for the quantum value, which determines the rate of priority decay for processes within the workgroup. The value of max must be greater than or equal to the value of min. Values range between 1 and 32,767, inclusive.

DECAY

Sets the workgroup to the default decay behavior associated with circular scheduling subqueues. If set, a process decays normally to the limit priority and returns to the base priority when the Dispatcher transaction is complete. DECAY is the default boost property.

OSCILLATE

Sets the workgroup to oscillate behavior. If set, a process returns to the base priority once its priority has decayed to the limit of the workgroup, even if it has not completed a Dispatcher transaction.

tslice

The timeslice is the maximum number of milliseconds a process in the workgroup can hold the CPU before returning to the Scheduler to have its priority recalculated. Values must be multiples of 100, with a minimum value of 100 and a maximum value of 32700.

minpercent

The minimum percentage of time that the CPU is available to the workgroup's member processes. Within the target workgroup, this CPU time is allocated according to the processes' priorities. The workgroup is guaranteed this minimum percentage even if higher-priority processes in other workgroups are ready to run.

If the processes in the workgroup do not require as much CPU time as their guaranteed minimum, that time will be available to processes in other workgroups. The default value for this optional workgroup characteristic is that the workgroup is not guaranteed any minimum CPU allocation and that CPU allocation is based on process priority only.

maxpercent

The maximum percentage of time that the CPU is available to the workgroup's member processes. The workgroup will be limited to this maximum percentage of time even if no other process in another workgroup is ready to run. In other words, a workgroup will be limited to this maximum percentage even if the system must remain idle for the remainder of the time.

The default value for this optional workgroup characteristic is that there is no maximum which would prevent a workgroup's processes from getting the CPU time their priorities warrant.

OPERATION

Each workgroup consists of three components, a name, membership criteria, and scheduling characteristics. The membership criteria (MEMB_LOGON, MEMB_PROGRAM and MEMB_QUEUE parameters), determine process assignment, which occurs on six occasions:

  • at process creation

  • whenever you change one of the process attributes on which membership can be based

  • when you explicitly move a process to a workgroup via the ALTPROC command

  • when you purge a workgroup, and the subsequent purgescan redistributes processes to remaining workgroups

  • when you add a new workgroup to the current workgroup configuration

  • when the current workgroup configuration is replaced

Membership conflicts are resolved by assigning a process to the first workgroup for which it qualifies. (Workgroups are maintained in an ordered list in which position is important. For more information, read the discussion of the POSITION parameter of the NEWWG command, later in this chapter.) Since the Workload Manager uses a first-fit algorithm, other workgroups are not considered once a match is found. For this reason, it is important to arrange the workgroups in your configuration from those with the most precise membership criteria to those with more general membership criteria.

The scheduling characteristics define the scheduling policies which govern processes within the workgroup. The MPE/iX Dispatcher is priority-driven, allocating a CPU to the highest priority process that is ready to run. The MPE/iX Scheduler determines process priorities in accordance with workgroup scheduling characteristics. Each workgroup has a base and a limit, defining the priority range for processes within that workgroup. Processes will begin their Dispatcher transactions at the base priority and decay towards the limit priority as they consume system resources. The process priority will never drop below the limit of the workgroup. If the boost property of the workgroup is set to oscillate, the process priority will be reset to the base priority when it decays to the limit priority. Processes completing Dispatcher transactions (typically via a terminal read) are reset to the base priority.

Each of the five system-defined workgroups represents one of the five scheduling subqueues, AS, BS, CS, DS and ES. Their only membership criteria is the scheduling queue attribute. For example, the AS_Default workgroup has as its membership criteria MEMB_QUEUE=AS. These workgroups appear last in the ordered list so that the Scheduler can guarantee that all processes will be assigned to a workgroup.

The ALTWG command allows a user to alter only the scheduling characteristics of an existing workgroup, not the membership criteria. As a result, there is no need for a system-wide scan since workgroup membership does not change. (To change the name or membership criteria of an existing user-defined workgroup, you must use NEWWG.)

ALTWG is similar in function to TUNE. In fact, if you need to adjust the scheduling characteristics of the CS_Default, DS_Default, and ES_Default workgroups, you may use the TUNE command (instead of ALTWG) to do so. Altering the scheduling characteristics of a workgroup will be deferred while a scan is in progress.

You may issue the ALTWG command from a session, job, program or in BREAK. Pressing Break has no effect on this command. ALTWG requires System Supervisor (OP) or System Manager (SM) capability.

NOTE: Altering the scheduling characteristics of a workgroup will affect each of the member processes. That is, the Scheduler might need to adjust each process' priority attribute. The time required to make these priority adjustments is related to the number of processes in the workgroup.

EXAMPLE

To set the Program_Development workgroup's base to 158, limit to 168, and boost priority to decay, enter:

   

   :ALTWG Program_Development, 158, 168, , , decay

To set the Program_Development workgroup's timeslice to 500 milliseconds, enter:

   

   :ALTWG Program_Development ;timeslice=500

Related Information

Commands

NEWWG, PURGEWG, SHOWWG, TUNE, SHOWQ, ALTPROC, SHOWPROC

Manuals

MPE/iX Intrinsics Reference Manual (32650-90028)

Feedback to webmaster