Two features of OpenVMS Alpha and I64 provide dramatically
improved I/O performance: Fast I/O and Fast Path. These features
are designed to promote OpenVMS as a leading platform for database
systems. Performance improvement results from reducing the CPU cost
per I/O request and improving symmetric multiprocessing (SMP) scaling
of I/O operations. The CPU cost per I/O is reduced by optimizing
code for high-volume I/O and by using better SMP CPU memory cache.
SMP scaling of I/O is increased by reducing the number of spinlocks
taken per I/O and by substituting finer-granularity spinlocks for
global spinlocks.
The improvements follow a natural division that already exists
between the device-independent and device-dependent layers in the
OpenVMS I/O subsystem. The device-independent overhead is addressed
by Fast I/O, which is a set of lean system services that can substitute
for certain $QIO operations. Using these services requires some
coding changes in existing applications, but the changes are usually
modest and well contained. The device-dependent overhead is addressed
by Fast Path, which is an optional performance feature that creates
a "fast path" to the device. It requires no application
changes.
Fast I/O and Fast Path can be used independently; however,
together they can provide a 45 percent reduction in CPU cost per
I/O on uniprocessor systems and a 52 percent reduction on multiprocessor
systems.