Memory Allocation for Hot and Cold Data Classification
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current computer systems lack an automated method to configure memory locations for hot and cold data, relying on manual assignment between volatile and non-volatile memories, which reduces data processing speed.
Innovation Solution
A method using a hardware performance monitor to detect read/write events and assign memory objects to volatile or non-volatile memories based on access types and patterns, simplifying the profiling mechanism and optimizing memory allocation by classifying data as hot or cold.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If manual memory assignment is used, then system configuration is simple, but data processing speed is reduced
Solution Approach 1:
The system automatically monitors memory access patterns through hardware performance counters and makes decisions about memory placement without human intervention. The memory manager uses recorded access types (read/write frequencies) to autonomously classify data as hot or cold and assign appropriate memory types, eliminating the need for manual configuration while optimizing processing speed.
Solution Approach 2:
The system continuously monitors memory access patterns through hardware performance counters, records access types, and uses this feedback to dynamically adjust memory assignments. This closed-loop approach allows the system to learn from actual usage patterns and optimize memory placement in real-time, improving processing speed while maintaining simple operation.
2Speed
If automated memory allocation is implemented, then data access speed is improved, but system complexity increases
Solution Approach 1:
The system extracts only the essential information needed for memory classification - specifically, access type counts (read/write events) - from complex memory access patterns. By focusing only on these key metrics rather than analyzing every access detail, the system achieves automated optimization without implementing an overly complex profiling mechanism.
Solution Approach 2:
The system changes the parameter used for memory classification from complex access pattern analysis to simple access type counting. By monitoring only the number of read and write events and using these counts to classify data as hot or cold, the system achieves automated allocation with minimal profiling complexity while maintaining high data access speed.
3Use of energy by moving object
If all data is stored in volatile memory, then data access speed is fast, but energy consumption increases
Solution Approach 1:
The system applies different storage qualities to different data based on their access patterns. Hot data (frequently accessed) is stored in fast volatile memory, while cold data (rarely accessed) is stored in energy-efficient non-volatile memory. This local differentiation optimizes both energy consumption and access speed by matching storage technology characteristics to actual data usage patterns.
Solution Approach 2:
The system dynamically adjusts memory assignments based on changing access patterns. As data access frequencies change over time, the system can migrate data between volatile and non-volatile memory segments, allowing flexible optimization of energy consumption and access speed that adapts to workload changes rather than being fixed.
Data Source
AI summary
The present invention discloses a method of using memory allocation to address hot and cold data, which comprises steps: using a hardware performance monitor (HPM) to detect at least one read/write event of a central processor; while a number of the read/write events reaches a threshold or a random value, a computer system recording an access type of the read/write event occurring latest and a memory address causing the read/write event; and the computer system assigning the memory object in the memory address to a volatile memory or a non-volatile memory according to the memory address and the access type. Thereby, data pages can be assigned automatically according to the access types categorized by the central processor, exempted from being assigned manually by engineers.


