In the February 2008 issue of zJournal, I wrote an article titled “FICON and Quality of Service (QoS): Making the Case for True, End-to-End, Host-Managed QoS.” That article laid the groundwork for a great deal of discussion in the industry, and with IBM. Given some of the things that we will see in the near future (much sooner than six years), I thought it would be a good idea to revisit the original article, and provide some updates on things that have happened since that article was published six years ago. A subsequent article in Enterprise Tech Journal will examine the technical details of any new functionality at the appropriate time.
Here’s the original article.
Defining Quality and Service
Quality and service have different meanings in different contexts. A good, general definition of service is: the expected behavior or outcome from a system. So, QoS is the degree to which the expected outcome is realized. Quantifying and measuring QoS also becomes a context-dependent task; it means different things to different people. For example, to the casual Internet user browsing a news site, QoS may simply mean the responsiveness of the Web server to his/her page accesses. On the other hand, to a systems administrator, QoS may mean the throughput and availability of the Web server, the network connection, storage subsystem or some combination of these. To achieve a desired level of service, all the components on the end-to-end path must be able to deliver that level of service.
Huseyin Simitci, in his book, Storage Network Performance Analysis (Wiley, 2003), defined some additional key concepts concerning QoS in storage network architectures:
• QoS architecture. The system must include the structures and interfaces to request, configure and measure QoS. If the system’s peak performance is below the desired level, no amount of management can provide QoS.
• Admissions policy. This is a critical aspect of a QoS system. When a system accepts to serve (admit) a request, it must ensure certain resources are available to achieve the requested QoS level. If there aren’t enough resources, or if using the existing resources will hamper the QoS guarantees of previously admitted requests, the new arrivals should be rejected.
• Resource reservation. After a request is admitted to the system, sufficient system resources must be reserved to provide QoS to that request.
• Class of Service (CoS). Even though CoS is sometimes used interchangeably (and incorrectly) with QoS, technically it has a different meaning. CoS defines the type of service and doesn’t indicate how well the service is performed. Simitci uses the example of a Fibre Channel (FC) CoS defining message delivery guarantees—far different from any QoS guarantees of throughput, response time, etc.
In their proceedings paper for the 2001 ACM Conference on E-Commerce, Menascé, Barbará and Dodge developed an equation to compute the ratio of the QoS deficiency to the desired level:
QoS deviation = (achieved QoS-desired QoS) / desired QoS.
In this equation, if the desired QoS level is greater than the achieved QoS level, you have a negative ratio. Likewise, a positive deviation denotes a QoS better than the one desired.
Storage and QoS