Dynamic Memory Pool Sizing for Waste Reduction
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Fixed-sized memory pools in computing devices lead to memory waste due to inefficiencies in allocating memory chunks of varying sizes, as they often allocate larger chunks to satisfy requests for smaller sizes, resulting in unnecessary memory usage.
Innovation Solution
A method and system for dynamically sizing memory pools based on tracked memory waste, where requests for specific memory chunk sizes are detected, and if the potential waste exceeds a threshold, an additional memory pool dedicated to that size is created, reducing waste by optimizing memory allocation.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Stability of the object's composition
If a fixed-sized memory pool is used to satisfy memory requests of various sizes, then memory fragmentation is mitigated, but memory waste increases
Solution Approach 1:
The system segments memory pools by creating multiple dedicated pools, each tailored to specific memory chunk size ranges. The memory management apparatus divides the single large memory pool into several smaller pools, where each pool is optimized for particular allocation patterns and size requirements, thereby reducing both fragmentation and waste simultaneously
Solution Approach 2:
The system dynamically creates and manages memory pools based on actual allocation patterns and requirements. Rather than using a static fixed-size pool for all requests, the apparatus adapts by creating pools of appropriate sizes for different request patterns, making the memory structure flexible and responsive to changing needs
2Ease of operation
If larger memory chunks are allocated to satisfy requests for smaller sizes, then allocation simplicity is maintained, but resource efficiency deteriorates
Solution Approach 1:
The system applies local quality by creating specialized memory pools with specific size characteristics matched to particular allocation patterns. Instead of using a uniform allocation approach, the apparatus tailors each pool's characteristics to its intended use, improving resource efficiency while maintaining allocation simplicity through dedicated pools
Data Source
AI summary
A disclosed method may include (1) detecting one or more requests for a memory chunk of a specific size on a computing device, (2) determining that the computing device has yet to implement a memory pool dedicated to fixed memory chunks of the specific size, (3) computing an amount of memory that is potentially wasted in part by satisfying the one or more requests from an existing memory pool dedicated to fixed memory chunks of a different size, (4) determining that the amount of memory that is potentially wasted exceeds a waste threshold, and then in response to determining that the amount of memory that is potentially wasted exceeds the waste threshold, (5) creating an additional memory pool dedicated to fixed memory chunks of the specific size on the computing device. Various other apparatuses, systems, and methods are also disclosed.


