Dynamic Larger Page Allocation for Memory Efficiency
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing heap memory management systems face challenges with inflexibility in utilizing larger pages, leading to memory bloating and inefficient resource utilization, especially in systems with limited memory.
Innovation Solution
A computer-implemented method that monitors resource utilization, determines when it exceeds a threshold, and dynamically manages larger page allocations by turning off larger pages for applications with the highest index values, using a machine learning model to predict allocations based on application features and runtime data.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If larger pages are allocated to applications, then memory access performance is improved and TLB cache hit ratios increase, but memory bloating occurs and resource utilization becomes inefficient when memory is limited
Solution Approach 1:
The patent implements dynamic management of larger pages by monitoring system resource utilization in real-time and adjusting page allocation policies accordingly. When resources are abundant, larger pages are allocated to improve performance; when resources become constrained, the system dynamically switches to smaller pages or denies allocations, thus adapting memory management to current system conditions rather than using a fixed policy
Solution Approach 2:
The system changes the parameter of page size allocation based on monitored resource utilization thresholds. By adjusting the allocation decision between larger and smaller pages according to system state, the patent optimizes the balance between performance benefits and memory consumption, preventing memory bloating when resources are limited
2Ease of manufacture
If transparent huge pages (THP) are used to automatically manage larger pages, then setup complexity is reduced, but system latency increases when memory compaction fails due to fragmented memory
Solution Approach 1:
The patent introduces feedback mechanisms that monitor memory compaction success and system resource utilization. When compaction fails or resources are constrained, the system receives feedback and adjusts its behavior by denying THP allocations or switching to smaller pages, thereby reducing latency while maintaining the ease of THP setup through automated monitoring and adaptive response
3Reliability
If reserved larger pages are pre-allocated for applications, then memory availability is ensured, but flexibility is reduced and memory waste occurs when applications use less memory than allocated
Solution Approach 1:
The system transitions from static pre-allocation to dynamic on-demand allocation. Instead of reserving larger pages in advance, the system monitors application needs and resource utilization in real-time, allocating larger pages only when both the application needs them and system resources are available, thus achieving both reliability and flexibility
4Speed
If larger pages are allocated to improve TLB cache hit ratios, then memory access speed increases, but OS maintenance overhead increases when more pages need to be loaded
Solution Approach 1:
The system dynamically adjusts the page size parameter based on monitored conditions. When fewer pages need to be loaded and system resources are available, larger pages are used to improve access speed and TLB hit ratios. When loading more pages becomes necessary, the system switches to smaller pages, thus optimizing the balance between speed and maintenance overhead
Data Source
AI summary
A method, including: monitoring resource utilization of an operating system (OS) with applications utilizing larger pages; determining the monitored resource utilization is greater than a threshold resource utilization; in response to the determining the monitored resource utilization is greater than a threshold resource utilization, determining a respective larger pages index value for each of the applications utilizing larger pages; and turning off larger pages utilization of a subset of the applications utilizing larger pages, wherein the subset comprises a predefined number of the applications utilizing larger pages that have highest determined larger pages index values.


