Managing restore workloads using Weibull modulus
One example method includes determining a modulus such as a Weibull modulus for a recovery operation. Enablement and disablement of a read ahead cache are performed based on the modulus. The modulus is a linearization of a cumulative distribution function, where failures correspond to non-sequential accesses and successes correspond to sequential accesses.
1. A method, comprising:
obtaining a data set that associates a number of failures with a time period for a recovery operation;
sorting the data set;
ranking the data set into ranks, wherein each rank corresponds to a unit of time;
determining a probability for each data point in the data set, wherein data points in the same rank have the same probability;
linearizing the determined probabilities by determining, for each rank, a plottable value;
performing a regression on the plottable values to generate a regression line;
determining a modulus for the recovery operation from the regression line; and
enabling or disabling a read ahead cache based on a value of the modulus.
2. The method of claim 1 , further comprising sorting the data set in ascending order.
3. The method of claim 1 , wherein the plottable value include an x value and a y value.
4. The method of claim 3 , wherein the modulus is a Weibull modulus and is equal to a slope of the line.
5. The method of claim 1 , further comprising determining that an access pattern is sequential and enabling the read ahead cache.
6. The method of claim 5 , further comprising determining that the access pattern is non-sequential and disabling the read ahead cache.
7. The method of claim 1 , further comprising redetermining the modulus based on new data points.
8. The method of claim 1 , wherein a failure is a non-sequential access and a success is a sequential access.
9. The method of claim 1 , further comprising determining an access pattern based on a threshold of sequential accesses and dynamically adapting the threshold based on the modulus.
10. The method of claim 9 , further comprising performing machine learning based on previous data sets and adapting the threshold based on an output of the machine learning and the modulus, wherein the output includes a probability of next reads being sequential or non-sequential.
11. A non-transitory storage medium having stored therein instructions that are executable by one or more hardware processors to perform operations comprising:
obtaining a data set that associates a number of failures with a time period for a recovery operation;
sorting the data set;
ranking the data set into ranks, wherein each rank corresponds to a unit of time;
determining a probability for each data point in the data set, wherein data points in the same rank have the same probability;
linearizing the determined probabilities by determining, for each rank, a plottable value;
a performing a regression on the plottable values to generate a regression line; and
determining a modulus for the recovery operation from the regression line;
enabling or disabling a read ahead cache based on a value of the modulus.
12. The non-transitory storage medium of claim 11 , further comprising sorting the data in ascending order.
13. The non-transitory storage medium of claim 11 , wherein the plottable value include an x value and a y value.
14. The non-transitory storage medium of claim 13 , wherein the modulus is a Weibull modulus and is equal to a slope of the line.
15. The non-transitory storage medium of claim 11 , further comprising determining that an access pattern is sequential and enabling the read ahead cache.
16. The non-transitory storage medium of claim 15 , further comprising determining that the access pattern is non-sequential and disabling the read ahead cache.
17. The non-transitory storage medium of claim 11 , further comprising redetermining the modulus based on new data points.
18. The non-transitory storage medium of claim 11 , wherein a failure is a non-sequential access and a success is a sequential access.
19. The non-transitory storage medium of claim 11 , further comprising determining an access pattern based on a threshold of sequential accesses and dynamically adapting the threshold based on the modulus.
20. The non-transitory storage medium of claim 19 , further comprising performing machine learning based on previous data sets and adapting the threshold based on an output of the machine learning and the modulus, wherein the output includes a probability of next reads being sequential or non-sequential.