Victim cache that supports draining write-miss entries
US-2024264952-A1 · Aug 8, 2024 · US
US9983996B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-9983996-B2 |
| Application number | US-201514965487-A |
| Country | US |
| Kind code | B2 |
| Filing date | Dec 10, 2015 |
| Priority date | Dec 10, 2015 |
| Publication date | May 29, 2018 |
| Grant date | May 29, 2018 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
Technologies for managing cache memory of a processor in a distributed shared memory system includes managing a distance value and an age value associated with each cache line of the cache memory. The distance value is indicative of a distance of a memory resource, relative to the processor, from which data stored in the corresponding chance line originates. The age value is based on the distance value and the number of times for which the corresponding cache line has been considered for eviction since a previous eviction of the corresponding cache line. Initially, the age value is set to the distance value. Additionally, every time a cache line is accessed, the age value associated with the accessed cache line is reset to the corresponding distance value. During a cache eviction operation, the cache line for eviction is selected based on the age value associated with each cache line. The age values of cache lines not selected for eviction are subsequently decremented such that even cache lines associated with remote memory resources will eventually be considered for eviction if not recently accessed.
Opening claim text (preview).
The invention claimed is: 1. A compute node to manage cache memory, the compute node comprising: a processor; a cache memory associated with the processor, the cache memory having a plurality of cache lines for storing data; and a memory to store metadata associated with one or more cache lines, wherein the metadata comprises an age field and a distance field, the distance field to store a distance value to indicate a distance of a memory resource, relative to the compute node, from which data stored in the corresponding cache line originates, and the age field to store an age value that is based at least in part on (i) the distance value and (ii) the number of times for which a corresponding cache line has been considered for eviction since a previous eviction of the corresponding cache line. 2. The compute node of claim 1 , comprising an eviction module to: determine one or more cache lines of the cache memory of the processor for consideration for eviction based on the age value associated with a cache line; select a cache line for eviction from the one or more cache lines based on an eviction policy; and evict content stored in the selected cache line from the cache memory. 3. The compute node of claim 2 , further comprising a cache agent to: access another cache line of the cache memory; and update the age value associated with the another cache line in response to accessing the another cache line. 4. The compute node of claim 3 , wherein to update the age value comprises to set the age value associated with the another cache line to the distance value associated with the another cache line in response to access of the another cache line. 5. The compute node of claim 2 , wherein to select the cache line for eviction comprises to select a cache line for eviction from the one or more cache lines based on the recency at which the cache line was last accessed. 6. The compute node of claim 2 , wherein the processor is to update the age value associated with one or more cache lines of the cache memory that were not selected for eviction. 7. The compute node of claim 6 , wherein to update the age value associated with one or more cache lines of the cache memory that were not selected for eviction comprises to decrement the age value associated with one or more cache lines of the cache memory that were not selected for eviction. 8. The compute node of claim 1 , further comprising a cache agent to: request data from a memory resource of a distributed shared memory system; receive the requested data, wherein the requested data includes a source identification that identifies the memory resource from which the data originated; determine a distance value associated with the received requested data based on the source identification; and store the received requested data in another cache line of the cache memory, wherein to store the received requested data includes to store the distance value in a distance field of metadata associated with the another cache line. 9. The compute node of claim 1 , wherein the distance value is indicative of a communication latency associated with the memory resource from which data stored in the corresponding cache line originates. 10. The compute node of claim 1 , further comprising one or more of (i) a network interface or (ii) a display communicatively coupled to the processor. 11. A method for managing cache memory of a processor of a compute node of a distributed shared memory system, the method comprising: determining, by the processor, one or more cache lines of the cache memory of the processor for consideration for eviction based on an age value associated with each cache line, wherein the age value is based at least in part on (i) a distance of a memory resource from which data stored in the corresponding cache line originates and (ii) the number of times for which the corresponding cache lines have been considered for eviction since a previous eviction of the corresponding cache lines; selecting, by the processor, a cache line for eviction from the one or more cache lines based on an eviction policy; and evicting, by the processor, the selected cache line from the cache memory. 12. The method of claim 11 , wherein a memory of the compute node includes metadata associated with one or more cache lines of the cache memory, and the metadata comprises an age field in which the age value of the corresponding cache line is located and a distance field in which a distance value associated with the corresponding cache line is located, wherein the distance value is to indicate a distance of a memory resource, relative to the compute node, from which data stored in the corresponding cache line originates. 13. The method of claim 12 , further comprising: accessing, by the processor, another cache line of the cache memory; and updating the age value associated with the another cache line in response to accessing the another cache line. 14. The method of claim 13 , wherein updating the age value comprises setting the age value associated with the another cache line to the distance value associated with the another cache line in response to accessing the another cache line. 15. The method of claim 12 , wherein the distance value is to indicate a communication latency associated with the memory resource from which data stored in the corresponding cache line originates. 16. The method of claim 11 , wherein determining the one or more cache lines based on the age value comprises selecting one or more cache lines of the cache memory having a lowest age value. 17. The method of claim 11 , further comprising decrementing, by the processor, the age value associated with one or more cache lines of the cache memory that was not selected for eviction. 18. The method of claim 11 , further comprising: requesting, by the processor, data from a memory resource of the distributed shared memory system; receiving, by the processor, the requested data, wherein the requested data includes a source identification that identifies with the memory resource from which the data originated; determining, by the processor, a distance value associated with the received requested data based on the source identification, wherein the distance value is indicative of a distance of the memory resource from the processor; and storing, by the processor, received requested data in another cache line of the cache memory, wherein storing received requested data includes storing the distance value in a distance field of metadata associated with the another cache line. 19. One or more machine-readable storage media comprising a plurality of instructions stored thereon that, when executed, cause one or more processors of a compute node to: determine one or more cache lines of a cache memory of the one or more processors for consideration for eviction based on an age value associated with each cache line, wherein the age value is based at least in part on (i) a distance of a memory resource from which data stored in the corresponding cache line originates and (ii) the number of times for which the corresponding cache lines have been considered for eviction since a previous eviction of the corresponding cache lines; select a cache line for eviction from a set of cache lines based on an eviction policy; and evict the selected cache line from the cache memory. 20. The one or more machine-readable storage media of claim 19 , wherein a memory of the compute node includes metadata associated with one or more cac
adapted to multidimensional cache systems, e.g. set-associative, multicache, multiset or multilevel · CPC title
with age lists, e.g. queue, most recently used [MRU] list or least recently used [LRU] list · CPC title
with a shared cache · CPC title
In storage network, e.g. network attached cache · CPC title
Replacement control · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.