Different data and different applications have varying performance needs, so trade-offs in performance are allowed. Some applications will have high QoS priorities and others can be delayed to make way for higher priority jobs. If all applications and data required the absolute best performance all the time, QoS wouldn’t be achievable!
QoS in storage and storage networks is simply an optimization problem. You achieve optimization by trading one performance metric for another. A classic example of such a trade-off is between throughput and response time. Increasing queue length (number of active jobs) increases response time and throughput. If what an application requires is low, bounded response times, you must set it to accept low, bounded throughput values.
Generally, storage subsystems can’t make QoS guarantees. They’re constructed to accept and queue all arriving I/O commands. Certain performance tuning techniques, such as queue prioritization, assigning more buffers/cache space and/or DASD spindles to jobs with higher priority, can help you indirectly achieve partial QoS. But a partial QoS optimization is merely a best effort service level that doesn’t give any explicit QoS guarantees.
While IP networks and Infiniband have extensive QoS mechanisms and standards, FC fabrics don’t yet have the same level of detail for QoS mechanisms. The Storage Networking Industry Association (SNIA) includes a formal definition for QoS in its SNIA Dictionary of Storage Networking Terminology:
“QoS is a technique for managing computer system resources such as bandwidth by specifying user visible parameters such as message delivery time. Policy rules are used to describe the operation of network elements to make these guarantees. Relevant standards for QoS in the IETF (Internet Engineering Task Force) are the RSVP (Resource Reservation Protocol) and COPS (Common Open Policy Service) protocol. RSVP allows for the reservation of bandwidth in advance, while COPS allows routers and switches to obtain policy rules from a server.”
In a nutshell, in a storage network, QoS is a set of metrics that predict the behavior, reliability, speed and latency of a path.
Many existing claims for QoS mostly perform monitoring and configuration for best-effort performance. Or, they’re not true end-to-end implementations of QoS. The next section describes some standards work started but not completed in the FC standards groups. Following that, we’ll discuss the Infiniband mechanism for QoS.
FC Class 4 CoS
Some initial QoS efforts were made in the T11 standards group to develop a QoS standard for FC. It essentially was written as a CoS and was highly complex. A team of consultants worked with the major switch vendors to develop a series of proposals that impacted several different standards. A summary of Class 4 follows. It was never formally adopted or implemented. The discussion of Class 4 is included to reinforce the point that QoS is a complex topic, not just a marketing buzzword.
An FC CoS can be defined as a frame delivery scheme exhibiting a specified set of delivery characteristics and attributes. ESCON and FICON are both part of the FC standard and CoS specifications.