Quantum 6-00360-15 Portable Media Storage User Manual


 
Appendix D Quality of Service Guide
Real-time I/O
StorNext 3.1.3 Installation Guide 143
SetRtio 4
Initially, all stripe groups in the file system are in non-real-time mode.
Clients make their requests directly to the I/O subsystem without any
gating. In our example, the process requires 186 MB/sec and the system
designers know there will never be a need to support more than one
stream at 186 MB/sec.
The SetRtio request has a number of flags and parameters to control its
operation. These are all documented in the
external_api.pdf file that
describes the external API in detail. For this example, set the handle for
the indicated stripe group using the
RT_SET parameter.
Oversubscription 4
In most cases, system designers ensure that the amount of rtio is not
oversubscribed. This means that processes will not ask for more
rtio than
is specified in the configuration file. However, it is possible to request
more
rtio than is configured. The API uses the RT_MUST flag to indicate
that the call must succeed with the specified amount. If the flag is clear,
the call allocates as much as it can. In both cases, the amount allocated is
returned to the caller.
Handles 4
The SetRtio call accepts two different types of handles. The first is a
handle to the
root directory. In this mode the stripe group is put into real-
time mode, but no specific file handle is tagged as being
ungated. Real-
time I/O continues on the stripe group until it is explicitly cleared with a
SetRtio call on the root directory that specifies the RT_CLEAR flag; the file
system is unmounted; or the system is rebooted. It is up to the application
to make a subsequent call to
EnableRtio (F_ENABLERTIO) on a specific
handle.
If the handle in the SetRtio call refers to a regular file, it is the equivalent
of a
SetRtio call on the root directory followed by an EnableRtio call. The
file handle will be ungated until it is closed, cleared (
RT_CLEAR in a
SetRtio call), or disabled (DisableRtio). When the handle is closed, the
amount of real-time I/O is released back to the system. This causes the
FSM to readjust the amount of bandwidth available to all clients by
issuing a series of callbacks.
The client automatically issues a call to the FSM with the RT_CLEAR flag
specifying the amount of real-time I/O set on the file. If multiple handles
are open on the file—each with a different amount of real-time I/O—only
the last file close triggers the releasing action; all aggregate
rtio are
released.