SetRtio

Oversubscription

Handles

Appendix D Quality of Service Guide

Real-time I/O

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.

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.

StorNext 3.1.3 Installation Guide

143

Page 160
Image 160
Quantum 6-00360-15 manual SetRtio Oversubscription Handles