Cache replacement for shared memory caches

US9280470B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9280470-B2
Application numberUS-201213617477-A
CountryUS
Kind codeB2
Filing dateSep 14, 2012
Priority dateJul 20, 2012
Publication dateMar 8, 2016
Grant dateMar 8, 2016

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

An information processing system and computer program storage product for managing objects stored in a shared memory cache. The system includes at least a plurality of cache readers accessing data from the shared memory cache. The system updates data in the shared memory cache using a cache writer. The system maintains a cache replacement process collocated with a cache writer. The cache replacement process makes a plurality of decisions on objects to store in the shared memory cache. Each of the plurality of cache readers maintains information on frequencies with which it accesses cached objects. Each of the plurality of cache readers communicates the maintained information to the cache replacement process. The cache replacement process uses the communicated information on frequencies to make at least one decision on replacing at least one object currently stored in the shared memory cache.

First claim

Opening claim text (preview).

What is claimed is: 1. A computer program storage product for managing objects stored in cache memory that is communicatively coupled with at least one processor, and in which multiple processes at least read data from the cache memory, the computer program storage product comprising a non-transitory computer readable storage medium comprising instructions configured to perform a method comprising: reading, with at least one first process, data stored in the cache memory; maintaining, with the at least one first process, information on cached data that has been requested by at least one client; receiving, by at least one second process, communications from the at least one first process; communicating, from the at least one first process, at least part of the maintained information to the at least one second process; and using, by the at least one second process, at least part of the maintained information from the at least one first process to make at least one decision on replacing at least one object currently stored in the cache memory, wherein replacing an object comprises removing the object from the cache in order to store another object, and wherein the at least one first process communicating at least part of the maintained information to the at least one second process is performed in response to a time period having elapsed since a previous time that the at least one first process communicated at least part of the maintained information to the at least one second process. 2. The computer program storage product of claim 1 , the cache memory communicatively coupled with the at least one processor being further comprised of multiple cache readers independently reading cached data residing in shared cache memory, and a single cache writer updating cached data in the shared cache memory, wherein the at least one first process comprises a cache reader and the at least one second process resides on the cache writer. 3. The computer program storage product of claim 1 , wherein the at least part of the maintained information includes information on how frequently at least one cached object is accessed. 4. The computer program storage product of claim 1 , wherein the at least one decision on what objects should be stored in the cache memory is made using at least one of: LRU (Least Recently Used); LRU-K (where K is a positive integer); GreedyDual-Size; and a quantitative utility metric assigned to cached objects. 5. The computer program storage product of claim 1 , wherein the at least one first process communicating at least part of the maintained information to the at least one second process is performed in response to a change in an access pattern of at least one cached object since a previous time that the at least one first process communicated at least part of the maintained information to the at least one second process. 6. The computer program storage product of claim 5 , wherein the change in an access pattern comprises an access frequency for a cached object falling below a threshold. 7. The computer program storage product of claim 5 , wherein the change in an access pattern comprises an access frequency for a cached object exceeding a threshold. 8. A computer program storage product for managing objects stored in cache memory that is communicatively coupled with at least one processor, and in which multiple processes at least read data from the cache memory, the computer program storage product comprising a non-transitory computer readable storage medium comprising instructions configured to perform a method comprising: reading, with at least one first process, data stored in the cache memory; maintaining, with the at least one first process, information on cached data that has been requested by at least one client; receiving, by at least one second process, communications from the at least one first process; communicating, from the at least one first process, at least part of the maintained information to the at least one second process; and using, by the at least one second process, at least part of the maintained information from the at least one first process to make at least one decision on replacing at least one object currently stored in the cache memory, wherein replacing an object comprises removing the object from the cache in order to store another object, and wherein a frequency of the at least one first process communicating at least part of the maintained information to the at least one second process is at least one of decreased in response to the cache frequently having space, and increased in response to the cache frequently being full. 9. The computer program storage product of claim 8 , wherein the cache memory communicatively coupled with the at least one processor being further comprised of multiple cache readers independently reading cached data residing in shared cache memory, and a single cache writer updating cached data in the shared cache memory, wherein the at least one first process comprises a cache reader and the at least one second process resides on the cache writer. 10. The computer program storage product of claim 8 , wherein the at least part of the maintained information includes information on how frequently at least one cached object is accessed. 11. The computer program storage product of claim 8 , wherein the at least one decision on what objects should be stored in the cache memory is made using at least one of: LRU (Least Recently Used); LRU-K (where K is a positive integer); GreedyDual-Size; and a quantitative utility metric assigned to cached objects. 12. The computer program storage product of claim 8 , wherein the at least one first process communicating at least part of the maintained information to the at least one second process is performed in response to a change in an access pattern of at least one cached object since a previous time that the at least one first process communicated at least part of the maintained information to the at least one second process. 13. The computer program storage product of claim 12 , wherein the change in an access pattern comprises an access frequency for a cached object falling below a threshold. 14. The computer program storage product of claim 12 , wherein the change in an access pattern comprises an access frequency for a cached object exceeding a threshold. 15. A computer program storage product for managing objects stored in cache memory that is communicatively coupled with at least one processor, and in which multiple processes at least read data from the cache memory, the computer program storage product comprising a non-transitory computer readable storage medium comprising instructions configured to perform a method comprising: reading, with at least one first process, data stored in the cache memory; maintaining, with the at least one first process, information on cached data that has been requested by at least one client; receiving, by at least one second process, communications from the at least one first process; communicating, from the at least one first process, at least part of the maintained information to the at least one second process; and using, by the at least one second process, at least part of the maintained information from the at least one first process to make at least one decision on replacing at least one object currently stored in the cache memory, wherein replacing an object comprises removing the object from the cache in order to store another object, and wherein the method further comprising the at least one second process periodically replicating informatio

Assignees

Inventors

Classifications

  • G06F12/084Primary

    with a shared cache · CPC title

  • with age lists, e.g. queue, most recently used [MRU] list or least recently used [LRU] list · CPC title

  • using replacement algorithms · CPC title

  • Physics · mapped topic

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9280470B2 cover?
An information processing system and computer program storage product for managing objects stored in a shared memory cache. The system includes at least a plurality of cache readers accessing data from the shared memory cache. The system updates data in the shared memory cache using a cache writer. The system maintains a cache replacement process collocated with a cache writer. The cache replac…
Who is the assignee on this patent?
Iyengar Arun, IBM
What technology area does this patent fall under?
Primary CPC classification G06F12/084. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Mar 08 2016 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).