Virtual Memory Page Reclamation for User Idle Mode
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional virtual memory page reclamation policies often evict user process pages during user inactivity, leading to page faults and delays when the user resumes activity, as they prioritize non-user processes over user processes, resulting in suboptimal performance and increased delay in resuming user applications.
Innovation Solution
Implementing a second page reclamation policy that prioritizes the eviction of non-user process pages, such as background processes, over user process pages during periods of user inactivity, ensuring that user process pages remain in memory, reducing page faults and improving user experience upon resumption.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If conventional page reclamation policies evict user process pages during user inactivity, then non-user processes can be prioritized and executed, but user applications experience page faults and delays when the user resumes activity
Solution Approach 1:
The system dynamically switches between two page reclamation policies based on user activity state. During user activity, a first policy is applied that treats user and non-user processes equally. When user inactivity is detected, a second policy is applied that prioritizes non-user process pages for eviction. This dynamic adaptation resolves the contradiction by adjusting the reclamation strategy according to current system state, allowing non-user processes to run during idle time while preserving user process pages for quick resumption.
2Speed
If user process pages are retained in memory during user inactivity, then user applications can resume quickly without page faults, but non-user processes may suffer from memory pressure and performance degradation
Solution Approach 1:
The patent applies different reclamation priorities to different process types based on their importance to user experience. User process pages are assigned high retention priority to ensure quick resumption, while non-user process pages are assigned lower priority allowing their eviction when memory pressure occurs. This localized differentiation of quality (priority levels) for different memory pages resolves the contradiction by protecting user-facing performance while allowing background processes to yield memory when needed.
3Device complexity
If a single page reclamation policy is used for both user activity and user inactivity modes, then the system is simpler to implement, but it cannot optimize for both user application resumption and non-user process execution
Solution Approach 1:
The system implements dynamic policy selection based on user activity detection. An activity monitor tracks user interactions and triggers a switch between two reclamation policies. The first policy (for active mode) maintains balanced treatment of all processes, while the second policy (for idle mode) prioritizes user process retention. This dynamic approach resolves the contradiction by accepting increased implementation complexity in exchange for significant productivity gains through context-aware optimization.
Data Source
AI summary
Techniques are disclosed relating to virtual memory page reclamation policies. In some embodiments, an operating system of a computing device implements, during a first operating mode, a first page reclamation policy for pages corresponding to user processes and non-user processes. The computing device may then enter a second operating mode upon detecting some indication of user inactivity. The operating system may then implement, during the second operating mode, a second page reclamation policy for pages corresponding to user processes and non-user processes, where the second page reclamation policy prioritizes, relative to the first page reclamation policy, eviction of pages corresponding to non-user processes.


