Approach based on self-evolving models for performance guarantees in a shared storage system
First Claim
1. A computer-implemented method of allocating shared resources in a computer network-based storage system, said method comprising:
- taking, using a computer, periodic performance samples on a component of a plurality of components comprising said computer network-based storage system, said computer network-based storage system running an underperforming workload, and each of said periodic performance samples including a component average latency and a component I/O request rate for said component,wherein said underperforming workload is characterized by exceeding an upper bound on an average latency for a workload, specified by a Service Level Agreement (SLA), when said underperforming workload'"'"'s request rate does not exceed an I/O request rate, also specified by said SLA;
evaluating, using said computer, a set of functions of said computer network-based storage system using said periodic performance samples as input, said models comprising;
a component function for said component that predicts said component average latency based on other workloads running on said component;
a workload function for said component that predicts a load on said component based on I/O request rates of said other workloads; and
an action function for said component that predicts an effect of a throttling action on each other workload'"'"'s I/O request rate;
quantitatively optimizing, using said computer, a second function for said underperforming workload and each of said other workloads that predicts a current I/O request rate and a current average latency for each component of said plurality of components, based on said effect of said throttling action on said each other workloads'"'"' I/O request rate; and
throttling, using said computer, one or more of said other workload'"'"'s request rates, based on said quantitatively optimizing said second function, to free components of said computer network-based storage system, such that, said underperforming workload is transformed into a workload that satisfies said SLA.
1 Assignment
0 Petitions
Accused Products
Abstract
A technique of allocating shared resources in a computer network-based storage system comprises taking periodic performance samples on a running storage system; evaluating an objective function that takes as input the performance samples to quantify how aligned a current state of the storage system is with organizational objectives; building and maintaining models of behavior and capabilities of the storage system by using the performance samples as input; determining how resources of the storage system should be allocated among client computers in the storage system by selecting one among many possible allocations based on predictions generated by the models in order to maximize a value of the objective function; calculating a confidence statistic value for a chosen resource allocation based on an accuracy of the models; and enforcing the chosen resource allocation on the running storage system when the confidence statistic value is at or above a predetermined threshold value.
-
Citations
25 Claims
-
1. A computer-implemented method of allocating shared resources in a computer network-based storage system, said method comprising:
-
taking, using a computer, periodic performance samples on a component of a plurality of components comprising said computer network-based storage system, said computer network-based storage system running an underperforming workload, and each of said periodic performance samples including a component average latency and a component I/O request rate for said component, wherein said underperforming workload is characterized by exceeding an upper bound on an average latency for a workload, specified by a Service Level Agreement (SLA), when said underperforming workload'"'"'s request rate does not exceed an I/O request rate, also specified by said SLA; evaluating, using said computer, a set of functions of said computer network-based storage system using said periodic performance samples as input, said models comprising; a component function for said component that predicts said component average latency based on other workloads running on said component; a workload function for said component that predicts a load on said component based on I/O request rates of said other workloads; and an action function for said component that predicts an effect of a throttling action on each other workload'"'"'s I/O request rate; quantitatively optimizing, using said computer, a second function for said underperforming workload and each of said other workloads that predicts a current I/O request rate and a current average latency for each component of said plurality of components, based on said effect of said throttling action on said each other workloads'"'"' I/O request rate; and throttling, using said computer, one or more of said other workload'"'"'s request rates, based on said quantitatively optimizing said second function, to free components of said computer network-based storage system, such that, said underperforming workload is transformed into a workload that satisfies said SLA. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A program storage medium readable by a computer, tangibly embodying a program of instructions executable by said computer to perform computer-implemented method of allocating shared resources in a computer network-based storage system, said method comprising:
-
taking periodic performance samples on a component of a plurality of components comprising said computer network-based storage system, said computer network-based storage system running an underperforming workload, and each of said periodic performance samples including a component average latency and a component I/O request rate for said component, wherein said underperforming workload is characterized by exceeding an upper bound on an average latency for a workload, specified by a Service Level Agreement (SLA), when said underperforming workload'"'"'s request rate does not exceed an I/O request rate, also specified by said SLA; evaluating a set of functions of said computer network-based storage system using said periodic performance samples as input, said set of functions comprising; a component function for said component that predicts said component average latency based on other workloads running on said component; a workload function for said component that predicts a load on said component based on I/O request rates of said other workloads; and an action function for said component that predicts an effect of a throttling action on each other workload'"'"'s I/O request rate; quantitatively optimizing a second function for said underperforming workload and each of said other workloads that predicts a current I/O request rate and a current average latency for each component of said plurality of components, based on said effect of said throttling action on said each other workloads'"'"' I/O request rate throttling one or more of said other workload'"'"'s request rates, based on said quantitatively optimizing said second function, to free components of said computer network-based storage system, such that, said underperforming workload is transformed into a workload that satisfies said SLA. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24)
-
-
25. A computer-implemented system for allocating shared resources in a computer network-based storage system comprising:
-
a processor for taking periodic performance samples on a component of a plurality of components comprising said computer network-based storage system, said computer network-based storage system running an underperforming workload, and each of said periodic performance samples including a component average latency and a component I/O request rate for said component, wherein said underperforming workload is characterized by exceeding an upper bound on an average latency for a workload, specified by a Service Level Agreement (SLA), when said underperforming workload'"'"'s request rate does not exceed an I/O request rate, also specified by said SLA; a processor for evaluating a set of functions of said computer network-based storage system using said periodic performance samples as input, said set of functions comprising; a component function for said component that predicts said component average latency based on other workloads; a workload function for said component that predicts a load on said component based on I/O request rates of said other workloads; and an action function for said component that predicts an effect of a throttling action on each other workload'"'"'s I/O request rate; quantitatively optimizing a second function for said underperforming workload and each of said other workloads that predicts a current I/O request rate and a current average latency for each component of said plurality of components, based on said effect of said throttling action on said each other workloads'"'"' I/O request rate throttling one or more of said other workload'"'"'s request rates, based on said quantitatively optimizing said second function, to free components of said computer network-based storage system, such that, said underperforming workload is transformed into a workload that satisfies said SLA.
-
Specification