HP OpenVMS Systems

What are direct I/Os?

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.