TUNE and SHOWQ Syntax Changes [ COMMUNICATOR 3000/XL XL RELEASE 3.0 ] MPE/iX Communicators
COMMUNICATOR 3000/XL XL RELEASE 3.0
TUNE and SHOWQ Syntax Changes
by Susan Campbell
Commerical Systems Division
This release of MPE XL includes additional values that a system manager
can utilize to achieve optimal system performance. The TUNE command
allows the user to adjust the timeslice values for the CS, DS, and ES
queues. The SHOWQ command displays these timeslice values, and also
displays the actual quantum values for the CS, DS, and ES queues.
TUNE COMMAND
SYNTAX
:TUNE [minclockcycle]
{CQ}
[[;]{DQ}=[base][,[limit][,[min][,[max]
{EQ}
[,[{DECAY}] [,[timeslice]]]]]]]]
{OSCILLATE}
[[;]...]
DESCRIPTION
Changes the filter and/or priority limits of circular dispatcher
subqueues (C, D, and E queues).
CAUTION Misuse of this command can significantly degrade system
operating efficiency.
Parameter Definitions
minclockcycle THIS PARAMETER IS IGNORED. IT APPEARS HERE FOR MPE
V/E COMPATIBILITY ONLY.
base An integer specifying the priority at which
processes executing in the CS, DS, or ES subqueue
begin in their respective queues. These processing
queues, also referred to as circular subqueues, are
used by MPE XL to differentiate processes according
to the amount of CPU processing time allotted to
each, among other things. A process executing in
the ES subqueue, for example, will be initiated
only if all higher priority processes are not ready
to run. As a result, a process in the ES subqueue
may execute more slowly. In general, the more
critical the process, the higher the subqueue it
should be assigned.
limit An integer specifying the highest priority which
processes executing in the CS, DS, or ES subqueues
can attain.
__________________________________________________
NOTE The limit must be greater than or equal to
the base. Priority is inversely related to
the integer number (for base and limit).
Higher priority goes to the process that has
the lower number.
__________________________________________________
min The lower bound, in milliseconds, of the quantum
value for this queue. The quantum value determines
the rate of priority decay for quiescing processes
within the scheduling queue.
max The upper bound, in milliseconds, of the quantum
value for this queue. The quantum value determines
the rate of priority decay for quiescing processes
within the scheduling queue. The value of max must
be greater than or equal to the value of min.
DECAY Indicates if the queue is to demonstrate the
default decay behavior associated with circular
queues. If set, a process will decay normally to
the limit of the queue and will return to the base
when the transaction is completed. DECAY is the
default.
OSCILLATE Indicates if the queue is to demonstrate
oscillation. If set, a process will be placed back
to the base of the queue once its priority has
decayed to the limit of the queue.
timeslice The number of milliseconds for which a CPU-bound
process in this queue can monopolize the CPU. A
process holding the CPU continuously for this
number of milliseconds will be timesliced. This
value is accurate to 100 millisecond granularity
and has a minimum value of 100 milliseconds.
USE
This command may be issued from a session, job, program, or in BREAK.
Pressing [Break] has no effect on this command. It requires System
Supervisor (OP) or System Manager (SM) capability.
OPERATION
The System Supervisor uses the TUNE command to change the filter or
priority limits of a circular subqueue. The command is used primarily in
online tuning, so that the system can manage the current processing load
efficiently.
For processes executing in the CS subqueue, the parameters min and max
refer to the absolute limits of the system average quantum, or quantum.
This quantum is recalculated after every CS queue user transaction is
completed. This value determines how rapidly the priority of process
executing in the CS queue will decay. By contrast, processes executing
in the DS or ES subqueues use a fixed value, rather than an average. As
with the CS queue, this value determines how rapidly the process
priorities will change. Both min and max must be specified, but if they
are not given the same value, the value of max is used.
The values for base and limit may range from 150 to 255. Parameters are
positional: if min is changed without specifying base and limit, it must
be preceded by commas.
When a process begins executing in the CS subqueue, it is given a
priority of the base of the CS queue. When a process stops (for disc
I/O, terminal I/O, preemption, etc.), its new priority is determined so
that it may be requeued for the CPU. If the process has completed a
transaction, defined as the time between terminal reads, its priority
becomes the base of the CS queue, and the value of an system average
quantum is recalculated. If the CS process has not completed a
transaction, and if the process has exceeded the quantum since its
priority was last reduced, the priority is decreased (but will not exceed
the limit of the CS queue).
DS and ES processes begin at the base of the DS and ES queues,
respectively, and are rescheduled according to the same criteria used for
a CS process. However, a fixed quantum (the value of max, specified for
the subqueue) is used in place of the average short transaction time,
which is used for CS processes only. If the values specified for max in
the CS, DS, and ES queues are too large, system response may become
erratic. If they are too small, excessive memory management may occur,
because process-swapping occurs too frequently. In either case, system
performance is degraded. The values for min and max may range from 1 to
32,767. The recommended settings are listed below in the table of
default values for START RECOVER or START NORECOVER.
The values assigned for limit specify the lowest priority (largest
number) that the system can assign to a process in a particular queue.
The timeslice value determines how long a process in that scheduling
queue will be allowed to monopolize the CPU. When a process is launched,
it is given a certain amount of time. Should the process remain in the
CPU for that period of time, an interrupt will be generated and the
process will lose the CPU. This differs from the quantum, which
determines how rapidly process priorities decay and does not generate any
interrupts. The timeslice value should be a multiple of 100 milliseconds
and has a minimum value of 100 milliseconds.
The following default settings are in when the system is coldloaded from
the system disc (a START RECOVER or START NORECOVER).
START RECOVER or START NORECOVER
CQ base: 152 DQ base: 202 EQ base: 240
limit: 200 limit: 238 limit: 253
quant min: 200 quant min: 2000 quant min: 2000
quant max: 2000 quant max: 2000 quant max: 2000
timeslice: 200 timeslice: 2000 timeslice: 2000
EXAMPLES
To set CQ base to 152, limit to 200, and CQ maximum filter to 300; and DQ
base to 202, DQ limit to 238, DQ (and EQ) minimum and maximum filter to
1000, enter:
:TUNE CQ=152,200,300,300;DQ=202,238,1000,1000
To set the CQ to oscillation with a 300 millisecond timeslice and the DQ
base to 180, DQ limit to 238, and DQ boost property to decay, and DQ
timeslice to 1500, enter:
:TUNE CQ=,,,,oscillate,300;DQ=180,238,,,decay,1500
ADDITIONAL DISCUSSION
For additional information about process scheduling, refer to the
discussion of Process Scheduling of the Intrinsics Reference Manual (P/N
32650-90028).
Also, refer to the ALTPROC, SHOWPROC, and SHOWQ commands.
SHOWQ COMMAND
SYNTAX
:SHOWQ [;ACTIVE] [;STATUS]
DESCRIPTION
Displays process scheduling data and the contents of each subqueue.
Parameter Definitions
ACTIVE Causes only the executing/ready processes'
information to be displayed, followed by the STATUS
lines.
STATUS Reduces the output from SHOWQ to the final lines of
display (minimum and maximum quanta for each
dispatcher scheduling queue, and base and limit
queue priorities).
USE
This command may be issued from a session, job, program, or in BREAK.
Pressing [Break] aborts the execution of this command. This command
requires System Supervisor (OP) capability.
OPERATION
The process scheduling and subqueue information is displayed in two major
columns: DORMANT and RUNNING. RUNNING processes are those that currently
require the CPU in order to continue, or that will require it in the
immediate future. CPU time is automatically allocated to the highest
priority process that is ready to run.
The processes listed in the DORMANT columns are waiting on longer-term
events.
NOTE On occasion, a process will appear in more than one column. This
indicates that the process was being moved one column to the right
when you executed SHOWQ.
The ACTIVE and STATUS options permit the user to filter the SHOWQ output
which, on large systems, may display hundreds of live processes. If both
ACTIVE and STATUS are specified, the ACTIVE output (which includes the
STATUS output) is displayed.
Below is a sample of the output listing produced by the sSHOWQ command.
The symbols that may appear in such a listing are explained in the
remainder of the discussion.
DORMANT RUNNING
Q PIN JOBNUM Q PIN JOBNUM
A 1 C M163 #S263
B 2 C U215 #S256
B 3
A 4
D U29 #J30
C M37 #S234
C M55 #S248
Each entry in the three columns displays the following information for a
single process:
{ A }
{ B }
{ C } [ M ] [ #Jnnn ]
{ D } [ U ] pin [ ]
{ E } [ #Snnn ]
Where:
A a linearly scheduled process in the AS queue
B a linearly scheduled process in the BS queue
C a circularly scheduled process in the CS queue
D a circularly scheduled process in the DS queue
E a circularly scheduled process in the ES queue
M a job/session main process
U a user process pin the Process Identification Number for this process
J nnn a process executing in a batch job
S nnn a process executing from a session
The Process Identification Number (PIN) may appear with or without an M
or U label. Processes without an M or U label are system processes.
In addition, SHOWQ prints the scheduling parameters currently in effect.
QUEUE is the scheduling queue to which the line of status information
pertains. BASE, LIMIT, MIN QUANTUM, MAX QUANTUM, BOOST, and TIMESLICE
are the scheduling values as set by the TUNE command. The MIN QUANTUM
and MAX QUANTUM are bounds for the quantums. The ACTUAL QUANTUM is the
current value of the quantum for that queue. Recall that the quantum
differs from the timeslice in that the timeslice is an interrupt that
occurs when the running process exceeds a certain time interval. The
quantum determines how rapidly the priority of a process will decay when
the process is quiesced.
------QUANTUM-------
QUEUE BASE LIMIT MIN MAX ACTUAL BOOST TIMESLICE
----- ---- ----- --- --- ------ ----- ---------
CQ 152 200 200 2000 200 DECAY 200
DQ 202 238 2000 2000 2000 OSC 2000
EQ 240 253 2000 2000 2000 DECAY 2000
NOTE The output of the scheduling parameters has changed from earlier
releases. UDCs, command files, or job streams that rely on the
format must be changed.
EXAMPLE
To display the queues of processes within MPE XL, enter:
:SHOWQ
The system will display a listing of DORMANT and RUNNING processes
similar to the one explained in OPERATION.
MPE/iX Communicators