The extent to which the I/O data rate for an application or node tends to vary suddenly, over short intervals of time. Contrast with an application that issues its I/O smoothly to the filesystem, with little variation in the rate at which it submits I/O. For example, an application that buffered a data flow in its internal buffers then periodically flushed that data to disk through multiple I/O worker threads would produce a highly bursty data flow.
A node-level allocation for which GRIO ensures that the node receives at most the configured bandwidth.
An XVM volume configured for shared access via a CXFS filesystem
An XVM concept that refers to the entire set of configured cluster volumes
The maximum sustainable bandwidth is measured for each hardware component in the I/ O path, a user reservation for I/O resources is then processed for each hardware component, and is refused if any one component would become oversubscribed.
See Also filesystem-level qualification model..
The functionality of the ggd2 daemon that periodically adjusts the amount of bandwidth allocated to the individual non-GRIO streams for its managed filesystems. The DBA is responsible for determining how unreserved bandwidth is distributed among the nodes with access to the filesystem.
A qualified bandwidth for the entire filesystem is determined empirically by verifying that the required QoS is delivered to all of the applications running a range of realistic workloads.
The maximum sustainable bandwidth is measured across the entire filesystem under a realistic application workload.
See Also device-level qualification model..
A node-level allocation for which GRIO ensures that the node receives at least the configured bandwidth. While there is any unallocated bandwidth, and the node is issuing I/O, ggd2 will allocate it additional bandwidth.
Guaranteed-rate I/O. GRIOv1 is GRIO version 1, GRIOv2 is GRIO version 2. GRIOv1 is a legacy product available on IRIX only.
I/O for applications that have made an explicit GRIO reservation.
See Also non-GRIO I/O..
The CXFS server-capable administration node on which the active ggd2 daemon is running. All cluster volumes are managed by this single instance of ggd2. There is one GRIO server per cluster.
The assurance made by the system to a user process that it will deliver data from a storage device at the reserved rate regardless of any other I/O activity on the system or on other nodes within its cluster.
The variation in individual service times. As the storage system approaches saturation, service-time jitter will typically increase.
An XVM volume that is dedicated for the sole use of one node.
An XVM concept that refers to the entire set of configured local volumes
All buffered and system I/O other than I/O for applications that have made an explicit GRIO reservation.
See Also GRIO I/O.
A dedicated system stream created for a filesystem by a node when ggd2 begins managing that filesystem. All non-GRIO I/O issued by a node is automatically attached to and managed by this stream.
The user process that initially reserves bandwidth by calling grio_reserve() or grio_reserve_fd() .
The maximum bandwidth that can be delivered by a filesystem (and the XVM volume on which it resides) in a given configuration under a realistic application workload such that all applications are delivered an adequate QoS.
The performance properties of a system service (such as worst-case bandwidth or I/O service time).
The set of QoS parameters requested by a user application. Reservation requests are forwarded to the ggd2(1M) bandwidth management daemon.
For GRIO functions where the reservation is expressed as a number of bytes delivered every number of milliseconds, that time in milliseconds is referred to as the reservation interval. It gives GRIO an indication as to the request's sensitivity to I/O jitter.
The object within the kernel that encodes the reservation's QoS parameters and maintains the necessary scheduling and monitoring state required to fulfill the guarantee.
The delay resulting when the grio_reserve() and grio_reserve_fd() calls block while bandwidth is reallocated.