Using access-frequency hierarchy for selection of eviction destination
First Claim
Patent Images
1. A method, comprising:
- in a computing system in which one or more workloads access memory pages in a memory, defining multiple memory-page lists, and specifying for each memory-page list a respective different scanning period;
continually estimating access frequencies with which the memory pages are accessed, by periodically checking the memory pages on each memory-page list in accordance with the scanning period specified for that memory-page list, and re-assigning the memory pages to the memory-page lists based on the estimated access frequencies;
selecting one or more memory pages for eviction from the memory to one or more of multiple storage tiers;
selecting for each of the one or more memory pages selected for eviction, a storage tier to which to evict the memory page, from among the multiple storage tiers, based on a history of the assignments of the memory page to the memory page lists; and
evicting the one or more of the memory pages from the memory to the respective selected storage tiers,wherein selecting for each of the one or more memory pages selected for eviction, a storage tier comprises determining for evicted memory pages an expected time duration before it will be required in the main memory and selecting a storage tier responsively to the expected time duration.
3 Assignments
0 Petitions
Accused Products
Abstract
A method includes, in a computing system in which one or more workloads access memory pages in a memory, defining multiple memory-page lists, and specifying for each memory-page list a respective different scanning period. Access frequencies, with which the memory pages are accessed, are estimated continually by periodically checking the memory pages on each memory-page list in accordance with the scanning period specified for that memory-page list, and re-assigning the memory pages to the memory-page lists based on the estimated access frequencies. One or more of the memory pages are evicted from the memory based on a history of assignments of the memory pages to the memory-page lists.
96 Citations
17 Claims
-
1. A method, comprising:
-
in a computing system in which one or more workloads access memory pages in a memory, defining multiple memory-page lists, and specifying for each memory-page list a respective different scanning period; continually estimating access frequencies with which the memory pages are accessed, by periodically checking the memory pages on each memory-page list in accordance with the scanning period specified for that memory-page list, and re-assigning the memory pages to the memory-page lists based on the estimated access frequencies; selecting one or more memory pages for eviction from the memory to one or more of multiple storage tiers; selecting for each of the one or more memory pages selected for eviction, a storage tier to which to evict the memory page, from among the multiple storage tiers, based on a history of the assignments of the memory page to the memory page lists; and evicting the one or more of the memory pages from the memory to the respective selected storage tiers, wherein selecting for each of the one or more memory pages selected for eviction, a storage tier comprises determining for evicted memory pages an expected time duration before it will be required in the main memory and selecting a storage tier responsively to the expected time duration. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A computing system, comprising:
-
a memory for storing memory pages; and a processor, which is configured to run one or more workloads that access the memory pages in the memory, to define multiple memory-page lists and specify for each memory-page list a respective different scanning period, to continually estimate access frequencies with which the memory pages are accessed, by periodically checking the memory pages on each memory-page list in accordance with the scanning period specified for that memory-page list, to re-assign the memory pages to the memory-page lists based on the estimated access frequencies, to select one or more memory pages for eviction from the memory to one or more of multiple storage tiers, and to evict the one or more of the memory pages from the memory based on a history of assignments of the memory pages to the memory-page lists, wherein the processor is configured to select for each of the one or more memory pages selected for eviction, a storage tier for evicting the memory page, from among the multiple storage tiers, based on the history of the assignments of the memory page to the memory page lists, wherein selecting for each of the one or more memory pages selected for eviction, a storage tier comprises determining for evicted memory pages an expected time duration before it will be required in the main memory and selecting a storage tier responsively to the expected time duration. - View Dependent Claims (11, 12, 13, 14, 15, 16)
-
-
17. A computer software product, the product comprising a tangible non-transitory computer-readable medium in which program instructions are stored, which instructions, when read by a processor that runs one or more workloads that access memory pages in a memory, cause the processor to define multiple memory-page lists, to specify for each memory-page list a respective different scanning period, to continually estimate access frequencies with which the memory pages are accessed, by periodically checking the memory pages on each memory-page list in accordance with the scanning period specified for that memory-page list, to re-assign the memory pages to the memory-page lists based on the estimated access frequencies, to select one or more memory pages for eviction from the memory to one or more of multiple storage tiers, to select for each of the one or more memory pages selected for eviction, a storage tier to which to evict the memory page, from among the multiple storage tiers, based on a history of the assignments of the memory page to the memory page lists, and to evict the one or more of the memory pages from the memory to the respective selected storage tiers,
wherein selecting for each of the one or more memory pages selected for eviction, a storage tier comprises determining for evicted memory pages an expected time duration before it will be required in the main memory and selecting a storage tier responsively to the expected time duration.
Specification