IP Library Granted Patent US 10,452,546
Granted Patent B2
US 10,452,546 · App. 15/851,567 · Granted Oct 22, 2019

Cache utility modeling for automated cache configuration

Inventors: Michael Mesnier (Scappoose, OR); Arun Raghunath (Portland, OR); Mariusz Barczak (Gdansk, PL); John Keys (Beaverton, OR)
Assignee: Intel Corporation
G06F12/0815G06F12/0802G06F12/0893G06F13/16G06F2212/2515G06F2212/601G06F2212/604G06F2212/608
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 10,452,546
App. No.
15/851,567
Granted
Oct 22, 2019
Kind
B2
Abstract

Examples may include techniques to monitor processing of I/O requests of an application being executed by a computing platform by collecting a trace of the I/O requests, the trace including an I/O class of each I/O request; replay the trace and automatically analyze possible cache configuration policies for using a cache during execution of the application by the computing platform; and determine an optimal cache configuration policy for the cache from the possible cache configuration policies. The optimal cache configuration policy may then be applied to use of the cache during subsequent execution of the application by the computing platform.

Claims (50)

1. An apparatus comprising:

circuitry; and

logic for execution by the circuitry to:

monitor processing of Input/Output (I/O) requests of an application being executed by a computing platform by collecting a trace of the I/O requests, the trace including an I/O class of each I/O request,

replay the trace and automatically analyze possible cache configuration policies for using a cache during execution of the application by the computing platform,

determine a cache utility metric for each I/O class;

rank I/O classes according to the cache utility metrics from most useful to least useful for improving performance of the computing platform while executing the application; and

determine an optimal cache configuration policy for the cache from the possible cache configuration policies.

2. The apparatus of claim 1 , comprising the logic to:

apply the optimal cache configuration policy to use of the cache during subsequent execution of the application by the computing platform.

3. The apparatus of claim 1 , comprising the logic to:

determine the optimal cache configuration policy based on the I/O class rankings.

4. The apparatus of claim 3 , comprising the logic to:

apply a “cache all” policy and an infinite cache size when replaying the trace and automatically analyze possible cache configuration policies for using the cache.

5. The apparatus of claim 1 , wherein the cache utility metric comprises a number of disk seeks for a first I/O class divided by a number of sectors accessed by the I/O first class.

6. The apparatus of claim 1 , wherein the cache utility metric comprises a number of disk seeks for a second I/O class divided by a number of I/O requests for the I/O second class.

7. The apparatus of claim 1 , comprising the logic to:

perform the monitoring, replaying, and determining when a workload of the application changes.

8. A method comprising:

monitoring processing of I/O requests of an application being executed by a computing platform by collecting a trace of the I/O requests, the trace including an I/O class of each I/O request;

replaying the trace and automatically analyzing possible cache configuration policies for using a cache during execution of the application by the computing platform;

determining a cache utility metric for each I/O class;

ranking I/O classes according to the cache utility metrics from most useful to least useful for improving performance of the computing platform while executing the application; and

determining an optimal cache configuration policy for the cache from the possible cache configuration policies.

9. The method of claim 8 , comprising:

applying the optimal cache configuration policy to use of the cache during subsequent execution of the application by the computing platform.

10. The method of claim 8 , comprising:

determining the optimal cache configuration policy based on the I/O class rankings.

11. The method of claim 10 , comprising:

applying a “cache all” policy and an infinite cache size when replaying the trace and automatically analyze possible cache configuration policies for using the cache.

12. The method of claim 8 , wherein the cache utility metric comprises a number of disk seeks for a first I/O class divided by a number of sectors accessed by the first I/O class.

13. The method of claim 8 , wherein the cache utility metric comprises a number of disk seeks for a second I/O class divided by a number of I/O requests for the I/O second class.

14. The method of claim 8 , comprising:

performing the monitoring, replaying, and determining when a workload of the application changes.

15. At least one non-transitory machine readable medium comprising a plurality of instructions that in response to being executed by a system at a computing platform cause the system to:

monitor processing of I/O requests of an application being executed by a computing platform by collecting a trace of the I/O requests, the trace including an I/O class of each I/O request,

replay the trace and automatically analyze possible cache configuration policies for using a cache during execution of the application by the computing platform,

determine a cache utility metric for each I/O class;

rank I/O classes according to the cache utility metrics from most useful to least useful for improving performance of the computing platform while executing the application; and

determine an optimal cache configuration policy for the cache from the possible cache configuration policies.

16. The at least one non-transitory machine readable medium of claim 15 , comprising the instructions to further cause the system to:

apply the optimal cache configuration policy to use of the cache during subsequent execution of the application by the computing platform.

17. The at least one non-transitory machine readable medium of claim 15 , comprising the insertions to further cause the system to:

determine the optimal cache configuration policy based on the I/O class rankings.

18. The at least one non-transitory machine readable medium of claim 17 , comprising the insertions to further cause the system to:

apply a “cache all” policy and an infinite cache size when replaying the trace and automatically analyze possible cache configuration policies for using the cache.

19. The at least one non-transitory machine readable medium of claim 15 , wherein the cache utility metric comprises a number of disk seeks for a first I/O class divided by a number of sectors accessed by the first I/O class.

20. The at least one non-transitory machine readable medium of claim 15 , wherein the cache utility metric comprises a number of disk seeks for a second I/O class divided by a number of I/O requests for the second I/O class.

21. The at least one non-transitory machine readable medium of claim 15 , comprising the insertions to further cause the system to:

perform the monitoring, replaying, and determining when a workload of the application changes.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 17, 2023
From: INTEL CORPORATION
To: INTEL NDTM US LLC
Reel/Frame 064928/0832 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 22, 2018
From: MESNIER, MICHAEL; RAGHUNATH, ARUN; BARCZAK, MARIUSZ; KEYS, JOHN
To: INTEL CORPORATION
Reel/Frame 044683/0752 →
Continuity (1)
Related Publication 20190034339A1 · Jan 31, 2019