Non-Realtime I/O Configuration

In order to reserve bandwidth for non-realtime I/O (RVIO) operations on certain clients, you must specify the amount in the QOS central configuration file. This file is located under $CVFSROOT/config/ (for example, /usr/cvfs/config). The configuration file name consists of the file system name and the suffix _rvio.opt. For example, the central configuration file name for a file system called fs1 would be fs1_rvio.opt.

The configuration does not affect the normal RTIO requests; it affects only the bandwidth allocation to non-RTIO requests. Note the following characteristics of RVIO:

  1. RTIO has higher priority and is always satisfied first. RVIO uses whatever bandwidth is left.
  2. RVIO reservation is not guaranteed. Instead, it is adjusted dynamically. When there are new RVIO or RTIO requests, the bandwidth reserved for clients with previous RVIO requests is readjusted. Each RVIO client will get the RVIO bandwidth reserved proportional to its request amount.
  3. The RVIO bandwidth allocated for a client is the total bandwidth for non-RTIO requests on the client. The bandwidth (token) will not return like a normal non-RTIO client does if it's been idle for a hold time. Non-RTIO requests on clients with an RVIO reservation is subject to the same throttling mechanism as non-RTIO requests on normal clients.
  4. Other active non-RTIO clients equally share the bandwidth left over after the possible RTIO and RVIO allocations. If no bandwidth is left, the minimal reserved bandwidth (defined in the stripe group section of the file system configuration file) is used.

A central configuration file has multiple entries, and each entry defines the RVIO reservation for a client. Following are the fields of an entry:

host bw-type sg=yy,[sg=yy]

Any line in the configuration file starting with the pound sign (#) is considered a comment line and is not executed.

For additional information about entering the configuration file for QOS, see the man page called qos_config.