Workload-Aware Page Management for Hybrid Memory Systems
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Enterprise servers face challenges with increasing amounts of application data in main memory, as DRAM consumes high static energy and NVM technologies suffer from increased latency and dynamic energy, while existing page management techniques can lead to inefficient swapping of data, affecting performance.
Innovation Solution
Implement workload-aware page management in hybrid main memory systems by identifying and locking critical pages in main memory using a threshold-based approach, combining DRAM and NVM to optimize data storage and access, with instrumentation and profiling tools to classify pages as hot or cold and prevent swapping of critical pages.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If DRAM is used to store application data in main memory, then data accessibility and real-time processing performance are improved, but static energy consumption increases due to continuous leakage and refresh requirements
Solution Approach 1:
The patent segments memory storage into two distinct locations: DRAM for frequently accessed hot data and NVM for less frequently accessed cold data. This segmentation allows the system to maintain high performance for critical operations while reducing overall energy consumption by storing less critical data in lower-power NVM.
Solution Approach 2:
The patent applies local quality by differentiating memory treatment based on data access patterns. Hot data (frequently accessed) is stored in DRAM with high speed but high energy consumption, while cold data (less frequently accessed) is stored in NVM with lower speed but low energy consumption. This localized optimization matches memory resources to actual usage requirements.
2Use of energy by stationary object
If NVM is used to reduce static energy consumption, then energy efficiency is improved, but latency increases for data access
Solution Approach 1:
The patent segments data based on access frequency and stores hot data in DRAM (fast but energy-intensive) and cold data in NVM (slower but energy-efficient). This ensures that data requiring fast access remains in DRAM, while only less critical data is stored in NVM, maintaining acceptable performance levels.
Solution Approach 2:
The patent performs preliminary classification of data into hot and cold categories using profiling tools before storing them in the memory hierarchy. This preliminary action ensures that data is pre-sorted and placed in appropriate memory locations, preventing latency issues by ensuring frequently accessed data is already positioned in fast memory.
3Device complexity
If existing page management techniques are used, then memory management is simplified, but performance deteriorates due to inefficient swapping of frequently accessed data
Solution Approach 1:
The patent introduces feedback mechanisms through profiling tools that continuously monitor data access patterns and provide feedback to the page management system. This feedback enables dynamic adjustment of which pages are locked in DRAM and which are swapped to NVM, optimizing performance based on actual workload characteristics.
Solution Approach 2:
The patent performs preliminary identification and classification of pages into hot and cold categories before the swapping process begins. By pre-classifying pages based on access patterns, the system avoids inefficient swapping of critical data and maintains performance while simplifying the overall management process.
Data Source
AI summary
Implementations of the present disclosure include receiving a sorted list of pages, each page corresponding to a fixed-length contiguous block of virtual memory, and being associated with a respective state, each state indicating a number of off-chip accesses determined for a respective page, and executing an application, which queries an in-memory database provided with a hybrid memory system, and, during execution of the application: identifying at least one page in the sorted list of pages as a page that is to-be-locked during execution of the application based on a threshold, and locking the at least one page in main memory to inhibit swapping of the at least one page by an operating system.


