GRIO version 2 (GRIOv2) is the second-generation guaranteed-rate I/O product from SGI.
Note: When it is necessary to distinguish between the previous version (version 1) and the current version (version 2), this guide uses the terms GRIOv1 and GRIOv2. Where the term GRIO is used without qualification, it refers to version 2. |
GRIO does the following:
Enables a user application to reserve part of a system's I/O resources for its exclusive use
Guarantees delivery of data from a storage device at a predefined rate, regardless of any other I/O activity on the system or on other nodes in the cluster
Ensures that the rate at which a process issues I/O does not exceed its guarantee and will throttle the I/O if necessary
GRIO includes the following features:
Support for CXFS filesystems shared among nodes in a cluster as well as locally attached XFS filesystems
A simple filesystem-level performance qualification model (rather than the often complex device-qualification model used in GRIOv1)
A range of tools for monitoring and measuring delivered bandwidth and I/O service time
GRIO uses the following terminology:
Quality of service (QoS) refers to the performance properties of a system service (such as worst-case bandwidth or I/O service time).
Qualified bandwidth is 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 quality of service.
Reservation is the set of quality-of-service parameters requested by a user application. Reservation requests are forwarded to the ggd2(1M) bandwidth management daemon.
Guarantee is 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.
Stream is the object within the kernel that encodes the reservation's quality-of-service parameters and maintains the necessary scheduling and monitoring state required to fulfill the guarantee.
Although you can have both the GRIOv1 and GRIOv2 subsystems installed on the same machine, only one of them can be active. For more information, see “Starting GRIO” in Chapter 3.
Table 1-1 summarizes the primary differences between GRIOv1 and GRIOv2.
Table 1-1. Differences Between GRIOv1 and GRIOv2
For more information, see the ggd2(1M), griotab(4), grioadmin(1M), grioqos(1M), griomon(1M), and grioqos(5) man pages