Methods and mechanisms for proactive memory management
First Claim
1. In a computer system, a method comprising:
- tracing page usage for a plurality of pages;
associating a priority value with each traced page based on the traced usage of that page and the page'"'"'s corresponding I/O transfer expense, wherein the I/O transfer expense indicates the potential future cost of loading the page into memory if the page is unloaded onto disk; and
prioritizing at least some of the pages that are in memory relative to other pages on another storage based on the priority value associated with each page.
2 Assignments
0 Petitions
Accused Products
Abstract
A proactive, resilient and self-tuning memory management system and method that result in actual and perceived performance improvements in memory management, by loading and maintaining data that is likely to be needed into memory, before the data is actually needed. The system includes mechanisms directed towards historical memory usage monitoring, memory usage analysis, refreshing memory with highly-valued (e.g., highly utilized) pages, I/O pre-fetching efficiency, and aggressive disk management. Based on the memory usage information, pages are prioritized with relative values, and mechanisms work to pre-fetch and/or maintain the more valuable pages in memory. Pages are pre-fetched and maintained in a prioritized standby page set that includes a number of subsets, by which more valuable pages remain in memory over less valuable pages. Valuable data that is paged out may be automatically brought back, in a resilient manner. Benefits include significantly reducing or even eliminating disk I/O due to memory page faults.
-
Citations
20 Claims
-
1. In a computer system, a method comprising:
-
tracing page usage for a plurality of pages; associating a priority value with each traced page based on the traced usage of that page and the page'"'"'s corresponding I/O transfer expense, wherein the I/O transfer expense indicates the potential future cost of loading the page into memory if the page is unloaded onto disk; and prioritizing at least some of the pages that are in memory relative to other pages on another storage based on the priority value associated with each page. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15)
-
-
16. In a computing environment, a system comprising:
-
a tracing mechanism that tracks memory page usage for a plurality of pages; and a prioritization mechanism that associates a score with each tracked page based on both the memory page usage tracked for that page and the page'"'"'s corresponding I/O transfer expense, wherein the I/O transfer expense indicates the potential future cost of loading the page into memory if the page is unloaded onto disk. - View Dependent Claims (17, 18, 19)
-
-
20. In a computer system, a method comprising:
-
tracing page usage for a plurality of pages; associating a priority value with each traced page based on the following;
the traced usage of that page, a user-provided weighting indication indicating the page'"'"'s degree of importance to the user, the page'"'"'s corresponding I/O transfer expense, wherein the I/O transfer expense indicates the potential future cost of loading the page into memory if the page is unloaded onto disk, and at least a portion of associated context information indicating current power and disk states; andprioritizing at least some of the pages that are in memory relative to other pages on another storage based on the priority value associated with each page, such that pages with higher associated priority values are protected from being unloaded from memory.
-
Specification