IP Library Granted Patent US 11,194,725
Granted Patent B2
US 11,194,725 · App. 16/685,222 · Granted Dec 7, 2021

Method and apparatus for adjusting cache prefetch policies based on predicted cache pollution from dynamically evolving workloads

Inventors: Rômulo Teixeira de Abreu Pinho (Niterói, BR); Hugo de Oliveira Barbalho (Rio de Janeiro, BR); Vinicius Michel Gottin (Rio de Janeiro, BR); Roberto Nery Stelling Neto (Rio de Janeiro, BR); Alex Laier Bordignon (Rio de Janeiro, BR); Daniel Sadoc Menasché (Rio de Janeiro, BR)
Assignee: Dell Products, L.P.
G06F12/0862G06N5/04G06N20/10G06F2212/1016G06F2212/6012G06F2212/6022
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,194,725
App. No.
16/685,222
Granted
Dec 7, 2021
Kind
B2
Abstract

A cache management system includes a sequentiality determination process configured to determine sequentiality profiles of a workload of IO traces as the workload dynamically changes over time. A learning process is trained to learn a correlation between workload sequentiality and cache pollution, and the trained learning process is used to predict cache pollution before the cache starts to experience symptoms of excessive pollution. The predicted pollution value is used by a cache policy adjustment process to change the prefetch policy applied to the cache, to proactively control the manner in which prefetching is used to write data to the cache. Selection of the cache policy is implemented on a per-LUN basis, so that cache performance for each LUN is individually managed by the cache management system.

Claims (33)

1. A method for optimizing performance of a storage system, comprising the steps of:

providing associated sequentiality profile and cache pollution information to a learning process to train the learning process to implement a predictive pollution model correlating sequentiality of workloads with cache pollution levels;

determining a sequentiality profile of a workload over a first time interval;

providing the sequentiality profile of the workload to the trained predictive pollution model;

obtaining a predictive cache pollution level for a second time interval from the trained predictive pollution model based on the provided sequentiality profile of the workload;

comparing the predictive cache pollution level with a threshold; and

adjusting a cache prefetching policy applied to a cache during the second time interval based on a result of the comparison of the predictive cache pollution level with the threshold.

2. The method of claim 1 , wherein adjusting comprises turning ON a cache prefetching policy for the cache if the predictive cache pollution level is below the threshold, and turning OFF the cache prefetching policy for the cache if the predictive cache pollution level is above the threshold.

3. The method of claim 1 , the threshold comprises first and second threshold values, and wherein adjusting comprises turning ON a cache prefetching policy for the cache if the predictive cache pollution level is below the first threshold value, turning OFF the cache prefetching policy for the cache if the predictive cache pollution level is above the second threshold value, and not making any adjustment to a current cache prefetch policy for the cache if the predictive cache pollution level is above the first threshold value and below the second threshold value.

4. The method of claim 1 , wherein the storage system offers storage resources organized into logical storage volumes (LUNs), and wherein the step of determining the sequentiality profile of the current workload comprises determining individual sequentiality profiles for each LUN.

5. The method of claim 4 , wherein the step of providing the sequentiality profile to the trained predictive pollution model comprises providing the individual sequentiality profile of each LUN to the trained predictive pollution model;

wherein the step of obtaining the predictive cache pollution level comprises obtaining a respective individual predictive cache pollution level of each LUN; and

wherein the step of comparing the predictive cache pollution level with a threshold comprises comparing the respective individual predictive cache pollution level with the threshold.

6. The method of claim 5 , wherein the step of adjusting the cache prefetching policy applied to the cache comprises adjusting a respective cache prefetching policy applied to workloads associated with each LUN.

7. The method of claim 1 , wherein the first time interval is a preceding time interval and the second time interval is a following succeeding time interval.

8. The method of claim 7 , wherein a length of the first time interval and a length of the second time interval are the same.

9. The method of claim 1 , wherein the learning process is based on a regression model.

10. The method of claim 9 , wherein the regression model is a support vector regression learning process.

11. The method of claim 9 , wherein the regression model is a regression tree learning process.

12. The method of claim 1 , wherein sequentiality is determined from a histogram of numbers of address sequences of particular lengths in an ordered set of addresses referenced by workload traces on the cache over the first time interval.

13. The method of claim 1 , wherein the threshold is heuristically determined for the storage system.

14. The method of claim 13 , further comprising determining the threshold by:

initially setting the threshold to a very low value;

incrementally increasing the threshold while monitoring a hit rate on the cache; and

setting the threshold value to the value where the hit rate on the cache stops increasing.

15. The method of claim 13 , further comprising determining the threshold by:

initially setting the threshold to a very low value;

incrementally increasing the threshold while monitoring a throughput on a memory bus by monitoring system response times; and

setting the threshold value to the value where the memory bus is saturated as indicated by an increase in system response time.

16. The method of claim 13 , further comprising determining the threshold by:

initially setting the threshold to a very low value;

incrementally increasing the threshold while monitoring a hit rate on the cache and monitoring a throughput on a memory bus by monitoring system response times; and

setting the threshold value to the lower of (1) the value where the hit rate on the cache stops increasing or (2) the value where the memory bus is saturated as indicated by an increase in system response time.

Assignments (9)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053311/0169) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
Reel/Frame 060438/0742 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053546/0001) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC IP HOLDING COMPANY LLC
Reel/Frame 071642/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (052216/0758) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 060438/0680 →
RELEASE OF SECURITY INTEREST AF REEL 052243 FRAME 0773 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 058001/0152 →
SECURITY INTEREST Recorded Jun 5, 2020
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 053311/0169 →
SECURITY AGREEMENT Recorded Apr 22, 2020
From: CREDANT TECHNOLOGIES INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 053546/0001 →
SECURITY AGREEMENT Recorded Mar 26, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 052243/0773 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Mar 24, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 052216/0758 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 15, 2019
From: PINHO, RÔMULO TEIXEIRA DE ABREU; BARBALHO, HUGO DE OLIVEIRA; GOTTIN, VINÍCIUS MICHEL; NETO, ROBERTO NERY STELLING; BORDIGNON, ALEX LAIER; MENASCHÉ, DANIEL SADOC
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 051021/0187 →