Tiered Object Memory Placement for Runtime Performance Optimization
Find Innovative SolutionsGenerate 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
Engineering Contradiction Analysis
1Speed
If all objects are allocated to high-performance memory tier, then performance is improved, but memory cost increases
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.
2Quantity of substance
If tiered memory allocation is implemented, then memory cost is reduced, but system complexity increases
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.
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.
3Speed
If objects are migrated between memory tiers, then performance is optimized, but migration overhead increases
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.
Data Source
Figure 1A
Figure 1B
Figure 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.