Adjusting the terminal scan delay
The terminal scan delay (ICVTSD) system initialization parameter determines the frequency with which CICS® attempts to process terminal output requests.
The ICVTSD system initialization parameter is defined in units of milliseconds. Use the commands CEMT or EXEC CICS SET SYSTEM SCANDELAY (nnnn) to reset the value of ICVTSD.
In reasonably active systems, a nonzero ICVTSD virtually replaces ICV, because the time to the next terminal control table (TCT) full scan (non-SNA) or sending of output requests (SNA) is the principal influence on wait duration of the operating system.
The ICVTSD parameter can be used in all except very low-activity CICS systems.
- Non-SNA LU I/O requests with WAIT specified
- Non-SNA output deferred until task termination
- Automatic transaction initiation (ATI) requests
- SNA LU management, including output request handling, in busy CICS systems with significant application task activity. This last case arises from the way that CICS scans active tasks.
On CICS non-SNA systems, the delay value specifies how long the terminal control program must wait after an application terminal request, before it carries out a TCT scan. The value controls batching and delay in the associated processing of terminal control requests. In a low-activity system, it controls the dispatching of the terminal control program.
Effects in SNA networks
In SNA networks, a low ICVTSD value does not cause full TCT scans, because the input from or output to SNA LU is processed from the activate queue chain, and only those terminal entries are scanned.
Request batching reduces processor time at the expense of longer response times. On CICS SNA systems, it influences how quickly the terminal control program completes SNA request processing, especially when the MVS™ high performance option (HPO) is being used.
With SNA LUs, CICS uses bracket protocol to indicate that the terminal is currently connected to a transaction. The bracket is started when the transaction is initiated, and ended when the transaction is terminated. Thus, there might be two outputs to the terminal per transaction: one for the data sent and one when the transaction terminates containing the end bracket. In fact, only one output is sent (except for WRITE/SEND with WAIT and definite response). CICS holds the output data until the next terminal control request or termination. It saves processor cycles and line utilization by sending the message and end bracket or change direction (if the next request was a READ/RECEIVE) together in the same output message (PIU). When the system gets busy, terminal control is dispatched less frequently and becomes more dependent upon the value specified in ICVTSD. Because CICS may not send the end bracket to SNA for an extended period, the life of a transaction can be extended. Storage is kept allocated for that task for longer periods, potentially increasing the amount of virtual storage required for the total CICS dynamic storage areas. Setting ICVTSD to zero can overcome this effect
Effects in non-SNA networks
ICVTSD is the major control on the frequency of full TCT scanning of non-SNA LUs. In active systems, a full scan is done approximately once every ICVTSD period. The average extra delay before sending an output message is about half this period.
In non-SNA networks, partial scans occur for other reasons, such as an input arriving from a LU, and any outputs for that line are processed at the same time. For that reason, a value of between 0.5 and one second is normally a reasonable setting for non-SNA networks.
CICS scans application tasks first, unless there is a scan driven by ICVTSD. In a highly used system, input and output messages might be unreasonably delayed if too large a ICVTSD value is specified.
Effects in all networks
The ICVTSD parameter can be changed in the system initialization table (SIT) or through JCL parameter overrides. If you have virtual storage constraint problems, reduce the value specified in ICVTSD. A value of zero causes the terminal control task to be dispatched most frequently. If you also have many non-SNA LUs, this value might increase the amount of nonproductive processor cycles. A value of 100—300 ms might be more appropriate for that situation. In a pure SNA environment, however, the processing effect is not significant, unless the average transaction has a short pathlength. Set ICVTSD to zero for a better response time and best virtual storage usage.
Limitations
In z/OS® Communications Server (for SNA) systems, a low value adds the processing effect of scanning the activate queue TCTTE chain, which is normally a minor consideration. A high value in high-volume systems can increase task life and tie up resources owned by that task for a longer period, which can be a significant consideration.
A low, nonzero value of ICVTSD can cause CICS to be dispatched more frequently, which increases the processing effect of performance monitoring.
Suggestions
Set ICVTSD to a value less than the region exit time interval (ICV), which is also in the system initialization table. Use the value of zero in an environment that contains only SNA LUs and consoles, unless your workload consists of many short transactions.
Entering ICVTSD=0 in
an SNA LU-only environment is not recommended for a CICS workload consisting of low terminal activity
but with high TASK activity. Periods of low terminal activity can
lead to delays in CSTP being dispatched. Setting ICVTSD=100-500 resolves
this effect by causing CSTP to be dispatched regularly. For non-SNA
systems, specify the value of zero only for small networks (1 - 30
terminals).
For almost all systems that are not “pure” SNA, set the range somewhere in the region of 100 ms to 1000 ms. ICVTSD can be varied from 300 - 1000 ms without a significant effect on the response time, but increasing the value decreases the processor activity effect. An ICVTSD larger than 1000 ms might not give any further improvement in processor usage, at a cost of longer response times.
If ICVTSD is reduced, and if there is ample processor resource, a small reduction in response time can be achieved. If you set the value below 250 ms, any improvement in response time is likely to seem negligible to the user and would have an increased effect on processor usage.
The absolute minimum level, for systems that are not “pure” SNA, is approximately 250 ms, Or, in high-performance, high-power systems that are “pure” SNA, the level is 100 ms.
Monitoring
Use RMF to monitor task duration and processor requirements. The dispatcher domain statistics reports the value of ICVTSD.