Application Memory Profiling for Proactive Heterogeneous Allocation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing memory allocation techniques in heterogeneous computing environments fail to consider application characteristics, access patterns, and processing environment metrics, leading to performance degradation and underutilization of heterogeneous memories.

Innovation Solution

A method and system that monitor memory usage patterns to determine a memory profile, allowing proactive allocation of memory pages to suitable types based on application characteristics and processing environment constraints, using rule-based classification or machine learning.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If reactive memory page migration is used to move pages between heterogeneous memories at runtime, then memory allocation adaptability improves, but application performance degrades due to page classification and migration overhead

Engineering Contradiction:
Improvememory allocation adaptabilityVSAvoidapplication performance
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The system performs preliminary memory profiling during application execution to collect access patterns, then uses this profile information to proactively allocate memory pages to appropriate heterogeneous memory types before migration is needed. This preliminary classification eliminates the runtime overhead of reactive migration while maintaining adaptability.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system implements a feedback mechanism where memory access patterns are continuously monitored and used to update the memory profile. This feedback loop enables the system to adapt to changing application characteristics while avoiding unnecessary page migrations by making informed allocation decisions based on observed patterns.

Inventive Principle:
Principle #23Feedback

2Speed

If simple memory allocation techniques are used that allocate memory to DRAM by default, then allocation speed improves, but heterogeneous memory utilization deteriorates

Engineering Contradiction:
Improveallocation speedVSAvoidheterogeneous memory utilization
Core Design Contradiction:
SpeedVSAdaptability or versatility

Solution Approach 1:

The system enables applications to self-configure memory allocation by automatically generating memory profiles from observed access patterns. This self-service approach allows the application to inform the allocator about its specific needs, enabling fast allocation decisions that are tailored to each application's characteristics without requiring manual configuration.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system dynamically changes allocation parameters based on the generated memory profile. Instead of using fixed allocation rules, the allocator adjusts its behavior according to application-specific parameters derived from the profile, such as access patterns and memory requirements, enabling both fast allocation and optimal heterogeneous memory utilization.

Inventive Principle:
Principle #35Parameter changes

3Manufacturing precision

If memory pages are migrated between heterogeneous memories at runtime, then memory allocation optimality improves, but resource utilization of monitoring frameworks increases, degrading application performance

Engineering Contradiction:
Improvememory allocation optimalityVSAvoidresource utilization of monitoring frameworks
Core Design Contradiction:
Manufacturing precisionVSQuantity of substance

Solution Approach 1:

The system performs memory profiling and generates allocation profiles during application execution, using this preliminary information to make optimal allocation decisions without requiring continuous runtime monitoring and page migration. This preliminary action reduces the ongoing resource burden of monitoring frameworks while maintaining allocation optimality.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS20250251978A1Method and system for determining and using profile characteristics in a heterogeneous environment
Publication Date: 2025.08.07 TELEFONAKTIEBOLAGET LM ERICSSON (PUBL)
  • US20250251978A1 patent drawing
  • US20250251978A1 patent drawing
  • US20250251978A1 patent drawing

AI summary

A method and computing system for determining memory profile and determining suitable memory type for allocation to memory type are disclosed. The method comprises monitoring a memory usage for each one of a plurality of memory pages associated with an application. The method comprises determining a memory profile for the application based on the monitoring, the memory profile comprising memory usage pattern information for each one of the plurality of memory pages associated with the application.