SetRtio

Oversubscription

Handles

Appendix D Quality of Service Guide

Real-time I/O

Also, assume there is only one stripe group for user data in the file system. As recommended by Quantum, there may be other stripe groups for metadata and journal that are not shown.

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.

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.

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.

StorNext 3.5 Installation Guide

150

Page 167
Image 167
Quantum 3.5 manual SetRtio Oversubscription Handles