The Question is:
Without recoding our applications, where can
we expect to see an increase in I/O performance
by setting FAST_PATH to 1?
The Answer is :
Fast Path allows I/O processing to target a particular processor in an
OpenVMS multiprocessing (SMP) system.
Fast Path allows the system manager to spread the I/O processing load
across multiple processors in a multiprocessor system, and to offload
the primary processor. This relieves the interrupt processing load on
the primary processor, and secondarily -- by taking advantage of the
caches -- by finishing an I/O operation on the processor on which it
started. This also translates into a reduction of CPU cost per I/O
Fast Path also reduces the IOLOCK8 spinlock activity, which can further
improve system throughput in an SMP configuration. (IOLOCK8 is one of
the major bottleneck in parallel I/O operations.)
The amount of benefit a particular system derives from selection and
use of Fast Path depends on a number of factors, and is impossible to
quantify without a detailed analysis of the system and application load.
If you are able to recode your applications, consider using the $IO_SETUP
and $IO_PERFORM system services. These services provide a streamlined way
to do I/O, and may provide a performance benefit, by reducing the CPU cost
per I/O operation. Again, the benefit is impossible to quantify without
a detailed analysis of your system and application.
For the most current details on Fast Path, please see the OpenVMS
documentation for the particular OpenVMS release of interest -- the most
recent of OpenVMS releases tend to have the widest Fast Path support; the
most devices and drivers. (Fast Path support is specifically implemented
within the code of the various device drivers involved. Only device
drivers with this code will have support for Fast Path I/O processing.)
Related management and programming information is available within the
OpenVMS I/O User's Reference Manual, and elsewhere in the OpenVMS
Information on the $IO_SETUP and $IO_PERFORM system service calls is
available in the OpenVMS Programming Concepts manual and in the OpenVMS
System Service Reference Manual.