Disaggregated Memory Management via Profiling Servers
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current data placement approaches in large-scale systems with heterogeneous memory devices are inefficient due to increased overhead for monitoring memory usage, which consumes significant system resources and negatively affects performance. Additionally, existing methods are not suitable for dynamic data centers and cloud architectures with frequently changing memory needs.
Innovation Solution
The implementation of a system that uses memory access profiling servers to collect and analyze application usage information and memory information, allowing for dynamic memory placement decisions. This system includes memory kernel modules that monitor and adjust memory usage based on real-time data, optimizing memory allocation across local and external shared memories.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If memory access monitoring is increased to make efficient memory placement decisions in large-scale systems with heterogeneous memory devices, then memory placement efficiency is improved, but system resource consumption increases and negatively affects system performance
Solution Approach 1:
The patent introduces a memory access profiling server as an intermediary component that collects memory access information from multiple sources (applications, memory devices, switches) and processes it centrally. This mediator handles the complex monitoring and analysis tasks, allowing the actual memory access operations to continue with minimal interruption, thus improving placement efficiency while reducing the performance impact on the memory system itself.
Solution Approach 2:
The system performs preliminary memory access profiling and analysis before making memory placement decisions. By collecting and analyzing memory access patterns in advance (building access profiles, identifying hot/cold data, predicting future access patterns), the system prepares optimization strategies proactively rather than reactively, enabling efficient memory placement while reducing the need for continuous real-time monitoring during actual memory operations.
2Ease of manufacture
If predefined memory access prediction models are used for data placement, then implementation simplicity is improved, but adaptability to dynamic data centers and cloud architectures with frequently changing memory needs deteriorates
Solution Approach 1:
The patent implements dynamic memory access profiling that continuously adapts to changing workloads and memory access patterns. The system updates access profiles in real-time based on actual observed behavior, allowing memory placement strategies to dynamically adjust to new applications, changing data patterns, and evolving system conditions. This dynamic approach maintains implementation feasibility while significantly improving adaptability to dynamic cloud and data center environments.
Solution Approach 2:
The system incorporates feedback mechanisms where memory access information is collected from actual system operations, analyzed to generate placement recommendations, implemented, and then monitored to validate effectiveness. This closed-loop feedback enables the system to learn from actual performance outcomes and continuously refine its predictions and placement decisions, bridging the gap between simple predefined models and adaptive dynamic behavior.
Data Source
AI summary
A server includes at least one local memory and communicates with one or more network devices that provide an external shared memory. A kernel space of the server is used to monitor memory usage by different applications executed by the server. A memory kernel module adjusts usage of the at least one local memory and the external shared memory by the different applications based at least in part on the monitored memory usage. In another aspect, a memory access profiling server receives memory information and application usage information added to packets sent between servers and one or more memory devices. The memory access profiling server analyzes the memory information and application usage information to determine memory placement information that is sent to at least one server to adjust usage of the external shared memory.


