Memory Pool Tree Node Management for Multi-Threaded Overhead Reduction
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing electronic devices face challenges in efficiently managing memory due to the overhead of operating system involvement in memory allocation and deallocation, particularly in multi-threaded environments where concurrent memory operations are necessary.
Innovation Solution
A processor-implemented method that uses a tree data structure to manage the process address space, allowing for efficient mapping and unmapping of data by marking unused nodes as use nodes to reuse, thereby reducing the need for rebalancing and minimizing overhead.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If the operating system manages memory allocation and deallocation, then memory management is standardized and reliable, but overhead increases and efficiency decreases
Solution Approach 1:
The patent introduces a memory pool as an intermediary layer between the operating system and applications. The OS allocates memory to the memory pool once, and the pool then handles all subsequent allocation and deallocation operations internally using a tree data structure. This intermediary approach maintains OS reliability while eliminating repeated OS involvement, thus improving efficiency.
Solution Approach 2:
The memory pool implements self-service by managing its own internal memory allocation and deallocation without OS intervention. The tree data structure automatically tracks used and unused nodes, allowing the pool to service memory requests autonomously. This self-managed approach eliminates OS overhead while maintaining reliable memory management.
2Adaptability or versatility
If memory allocation and deallocation operations are performed frequently, then applications can dynamically manage memory, but system overhead increases
Solution Approach 1:
The patent pre-allocates a large memory pool at startup and prepares a tree data structure with available nodes before actual memory requests occur. When allocation requests come in, the system can quickly assign pre-prepared nodes without complex OS interactions. This preliminary preparation enables dynamic memory management while reducing the overhead of repeated allocation operations.
3Reliability
If the operating system is involved in every memory operation, then memory management is centralized and controlled, but processing speed decreases
Solution Approach 1:
The patent segments memory management into two distinct layers: OS-level memory pool allocation (for reliability and centralized control) and application-level tree-based node management (for speed and efficiency). The OS maintains centralized control over the overall memory pool, while the tree data structure handles individual allocation operations locally without OS intervention, thus achieving both centralized control and high-speed operations.
Data Source
AI summary
A processor-implemented method includes receiving a mapping instruction to map target data onto a process address space, in response to reception of the mapping instruction, marking an unused node in a tree that manages the process address space as a use node to reuse, and mapping the target data onto a virtual area in the process address space, wherein the tree manages the virtual area onto which the target data is mapped as the use node.


