When multiple pages are batch input to a global buffer using the prefetch facility, the pages are pre-read as batch input in a synchronous process from the database processing server process to the batch input buffer. 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 asynchronous 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.
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 direct disk access (raw/IO), for which the processing time is high. Conversely, if you are using a Windows file system or Hitachi disk array system disk, neither of which requires long I/O times, the facility might not be very effective.
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.
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 Chapter 15. Storage Requirements for HiRDB.