12.4 Specifying the asynchronous READ facility

When the prefetch facility is used with batch input of multiple pages into global buffers, synchronous processing is used for batch input to pre-read from the database process into the batch input buffers. With the asynchronous READ facility, when the prefetch facility is used two batch input buffers are prepared, and while database processing uses one of the buffers, the READ process pre-reads asynchronously into the other buffer. By executing the database processing concurrently with the pre-read input, processing time is reduced. For a HiRDB/Parallel Server, thread switchover processing reduces the input/output wait time.

The asynchronous READ facility cannot be used with local buffers. It is also not applicable to RDAREAs for which the SCHEDULE attribute is set. It operates using the prefetch facility.

Organization of this section
(1) Effectiveness of the asynchronous READ facility
(2) Specification
(3) Considerations

(1) Effectiveness of the asynchronous READ facility

Although it is the same as the prefetch facility, compared to use of the prefetch facility alone, the asynchronous READ facility is effective for such processing as high processing-load joins. The asynchronous READ facility is particularly effective when used with character special files, for which the processing time is high. On the other hand, there is little benefit for operations that require little input/output time, such as normal files or Lightning/Thunder disks.

(2) Specification

You must declare use of the prefetch facility by specifying 1 or greater in the -m option of the pdbuffer operand.

Use the pd_max_ard_process operand to specify the number of asynchronous READ processes. If 0 is specified, or if the operand is omitted, the asynchronous READ facility will not operate.

(3) Considerations

When the prefetch facility is used, two dedicated batch input buffers are used in addition to the global buffers. This increases the global buffer shared memory. For details about the formula for calculating the shared memory used by the global buffers, see 16. Storage Requirements for HiRDB.