Download VAX MP Technical Overview

Transcript
thread preemption under the circumstances that can be considered valid for running the simulator.
However to provide additional safety margin RQ_DCTMO can be increased up to 255 seconds. 102
Important: The analysis in this chapter does not take into account timeouts used by the drivers
(any of discussed device drivers) during initialization. Therefore, drivers on VAX MP should never
be reloaded while multiprocessing is active. Should the need occur to reload the driver, stop
secondary processors first (via DCL command STOP /CPU/ALL), reload the driver with only the
primary processor active, and then start secondary processors again (with DCL command START
/CPU/ALL).
Similarly, TQ (MSCP tape) controlled by VMS TUDRIVER can be used without restricting device affinity to
the primary processor or practical concerns about IOP thread preemption. TQ controller timeout is
defined by symbol TQ_DCTMO in file PDP11_TQ.C(PP) that has value of 120 seconds in the original
uniprocessor SIMH version. This value is normally more than adequate to avoid the problem of false
early device timeout, but can be further increased up to 255 seconds for an additional safety margin.
RL handler currently does not use IOP threads, for this reason its use with VAX MP in multiprocessor
mode is strongly discouraged, as RL would significantly degrade multiprocessor performance and
responsiveness. Use RQ (MSCP) disks instead of RL. Even though the use of RL on a multiprocessor VAX
MP is not advised, it is possible if for some reason is absolutely required, such as perhaps for lightly
accessed data disks or if VAX MP is executed in uniprocessor mode, with only one active processor
enabled. VMS RL driver uses timeouts of 1 and 5 seconds; we did not analyze if they can all be extended
indiscriminately. Current solution is that DL device affinity must be set to the primary processor.
Note that some OpenVMS components (such as e.g. MSCP server serving local disks to the
cluster and others components 103) perform IO operations on local disks that bypass $QIO
interface. However these operations are still executed via EXE$INSIOQ(C) or IOC$INITIATE and
therefore will be routed, if necessary, in accordance with device affinity. Therefore disk devices
with restricted affinity can be safely used in the system, including being served to other nodes
the cluster.
RY handler does not use IOP, however it performs IO to in-memory buffer holding floppy disk data, and
thus blocking is not a significant issue. VMS DYDRIVER uses a range of timeouts down to 1 second.
DYDRIVER does not depend on short timeouts and it would be possible to extend all timeouts on DY
device indiscriminately. However the significance of this device is very marginal, therefore our current
solution is to have DY device affinity set to the primary processor.
102
With existing DUDRIVER code controller timeout can in practice be increased to even higher value (0xFFFF - 10),
however MSCP specification states that no controller should ever return controller timeout value greater than 255.
If controller returns 0 (no timeout), DUDRIVER will default to 255 seconds.
103
Including MSCP server, F11 ACP/XQP, volume shadowing, quorum disk monitor, cluster cache, cluster IO to
multi-host drives, access to cluster incarnation file.
87