Memory Allocation Prioritization for Isolated Workspaces
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Information handling systems face memory bottlenecks and responsiveness issues due to memory-intensive workloads in software containers, particularly in productivity applications like ArchiCAD and video editing, which are limited by available memory resources.
Innovation Solution
The system prioritizes memory allocation by deallocating existing memory allocations and reallocating higher-speed system memory to memory-intensive workspaces while assigning lower-speed memory to less intensive ones, using a combination of DRAM Near Memory and PMEM Far Memory technologies, managed by a host programmable integrated circuit.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If memory is allocated to software container workspaces executing memory-intensive applications, then application functionality is enabled, but system memory resources are depleted causing bottlenecks and slow responsiveness
Solution Approach 1:
The system segments memory resources into different priority levels, creating isolated memory pools for different workspace types. High-priority workspaces (productivity applications) receive guaranteed memory allocations from dedicated pools, while low-priority workspaces (batch processing) use separate pools. This segmentation prevents memory-intensive low-priority tasks from depleting resources needed by high-priority applications, resolving the bottleneck issue.
Solution Approach 2:
The patent implements local quality by providing different memory allocation strategies to different workspaces based on their specific needs. Productivity workspaces receive high-priority memory allocations with guaranteed responsiveness, while batch processing workspaces receive lower-priority allocations. Each workspace type gets tailored memory treatment rather than uniform allocation, optimizing overall system performance.
2Productivity
If conventional memory allocation is used for isolated workspaces, then system simplicity is maintained, but memory-intensive productivity applications experience bottlenecks
Solution Approach 1:
The patent introduces an intermediary layer (memory management subsystem with priority queues and allocation policies) between the physical memory resources and the workspace applications. This intermediary automatically manages memory distribution based on workspace priority and type, shielding applications from the complexity of memory management while ensuring optimal performance for productivity applications.
Solution Approach 2:
The memory allocation system is made dynamic through real-time monitoring of workspace memory usage and automatic adjustment of allocations. The system continuously adapts memory distribution based on current workload conditions, workspace priority levels, and available resources, allowing productivity applications to receive increased memory when needed without manual intervention.
3Reliability
If all workspaces are allocated equal memory resources, then fairness is maintained, but memory-heavy workspaces suffer from resource starvation
Solution Approach 1:
The patent changes the allocation parameter from equal distribution to priority-based distribution. Workspaces are assigned different priority levels and memory allocation parameters based on their type and resource requirements. Productivity applications receive higher priority allocations ensuring reliable execution, while batch processing tasks receive lower priority allocations, preventing resource starvation for critical workspaces.
Data Source
AI summary
Systems and methods are provided for prioritizing system memory for separate isolated computing workspaces (e.g., cloud-based software containers) that are executing together on an information handling system by reallocating higher performance system memory to higher-ranked computing workspace/s. In one example, the disclosed systems and methods may be implemented to optimize system memory usage for memory-heavy heterogeneous workloads of workspaces that are simultaneously executing together as modern clients on an information handling system.


