Technical data

15.3.6 DCPS$STARTUP.TEMPLATE Updated
The file SYS$STARTUP:DCPS$STARTUP.TEMPLATE has been modified
to provide example definitions for both DCPS$MAX_STREAMS and
DCPS$DEVCTL_CACHE.
15.3.7 Executable Components Check for Compatible Versions
Beginning with DCPS Version 1.2, the executable components attempt to ensure
they are a matched set. If a mis-match occurs, DCPS reports an error when the
queue starts.
15.3.8 Reducing the Amount of Memory and Idle Time CPU
DCPS V1.1 and V1.1A use considerably more memory than previous versions of
DCPS. This use of memory can become a significant problem when many DCPS
queues are started on a system. DCPS Version 1.2 and later address this problem
by reducing the peak memory requirements of DCPS and by allowing DCPS to
run multistreamed.
Also, beginning with DCPS V1.1, DECthreads is used to implement the numerous
functions of DCPS. All processes that use DECthreads execute periodically to
determine if any threads can run. Even when no jobs are printing, DECthreads
causes a DCPS process to run to determine if any threads can run. If there are
many DCPS queues started on a system, the scheduling and periodic execution
of all these processes can use a significant amount of CPU time. This problem
is resolved by running DCPS as a multistreamed process, thereby reducing the
number of symbiont processes that must execute. Also, DCPS symbiont processes
never get swapped out of memory because they periodically execute.
There are several factors to consider to determine an appropriate number of
queues per DCPS symbiont process including:
DCPS Version 1.2 must be configured to support at least four execution
queues to reduce the memory requirements to that of DCPS V1.0C.
You can reduce the number of process slots taken by DCPS by increasing the
number of queues per process. This will free up process slots. By reducing the
number of DCPS symbiont processes, you reduce the number of DECthread
processes that must run periodically, which improves system performance.
With Version 1.2 and later of DCPS, even though a DECprint Supervisor
process can be configured to support more than one execution queue, DCPS
can translate only one file at a time. To avoid contention for translators,
when a stream (queue) in a process needs a translator that is already in use,
the translator for that stream is started in a separate temporary process.
This can impact performance if your site primarily uses one translator, and
print queues are generally busy. To reduce the likelihood of a impact on
performance, choose a smaller value for DCPS$MAX_STREAMS.
The maximum number of queues per process is 32. This limit is imposed by
the OpenVMS queue manager.
If DCPS is configured to support only one print queue per process (the
default), DCPS Version 1.2 uses less memory than V1.1 or V1.1A, but more
memory than DCPS V1.0C.
A DECprint Supervisor process running multiple print queues represents a
potential single point of failure. If the supervisor process fails, or someone
stops the process, then several queues are affected.
DCPS Version 1.2 Information 15–5