CACHE REPLACEMENT POLICY FOR DATA WITH STRONG TEMPORAL LOCALITY
First Claim
1. A method comprising:
- receiving a request for an item stored in a cache queue;
promoting the item within the cache queue if the item satisfies a criterion;
otherwise maintaining a location of the item in the cache queue.
2 Assignments
0 Petitions
Accused Products
Abstract
Various cache replacement policies are described whose goals are to identify items for eviction from the cache that are not accessed often and to identify items stored in the cache that are regularly accessed that should be maintained longer in the cache. In particular, the cache replacement policies are useful for workloads that have a strong temporal locality, that is, items that are accessed very frequently for a period of time and then quickly decay in terms of further accesses. In one embodiment, a variation on the traditional least recently used caching algorithm uses a reuse period or reuse distance for an accessed item to determine whether the item should be promoted in the cache queue. In one embodiment, a variation on the traditional two queue caching algorithm evicts items from the cache from both an active queue and an inactive queue.
65 Citations
20 Claims
-
1. A method comprising:
-
receiving a request for an item stored in a cache queue; promoting the item within the cache queue if the item satisfies a criterion; otherwise maintaining a location of the item in the cache queue. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A method comprising:
-
maintaining an active queue and an inactive queue in a cache; receiving a request for an item; placing the requested item within the inactive queue if the requested item is not already stored in the cache; inserting the requested item in the active queue if the requested item is already stored in the cache; maintaining a ratio of a size of the active queue to the inactive queue within certain limits by evicting an existing item from the cache, wherein the existing item is selected from the least recently accessed item of a tail of the active queue and a tail of the inactive queue. - View Dependent Claims (13, 14, 15, 16, 17, 18)
-
-
19. A machine readable medium storing instructions which when executed by a machine, cause the machine to:
-
receive a request for an item stored in a cache queue; if the requested item satisfies a criterion, promote the requested item to a head of the cache queue; maintain a recycle bit for each item in the cache queue, wherein the recycle bit is initially unset; if a tail item of the cache queue is to be evicted and the recycle bit for the tail item is unset, probabilistically determine whether to set the recycle bit; promote the tail item within the cache queue if the recycle bit was probabilistically set, and evict the tail item from the cache queue if the recycle bit for the tail item was set or was not probabilistically set. - View Dependent Claims (20)
-
Specification