Setting the size of the receive-any pool
The RAPOOL system initialization parameter specifies the number of concurrent receive-any requests that CICS® is to process from the z/OS® Communications Server for SNA.
RAPOOL determines how many receive-any buffers there are at any time. Therefore, if the z/OS Communications Server for SNA has a lot of input simultaneously, it enables the z/OS Communications Server to put all the messages directly into CICS buffers rather than possibly having to store them elsewhere. The first operand (value1) is for non-HPO systems, the second operand (value2) is for HPO systems.
The HPO value for the non-HPO operand is derived according to the formula shown in RAPOOL. The second operand (value2) for HPO systems is used with minimal adjustment by the formula.
Effects
Initially, task input from a terminal or session is received by the SNA access method and is passed to CICS if CICS has a receive-any request outstanding.
For each receive-any request, an SNA request parameter list (RPL), a receive-any control element (RACE), and a receive-any input area (RAIA) are set aside. The RAIA value is specified by RAMAX (see Setting the size of the receive-any input areas for RAIA considerations). The total area set aside for SNA receive-any operations is:
If HPO=YES, both RACE and RPL are above the 16 MB line.
In general, input messages up to the value specified in RAPOOL are all processed in one dispatch of the terminal control task. Because the processing of a receive-any request is a short operation, at times more messages than are specified in the RAPOOL value can be processed in one dispatch of terminal control. This situation happens when a receive-any request completes before the terminal control program has finished processing and there are additional messages from SNA.
The specified pool is used only for SNA receive-any processing of the first terminal message in a transaction or the first input to start a task. RAPOOL does not affect further inputs for conversational tasks or output. Additional inputs are processed with SNA receive-specific requests.
SNA posts the event control block (ECB) associated with the receive-any input area. CICS then moves the data to the terminal I/O area (TIOA) ready for task processing. The RAIA is then available for reuse.
The significance of RAPOOL depends on the environment of the CICS system. For example, if HPO is used then RAPOOL is significant.
Limitations
If the RAPOOL value is set too low, terminal messages might not be processed in the earliest dispatch of the terminal control program, causing transaction delays during high-activity periods. For example, if you use the default value and five terminal entries need to startup tasks, three tasks might be delayed for at least the time required to complete the SNA receive-any request and copy the data and RPL. In general, set no more than 5 to 10% of all receive-any processing at the RAPOOL ceiling, with none at the RAPOOL ceiling if there is sufficient storage.
If the RAPOOL value is set too high, excessive virtual storage might be used, but does not affect real storage because the storage is not page-fixed and is therefore paged out.
Suggestions
In some cases, it might be more economical for SNA to store the occasional peak of messages in its own areas rather than for CICS to have many RAIAs, which are unused most of the time.
Furthermore, there are situations where CICS reissues a receive-any request as soon as it finds one satisfied. It uses the same element over and over again in order to bring in any extra messages that are in SNA.
CICS maintains a z/OS Communications Server VTAM RECEIVE ANY for n of the RPLs, where n is either the RAPOOL value, or the MXT value minus the number of currently active tasks, whichever is the smaller.
Code RAPOOL with the number of fixed request parameter lists (RPLs) that you require. When it is not at the MXT value, CICS maintains a receive-any request for each of these RPLs. The number of RPLs that you require depends on the expected activity of the system, the average transaction lifetime, and the MXT specified.
The RAPOOL value you set depends on the number of sessions, the number of terminals, and the ICVTSD value (see Adjusting the terminal scan delay) in the system initialization table (SIT). Initially, for non-HPO systems, set RAPOOL to 1.5 times your peak local transaction rate per second plus the autoinstall rate. This value can then be adjusted by analyzing the CICS SNA statistics and by resetting the value to the maximum RPLs reached. The RAPOOL value does not include MRO sessions, so set this value to a low number in application-owning or file-owning regions (AORs or FORs).
For
HPO systems, a small value (<= 5) is typically sufficient if specified
through value2 in the RAPOOL system
initialization parameter. For example, RAPOOL=20 is
specified as either RAPOOL=(20) or RAPOOL=(20,5) to
achieve the same effect.
Monitoring
The CICS SNA statistics contain values for the maximum number of RPLs posted on any one dispatch of the terminal control program, and the number of times the RPL maximum was reached. This maximum value can be greater than the RAPOOL value if the terminal control program is able to reuse an RPL during one dispatch. See Interpreting z/OS Communications Server statistics for more information.