Tiered Object Memory Placement for Runtime Performance Optimization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Managing runtime allocation of objects for memory storage in heterogeneous memory architectures with multiple tiers of varying performance, capacity, and cost is challenging, particularly in optimizing for higher performance or lower cost.

Innovation Solution

Implementing a semiconductor apparatus with a managed runtime environment that employs tiered object memory placement, where hot objects are allocated to a higher-performing memory tier and cold objects are allocated to a lower-cost memory tier, with an enhanced garbage collector that migrates objects based on their hotness scores.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If all objects are allocated to high-performance memory tier, then performance is improved, but memory cost increases

Engineering Contradiction:
Improvememory access speedVSAvoidmemory cost
Core Design Contradiction:
SpeedVSQuantity of substance

Solution Approach 1:

The patent applies local quality by differentiating memory allocation based on object characteristics. Hot objects (frequently accessed) are allocated to high-performance memory tier for fast access, while cold objects (infrequently accessed) are allocated to lower-cost memory tier. This selective allocation optimizes the balance between performance and cost by matching memory quality to actual usage patterns rather than uniformly allocating all objects to expensive high-performance memory.

Inventive Principle:
Principle #3Local quality

2Quantity of substance

If tiered memory allocation is implemented, then memory cost is reduced, but system complexity increases

Engineering Contradiction:
Improvememory costVSAvoidmemory management complexity
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The system implements self-service through automated object profiling and hotness scoring. The runtime environment automatically monitors object access patterns, calculates hotness scores, and performs migration decisions without manual intervention. The garbage collector and memory manager work autonomously to allocate and migrate objects between tiers based on their hotness scores, reducing the operational complexity despite the sophisticated tiered architecture.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent employs feedback mechanisms where the system continuously monitors object access patterns and adjusts memory allocation accordingly. The hotness score is dynamically updated based on observed usage, and this feedback drives automatic migration decisions. Objects are moved between tiers based on their current hotness status, creating a closed-loop system that adapts to changing workload patterns and maintains optimal memory distribution.

Inventive Principle:
Principle #23Feedback

3Speed

If objects are migrated between memory tiers, then performance is optimized, but migration overhead increases

Engineering Contradiction:
Improvememory access speedVSAvoidmigration time
Core Design Contradiction:
SpeedVSLoss of time

Solution Approach 1:

The patent implements periodic action by performing object migration during garbage collection cycles rather than continuously. The garbage collector periodically scans objects, updates their hotness scores, and migrates objects between tiers based on their current status. This periodic approach batches migration operations and leverages existing garbage collection infrastructure, reducing the overall migration overhead compared to continuous real-time migration.

Inventive Principle:
Principle #19Periodic action

Data Source

PatentEP4078378B1Managing runtime apparatus for tiered object memory placement
Publication Date: 2025.04.02 INTEL CORP
  • EP4078378B1 patent drawingFigure 1A
  • EP4078378B1 patent drawingFigure 1B
  • EP4078378B1 patent drawingFigure 2A~2B

AI summary

Systems, apparatuses and methods may provide technology for managing a runtime computing environment having tiered object memory placement that assigns a hotness score to an object having an object type based on an invocation count of objects referenced by a hot method, allocates a newly-created object to one of a hot object heap, said hot object heap assigned to store hot objects in a first memory tier, or a cold object heap, said cold object heap assigned to store cold objects in a second memory tier, based on the hotness score associated with the object type for the newly-created object, and migrates a plurality of objects between the hot object heap and the cold object heap based on a hotness score associated with each object. The technology may also operate the object migration in an execution thread independent of an execution thread for the object allocation.