IP Library Granted Patent US 7,454,571
Granted Patent B1
US 7,454,571 · App. 10/838,488 · Granted Nov 18, 2008

Heuristic cache tuning

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 7,454,571
App. No.
10/838,488
Granted
Nov 18, 2008
Kind
B1
Abstract

In some embodiments, a computer system comprises a cache configured to cache data. The computer system is configured to monitor the cache and data that is potentially cacheable in the cache to accumulate a plurality of statistics useable to identify which of a plurality of data lifecycle patterns apply to the data. The computer system is also configured to modify a cache configuration of the cache dependent on which of the plurality of data lifecycle patterns apply to the data.

Claims (23)

1. A computer accessible storage medium comprising a plurality of instructions which, when executed:

monitor a cache and data that is potentially cacheable in the cache to accumulate a plurality of statistics usable to identify which of a plurality of data lifecycle patterns apply to the data;

identify two or more of the plurality of data lifecycle patterns that occur concurrently; and

modify a cache configuration of the cache dependent on which of the plurality of data lifecycle patterns apply to the data and further dependent on whether or not resources that would be consumed by the cache configuration are available for caching, and wherein the resources that would be consumed by the cache configuration are not currently consumed according to a current configuration of the cache and wherein, in response to identifying the two or more of the plurality of data lifecycle patterns that occur concurrently, modifying the cache configuration comprises modifying the cache configuration with a combination of modifications, each of the modifications corresponding to one of the concurrently identified data lifecycle patterns, and wherein modifying the cache with the combination of modifications comprises partitioning the cache into partitions, each partition corresponding to one of the two or more of the plurality of data lifecycle patterns and configured according to the one of the two or more of the plurality of data lifecycle patterns.

2. The computer accessible storage medium as recited in claim 1 wherein the cache configuration comprises a size of the cache.

3. The computer accessible storage medium as recited in claim 1 wherein the cache configuration comprises whether or not to cache data.

4. The computer accessible storage medium as recited in claim 1 wherein the plurality of instructions, when executed, measure a cache hit rate for the cache and wherein the plurality of instructions, when executed, modify the cache configuration dependent on the cache hit rate being lower than a threshold.

5. The computer accessible storage medium as recited in claim 1 wherein the plurality of instructions, when executed, analyze the plurality of statistics to determine which of the plurality of data lifecycle patterns apply to the data.

6. A method comprising:

monitoring a cache and data that is potentially cacheable in the cache to accumulate a plurality of statistics usable to identify which of a plurality of data lifecycle patterns apply to the data;

identify two or more of the plurality of data lifecycle patterns that occur concurrently; and

modifying a cache configuration of the cache dependent on which of the plurality of data lifecycle patterns apply to the data and further dependent on whether or not resources that would be consumed by the cache configuration are available for caching, and wherein the resources that would be consumed by the cache configuration are not currently consumed according to a current configuration of the cache and wherein, in response to identifying the two or more of the plurality of data lifecycle patterns that occur concurrently, modifying the cache configuration comprises modifying the cache configuration with a combination of modifications, each of the modifications corresponding to one of the concurrently identified data lifecycle patterns, and wherein modifying the cache with the combination of modifications comprises partitioning the cache into partitions, each partition corresponding to one of the two or more of the plurality of data lifecycle patterns and configured according to the one of the two or more of the plurality of data lifecycle patterns.

7. The method as recited in claim 6 further comprising measuring a cache hit rate for the cache, wherein modifying the cache configuration is further dependent on the cache hit rate being lower than a threshold.

8. The method as recited in claim 6 further comprising analyzing the plurality of statistics to determine which of the plurality of data lifecycle patterns apply to the data.

9. A computer system comprising a cache configured to cache data, wherein the computer system is configured to monitor the cache and data that is potentially cacheable in the cache to accumulate a plurality of statistics usable to identify which of a plurality of data lifecycle patterns apply to the data, and wherein the computer system is configured to identify two or more of the plurality of data lifecycle patterns that occur concurrently, and wherein the computer system is configured to modify a cache configuration of the cache dependent on which of the plurality of data lifecycle patterns apply to the data and further dependent on whether or not resources that would be consumed by the cache configuration are available for caching, and wherein the resources that would be consumed by the cache configuration are not currently consumed according to a current configuration of the cache and wherein, in response to identifying the two or more of the plurality of data lifecycle patterns that occur concurrently, modifying the cache configuration comprises modifying the cache configuration with a combination of modifications, each of the modifications corresponding to one of the concurrently identified data lifecycle patterns, and wherein modifying the cache with the combination of modifications comprises partitioning the cache into partitions each partition corresponding to one of the two or more of the plurality of data lifecycle patterns and configured according to the one of the two or more of the plurality of data lifecycle patterns.

10. The computer system as recited in claim 9 wherein the cache configuration comprises a size of the cache.

11. The computer system as recited in claim 9 wherein the cache configuration comprises whether or not to cache data.

12. The computer system as recited in claim 9 wherein the computer system is further configured to measure a cache hit rate for the cache, and wherein the computer system is configured to modify the cache configuration dependent on the cache hit rate being lower than a threshold.

13. The computer accessible storage medium as recited in claim 1 wherein the plurality of instructions, when executed, in response to determining that the resources that would be consumed are not available, change the cache configuration to a different configuration that consumes only available resources.

14. The computer accessible storage medium as recited in claim 1 wherein the plurality of instructions, when executed, disable the cache if the different cache configuration cannot be supported by the available resources.

15. The computer accessible storage medium as recited in claim 1 wherein the cache configuration comprises one or more caching rules for data corresponding to the identified lifecycle pattern, and wherein the resources comprise processor cycles to execute the instructions that implement the caching rules.

16. The computer accessible storage medium as recited in claim 1 wherein the instructions that modify the cache configuration are scheduled to execute periodically, and wherein the length of the period is based on an expected workload on a computer system that executes the instructions.

17. The computer accessible storage medium as recited in claim 1 wherein the instructions that modify the cache configuration are scheduled to execute responsive to a request from the instructions that monitor the cache and the potentially cacheable data.

Assignments (2)
MERGER AND CHANGE OF NAME Recorded Dec 16, 2015
From: ORACLE USA, INC.; SUN MICROSYSTEMS, INC.; ORACLE AMERICA, INC.
To: ORACLE AMERICA, INC.
Reel/Frame 037303/0926 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 4, 2004
From: SUCHARITAKUL, AKARA
To: SUN MICROSYSTEMS, INC.
Reel/Frame 015314/0869 →