HP 3000 Manuals

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