System and method for utilizing informed throttling to guarantee quality of service to I/O streams
First Claim
1. A method of utilizing informed throttling to guarantee quality of service to a plurality of clients, comprising:
- for each client comparing a performance level received by the client to a corresponding contracted service level;
based on the compared performance level, determining if the client qualifies as a victim whose received performance level is less than the corresponding contracted service level;
based on the compared performance level, determining if the client qualifies as a candidate whose received performance level is better than the corresponding contracted service level; and
selectively and dynamically issuing a throttling command to the candidate client.
2 Assignments
0 Petitions
Accused Products
Abstract
The present system and associated method resolve the problem of providing statistical performance guarantees for applications generating streams of read/write accesses (I/Os) on a shared, potentially distributed storage system of finite resources, by initiating throttling whenever an I/O stream is receiving insufficient resources. The severity of throttling is determined in a dynamic, adaptive way at the storage subsystem level. Global, real-time knowledge about I/O streams is used to apply controls to guarantee quality of service to all I/O streams, providing dynamic control rather than reservation of bandwidth or other resources when an I/O stream is created that will always be applied to that I/O stream. The present system throttles at control points to distribute resources that are not co-located with the control point. A competition model is used with service time estimators in addition to estimated workload characteristics to determine which I/O needs to be throttled and the level of throttling required. A decision point issues throttling commands to enforcement points and selects which streams, and to what extent, need to be throttled.
100 Citations
42 Claims
-
1. A method of utilizing informed throttling to guarantee quality of service to a plurality of clients, comprising:
-
for each client comparing a performance level received by the client to a corresponding contracted service level;
based on the compared performance level, determining if the client qualifies as a victim whose received performance level is less than the corresponding contracted service level;
based on the compared performance level, determining if the client qualifies as a candidate whose received performance level is better than the corresponding contracted service level; and
selectively and dynamically issuing a throttling command to the candidate client. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40)
-
-
41. A computer program product having instruction codes embedded on a medium, for utilizing informed throttling to guarantee quality of service to a plurality of clients, comprising:
-
a first set of instruction codes which, for each client compares a performance level received by the client to a corresponding contracted service level;
a second set of instruction codes which, based on the compared performance level, determines if the client qualifies as a victim whose received performance level is less than the corresponding contracted service level;
a third set of instruction codes which, based on the compared performance level, determines if the client qualifies as a candidate whose received performance level is better than the corresponding contracted service level; and
a fourth set of instruction codes that selectively and dynamically issues a throttling command to the candidate client.
-
-
42. A system for utilizing informed throttling to guarantee quality of service to a plurality of clients, comprising:
-
means for comparing, for each client, a performance level received by the client to a corresponding contracted service level;
means for determining, based on the compared performance level, if the client qualifies as a victim whose received performance level is less than the corresponding contracted service level;
means for determining, based on the compared performance level, if the client qualifies as a candidate whose received performance level is better than the corresponding contracted service level; and
means for selectively and dynamically issuing a throttling command to the candidate client.
-
Specification