Dynamic Memory Limit Allocation for Multi-Process Systems
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional memory management systems face performance issues due to unnecessary input/output transactions when memory pages are moved to secondary storage, leading to slowed system performance in systems executing multiple processes.
Innovation Solution
A memory allocator assigns temporary memory limits to processes, dynamically adjusts these limits, and signals processes to free cached data when necessary to maintain a global memory limit, using a vector in shared memory to store memory limits and consumption data, allowing for efficient memory reallocation.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If operating system supported paging is used to manage memory, then memory can be dynamically allocated to processes, but unnecessary I/O transactions occur when memory pages are moved to secondary storage, significantly slowing system performance
Solution Approach 1:
The patent divides the memory management problem into process-specific segments by assigning dedicated memory limits to each process. This segmentation allows the system to track and manage memory usage at a finer granularity, preventing unnecessary paging operations and reducing I/O transactions while maintaining dynamic memory allocation capabilities.
Solution Approach 2:
The patent implements dynamic memory limit adjustment for each process based on current system conditions and process needs. By dynamically modifying memory limits without requiring full paging operations, the system adapts to changing memory demands while avoiding the performance penalty of moving pages to and from secondary storage.
2Adaptability or versatility
If memory limits are strictly enforced for each process, then memory allocation can be controlled, but flexibility to accommodate varying process memory needs is reduced
Solution Approach 1:
The patent employs dynamic memory limits that can be adjusted during process execution based on actual memory needs and system conditions. This dynamic approach provides flexibility to accommodate varying process requirements while maintaining controlled memory allocation through programmable limit settings, avoiding the need for complex static allocation schemes.
Solution Approach 2:
The patent incorporates feedback mechanisms that monitor process memory usage and system conditions, then adjust memory limits accordingly. This feedback-driven approach enables the system to adapt to changing conditions automatically, providing flexibility without requiring complex manual intervention or overly complicated management structures.
Data Source
AI summary
A memory allocator assigns temporary memory limits to each of a plurality of processes requiring memory. Thereafter, at least one assigned temporary memory limit is changed during execution of a corresponding process. Related apparatus, systems, techniques and articles are also described.

