HP OpenVMS Systemsask the wizard |
The Question is: What are Direct I/Os. I have executed the same image with same data a number of times and total number of Direct I/O varies from one run to other run. Can you explain why it is so. The Answer is : Two types of I/O operation exist, direct I/Os and buffered I/Os. Direct I/O operations occur directly from the user buffer. Buffered I/O operations involve transfering data to or from an intermediate I/O buffer located in system space; a buffer containing the data. The OpenVMS Wizard will consider both types of I/O operations here... Unless the exact same sequence of explicitly requested and underlying (supporting) I/O operations occurs, the counts will vary. As there can be variance in any number of constituent I/O operations performed due to such tasks as file or directory or file header extensions or installed shareable image activations, variance in the I/O counts for a non-trivial program is entirely normal. (Were you able to establish an identical system environment for each of multiple runs, the counts would match.) Large variations in the Direct I/O count can result from differences in the system caching (VIOC or RMS global buffers), as well as differences the associated hit-rates. (Starting in OpenVMS V7.1, Direct I/O cache hits are counted against the aggregate direct I/O count -- on earlier OpenVMS versions, cache hits were not reflected in the direct I/O count.) For a reliable comparison, the entire system environment would need to be reconstituted before each test, down to the file and directory organization, the structure of the occupied and free disk storage, and even the record structure within RMS files. (For example, if the application task inserts a record into the middle of an RMS indexed file, then some inserts may find enough free space, while others may incur a bucket split. This insertion may well involve anywhere between, say, 5 and 500 I/O operations.) For a more specific explanation of the potential sources of the differences, the OpenVMS Wizard would need a far more complete description of the application and the application environment. Further, details of the system environment used for the tests would be required.
|