Storage and method for machine learning-based temperature forecasting for storage objects using storage sub-objects and temperature projection
A method, computer program product, and computing system for forecasting a temperature of a storage object of a storage system using a first machine learning model and a plurality of input/output (IO) features. The storage object may be divided into a plurality of storage sub-objects. A temperature may be determined for each storage sub-object with a subset of the plurality of IO features using a second machine learning model. A portion of the temperature of the storage object may be projected onto the temperature of each of the plurality of storage sub-objects based upon, at least in part, the temperature determined for each storage sub-object and the temperature determined for each storage object.
1 . A computer-implemented method, executed on a computing device, comprising:
forecasting a temperature of a storage object of a storage system using a first machine learning model and a plurality of input/output (IO) features;
dividing the storage object into a plurality of storage sub-objects;
determining a temperature for each storage sub-object with a subset of the plurality of IO features using a second machine learning model;
projecting a portion of the temperature of the storage object onto the temperature of each of the plurality of storage sub-objects based upon, at least in part, the temperature determined for each storage sub-object and the temperature determined for each storage object; and
tiering the plurality of storage sub-objects between a plurality of storage tiers of the storage system, based upon, at least in part, the temperature values defined for each storage sub-object.
2 . The computer-implemented method of claim 1 , wherein forecasting the temperature for each storage object includes:
processing a plurality of input/output (IO) requests associated with the storage object; and
generating the plurality of IO features using the plurality of IO requests.
3 . The computer-implemented method of claim 1 , wherein generating the plurality of IO features using the plurality of IO requests includes:
aggregating the plurality of IO requests periodically; and
generating the plurality of IO features using the aggregated plurality of IO requests.
4 . The computer-implemented method of claim 1 , wherein forecasting the temperature of the storage object includes processing the plurality of IO features using the first machine learning model.
5 . The computer-implemented method of claim 1 , wherein the limited subset of the plurality of IO features include one or more of the following:
a mean of a historical temperature variable;
a median of the historical temperature variable;
a standard deviation of the historical temperature variable;
a skewness of the historical temperature variable;
a kurtosis of the historical temperature variable;
a minimum of the historical temperature variable; and
a maximum of the historical temperature variable.
6 . The computer-implemented method of claim 1 , wherein dividing the storage object into a plurality of storage sub-objects includes adaptively dividing the storage object based upon, at least in part, performance of the storage system.
7 . The computer-implemented method of claim 1 , wherein projecting the portion of the temperature of the storage object includes determining a ratio of the temperature of each storage sub-object relative to other storage sub-objects of the storage object.
8 . A computer program product residing on a non-transitory computer readable medium having a plurality of instructions stored thereon which, when executed by a processor, cause the processor to perform operations comprising:
forecasting a temperature of a storage object of a storage system using a first machine learning model and a plurality of input/output (IO) features;
dividing the storage object into a plurality of storage sub-objects;
determining a temperature for each storage sub-object with a subset of the plurality of IO features using a second machine learning model;
projecting a portion of the temperature of the storage object onto the temperature of each of the plurality of storage sub-objects based upon, at least in part, the temperature determined for each storage sub-object and the temperature determined for each storage object; and
tiering the plurality of storage sub-objects between a plurality of storage tiers of the storage system, based upon, at least in part, the temperature values defined for each storage sub-object.
9 . The computer program product of claim 8 , wherein forecasting the temperature for each storage object includes:
processing a plurality of input/output (IO) requests associated with the storage object; and
generating the plurality of IO features using the plurality of IO requests.
10 . The computer program product of claim 8 , wherein generating the plurality of IO features using the plurality of IO requests includes:
aggregating the plurality of IO requests periodically; and
generating the plurality of IO features using the aggregated plurality of IO requests.
11 . The computer program product of claim 8 , wherein forecasting the temperature of the storage object includes processing the plurality of IO features using the first machine learning model.
12 . The computer program product of claim 8 , wherein the limited subset of the plurality of IO features include one or more of the following:
a mean of a historical temperature variable;
a median of the historical temperature variable;
a standard deviation of the historical temperature variable;
a skewness of the historical temperature variable;
a kurtosis of the historical temperature variable;
a minimum of the historical temperature variable; and
a maximum of the historical temperature variable.
13 . The computer program product of claim 8 , wherein dividing the storage object into a plurality of storage sub-objects includes adaptively dividing the storage object based upon, at least in part, performance of the storage system.
14 . The computer program product of claim 8 , wherein projecting the portion of the temperature of the storage object includes determining a ratio of the temperature of each storage sub-object relative to other storage sub-objects of the storage object.
15 . A computing system comprising:
a memory; and
a processor configured to:
forecast a temperature of a storage object of a storage system using a first machine learning model and a plurality of input/output (IO) features,
divide the storage object into a plurality of storage sub-objects,
determine a temperature for each storage sub-object with a subset of the plurality of IO features,
project a portion of the temperature of the storage object onto the temperature of each of the plurality of storage sub-objects based upon, at least in part, the temperature determined for each storage sub-object and the temperature determined for each storage object; and
tier the plurality of storage sub-objects between a plurality of storage tiers of the storage system, based upon, at least in part, the temperature values defined for each storage sub-object.
16 . The computing system of claim 15 , wherein forecasting the temperature for each storage object includes:
processing a plurality of input/output (IO) requests associated with the storage object; and
generating the plurality of IO features using the plurality of IO requests.
17 . The computing system of claim 15 , wherein generating the plurality of IO features using the plurality of IO requests includes:
aggregating the plurality of IO requests periodically; and
generating the plurality of IO features using the aggregated plurality of IO requests.
18 . The computing system of claim 15 , wherein forecasting the temperature of the storage object includes processing the plurality of IO features using the first machine learning model.
19 . The computing system of claim 15 , wherein the limited subset of the plurality of IO features include one or more of the following:
a mean of a historical temperature variable;
a median of the historical temperature variable;
a standard deviation of the historical temperature variable;
a skewness of the historical temperature variable;
a kurtosis of the historical temperature variable;
a minimum of the historical temperature variable; and
a maximum of the historical temperature variable.
20 . The computing system of claim 15 , wherein dividing the storage object into a plurality of storage sub-objects includes adaptively dividing the storage object based upon, at least in part, performance of the storage system.