HP OpenVMS Systems

ask the wizard
Content starts here

What are direct I/Os?

» close window

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.
 

answer written or last revised on ( 8-DEC-2000 )

» close window