First of all, quick thanks to Bill Lancaster who pointed me in the right
direction to find information on the workings of the dispatcher. Knowledge,
it seems, engenders curiosity, however, for I've now some questions . . .
1) In _Using_the_HP_3000_Workload_Manager_, "An Overview of Scheduling
Characteristics", I find mention of a "preemption threshold". What is
the value of this threshold?
2) Also, it gives me reason to believe that certain processes at certain times
are not preemptable. Why not and when?
3) Farther down it says that the priority decay is based on the quantum
divided by a constant. What constant? Better yet, what is the formula?
4) I've heard mentioned before that a process which has a given resource which
is needed by a higher priority process has its priority boosted temporarily
to the priority of the other process. Is this true? If so, where can I
learn more about it (which resources, whether the priority boost is a
visible change of number or an internal change of number or simply an
effective boost, etc.)? The best I've found so far is an AIF call which
will return a reason for a decayable or non-decayable boost. But further
discussion I've yet to find.
5) In the error manual, there are a number of errors which relate to the
dispatcher being disabled. When does that happen?
6) What is a Dispatcher Transaction? In the passage listed under #7, it gives
a terminal read as the most common way to end a transaction. Does a
terminal read *always* end a dispatcher transaction? What other things
can end a transaction?
7) In the following passage,
A process in the CS, DS, or ES scheduling subqueues typically begin
execution at the base priority. When the process stops (for disk I/O,
terminal I/O, preemption, etc.), the amount of CPU it has consumed is
used to determine its new priority. If the process has completed a
Dispatcher transaction, typically by issuing a terminal read, its
priority is reset to the base, and the quantum value for that workgroup
is recalculated. If the process has exceeded the quantum (filter) value
since its priority was last reduced, the priority is decreased without
exceeding the limit priority. If the boost property for the workgroup is
oscillate, process priorities are reset to the base value once they decay
to the limit.
would it not better read, ". . . and the quantum value for that workgroup
is recalculated. If, during a given transaction, the process exceeds the
quantum . . ."?
8) In the following paragraph, what "means that it contributes towards the
system CS-SAQ"?
2018 Degradable priority? (B) Put: Yes; Verify: Yes; Release 3.0
Returns or modifies whether the process undergoes priority decay. True
indicates that the process will undergo the normal priority decay from
base to limit to base of the scheduled class it is in (CS, DS, ES),
while it is in a circular queue. False causes the priority to remain
fixed at the current priority. Classes are obtaining through AIFSCGET.
This item makes sense only for processes in the circular classes (CS,
DS, ES) since the linear queue processes do not undergo priority decay.
Also, a process that has gone through decayable boosting is always
subject to priority drop. This also means that it contributes towards
the system CS-SAQ.
Thanks in advance for any assistance,
Ted
--
Ted Ashton ([log in to unmask]), Info Serv, Southern Adventist University
==========================================================
Mark all mathematical heads which be wholly and only bent on these sciences,
how solitary they be themselves, how unfit to live with others, how unapt to
serve the world.
-- Ascham, Roger (1515-1568)
|