Region based admission/eviction control in hybrid aggregates
First Claim
Patent Images
1. A method of service level objective compliance at a storage layer for a plurality of workloads on a storage system, the method comprising:
- determining, by a first workload controller for a first workload of the plurality of workloads, a current phase of the first workload based, at least in part, ona hit ratio in a first level cache of the storage system for the first workload in a time interval t and a slope value of the time interval t, wherein the slope value is based on a hit ratio in a second level cache for the first workload in the time interval t and an amount used value of the second level cache for the first workload in the time interval t;
wherein the second level cache comprises a non-volatile solid state storage device of the storage system;
determining whether the current phase of the first workload has previously been observed;
in response to a determination that the current phase has not previously been observed,determining a second level cache partition size based, at least in part, on a calculated hit ratio for the second level cache that corresponds to a service level objective indicated for the first workload in the time interval t;
associating the current phase with the hit ratio in the first level cache in t, the slope value of t, and the determined second level cache partition size;
in response to a determination that a preceding phase of the first workload is different than the current phase and that the current phase has been previously observed as phase n of the first workload,determining a second level cache partition size indicated for phase n;
requesting, by the first workload controller, a master controller for allocation of the second level cache partition size indicated for phase n to the first workload;
in response to a determination that the current phase has been previously observed as phase n of the first workload and that a service level objective for the first workload is not being satisfied,requesting, by the first workload controller, the master controller for allocation of the second level cache partition size indicated for phase n to the first workload if the amount used value of the second level cache for the first workload in time interval t is less than the second level cache partition size indicated for phase n of the first workload;
resizing, by the master controller, a second level cache partition allocated from the second level cache to the first workload in accordance with a set of one or more resizing requests from a plurality of workload controllers and states of satisfaction of service level objectives across the plurality of workloads,wherein the plurality of workload controllers includes the first workload controller.
1 Assignment
0 Petitions
Accused Products
Abstract
Region based admission and eviction control can be used for managing resources (e.g., caching resources) shared by competing workloads with different SLOs in hybrid aggregates. A “region” or “phase” refers to different incoming loads of a workload (e.g., different working set sizes, different intensities of the workload, etc.). These regions can be identified and then utilized along with other factors (e.g., incoming loads of other workloads, maximum cache allocation size, service level objectives, and others factors/parameters) in managing cache storage resources.
-
Citations
29 Claims
-
1. A method of service level objective compliance at a storage layer for a plurality of workloads on a storage system, the method comprising:
-
determining, by a first workload controller for a first workload of the plurality of workloads, a current phase of the first workload based, at least in part, on a hit ratio in a first level cache of the storage system for the first workload in a time interval t and a slope value of the time interval t, wherein the slope value is based on a hit ratio in a second level cache for the first workload in the time interval t and an amount used value of the second level cache for the first workload in the time interval t; wherein the second level cache comprises a non-volatile solid state storage device of the storage system; determining whether the current phase of the first workload has previously been observed; in response to a determination that the current phase has not previously been observed, determining a second level cache partition size based, at least in part, on a calculated hit ratio for the second level cache that corresponds to a service level objective indicated for the first workload in the time interval t; associating the current phase with the hit ratio in the first level cache in t, the slope value of t, and the determined second level cache partition size; in response to a determination that a preceding phase of the first workload is different than the current phase and that the current phase has been previously observed as phase n of the first workload, determining a second level cache partition size indicated for phase n; requesting, by the first workload controller, a master controller for allocation of the second level cache partition size indicated for phase n to the first workload; in response to a determination that the current phase has been previously observed as phase n of the first workload and that a service level objective for the first workload is not being satisfied, requesting, by the first workload controller, the master controller for allocation of the second level cache partition size indicated for phase n to the first workload if the amount used value of the second level cache for the first workload in time interval t is less than the second level cache partition size indicated for phase n of the first workload; resizing, by the master controller, a second level cache partition allocated from the second level cache to the first workload in accordance with a set of one or more resizing requests from a plurality of workload controllers and states of satisfaction of service level objectives across the plurality of workloads, wherein the plurality of workload controllers includes the first workload controller. - View Dependent Claims (2, 3, 4, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19)
-
-
5. A method comprising:
-
caching, within a first level cache, file system data and metadata from a workload having a plurality of operational regions; in response to a determination that a first operational region has not previously been observed based, at least in part, on statistics of the workload of a time interval t, monitoring the workload for a time period to determine whether caching data of the workload that is evicted from the first level cache into a second level cache will will meet or improve compliance with a service level objective (SLO) of the workload; in response to a determination that caching data of the workload that is evicted from the first level cache into the second level cache will not meet or improve compliance with the SLO of the workload, updating a set of admission rules to prevent caching data of the workload into the second level cache when evicted from the first level cache and when the workload is in the first operational region; in response to a determination that caching data of the workload that is evicted from the first level cache into the second level cache will meet or improve compliance with the SLO of the workload, updating the set of admission rules to allow caching data of the workload into the second level cache when evicted from the first level cache and when the workload is in the first operational region; in response to a determination that the first operational region has previously been observed and that the SLO of the workload is not being met based, at least in part, on the statistics of the workload of the time interval t, modifying the set of admission rules with respect to the first operational region of the workload based, at least in part, on a determination of whether caching data of the workload into the second level cache when evicted from the first level cache will meet or improve compliance with the SLO. - View Dependent Claims (6, 7, 8, 9)
-
-
20. One or more non-transitory machine-readable media having stored thereon instructions for storage layer compliance of service level objectives across a plurality of workloads, the instructions to:
-
determine a current phase of a first workload of the plurality of workloads based, at least in part, on a hit ratio in a first level cache of a storage system for the first workload in a time interval t and a slope value of the time interval t, wherein the slope value is based on a hit ratio in a second level cache of the storage system for the first workload in the time interval t and an amount used value of the second level cache for the first workload in the time interval t; determine whether the current phase of the first workload has previously been observed; in response to a determination that the current phase has not previously been observed, determine a second level cache partition size for the current phase of the first workload based, at least in part, on a calculated hit ratio for the second level cache that corresponds to a service level objective indicated for the first workload in the time interval t; associate the current phase with the hit ratio in the first level cache in t, the slope value of t, and the determined second level cache partition size; in response to a determination that a preceding phase of the first workload is different than the current phase and that the current phase has been previously observed as phase n of the first workload, determine a second level cache partition size indicated for phase n; request allocation of the second level cache partition size indicated for phase n to the first workload; in response to a determination that the current phase has been previously observed as phase n of the first workload and that a service level objective for the first workload is not being satisfied, request allocation of the second level cache partition size indicated for phase n to the first workload if the amount used value of the second level cache for the first workload in time interval t is less than the second level cache partition size indicated for phase n of the first workload; determine resizing of second level cache partitions allocated from the second level cache to the plurality of workloads in accordance with a set of one or more resizing requests and states of satisfaction of service level objectives across the plurality of workloads. - View Dependent Claims (21, 22, 23, 24)
-
-
25. A storage system comprising:
-
a processor; a first level of cache; a non-volatile solid state storage device configured as a second level of cache for the storage system; a machine-readable medium having stored therein instructions executable by the processor to cause the storage system to, determine a current phase of a first workload of a plurality of workloads based, at least in part, on a hit ratio in a first level cache of a storage system for the first workload in a time interval t and a slope value of the time interval t, wherein the slope value is based on a hit ratio in a second level cache of the storage system for the first workload in the time interval t and an amount used value of the second level cache for the first workload in the time interval t; determine whether the current phase of the first workload has previously been observed; in response to a determination that the current phase has not previously been observed, determine a second level cache partition size for the current phase of the first workload based, at least in part, on a calculated hit ratio for the second level cache that corresponds to a service level objective indicated for the first workload in the time interval t; associate the current phase with the hit ratio in the first level cache in t, the slope value of t, and the determined second level cache partition size; in response to a determination that a preceding phase of the first workload is different than the current phase and that the current phase has been previously observed as phase n of the first workload, determine a second level cache partition size indicated for phase n; request allocation of the second level cache partition size indicated for phase n to the first workload; in response to a determination that the current phase has been previously observed as phase n of the first workload and that a service level objective for the first workload is not being satisfied, request allocation of the second level cache partition size indicated for phase n to the first workload if the amount used value of the second level cache for the first workload in time interval t is less than the second level cache partition size indicated for phase n of the first workload; determine resizing of second level cache partitions allocated from the second level cache to the plurality of workloads in accordance with a set of one or more resizing requests and states of satisfaction of service level objectives across the plurality of workloads. - View Dependent Claims (26, 27, 28, 29)
-
Specification