Garbage Collection Priority Using Local and Global Memory Pressure

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing garbage collection methods often inefficiently manage memory in overcommit scenarios, leading to increased computational resource usage and out-of-memory errors due to reliance on single environmental memory pressures, rather than considering a combination of local and global memory pressures.

Innovation Solution

A garbage collection method that prioritizes garbage collection based on a combination of local and global memory pressures, adjusting aggressiveness based on thresholds to optimize memory usage and prevent out-of-memory errors.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If garbage collection is made aggressive to reclaim more memory, then memory availability improves, but program execution speed deteriorates due to frequent stop-the-world pauses

Engineering Contradiction:
Improvememory availabilityVSAvoidprogram execution speed
Core Design Contradiction:
Quantity of substanceVSSpeed

Solution Approach 1:

The garbage collector dynamically adjusts its aggressiveness based on current memory pressure conditions. When memory pressure is high, the GC becomes more aggressive to reclaim memory; when memory pressure is low, the GC reduces its activity to minimize impact on program execution. This dynamic adaptation resolves the contradiction by making the GC behavior flexible rather than fixed.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes key parameters of garbage collection (such as collection frequency, aggressiveness level, and trigger thresholds) based on monitored memory pressure conditions. By adjusting these parameters dynamically, the system optimizes the balance between memory reclamation effectiveness and program execution performance, resolving the contradiction between memory availability and execution speed.

Inventive Principle:
Principle #35Parameter changes

2Speed

If garbage collection is reduced to improve execution speed, then program performance improves, but memory reclamation effectiveness deteriorates leading to increased swapping

Engineering Contradiction:
Improveprogram execution speedVSAvoidmemory reclamation effectiveness
Core Design Contradiction:
SpeedVSQuantity of substance

Solution Approach 1:

The garbage collection system implements feedback mechanisms by continuously monitoring memory pressure conditions and adjusting its behavior accordingly. When memory pressure exceeds thresholds, the GC intensifies its activity to reclaim memory before swapping becomes necessary. This feedback loop ensures that memory reclamation keeps pace with memory consumption, preventing the deterioration of reclamation effectiveness while maintaining good execution performance.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The garbage collector performs preliminary memory reclamation actions before memory pressure becomes critical. By proactively collecting garbage when memory pressure is moderate rather than waiting until it is high, the system prevents the need for aggressive last-minute collection that would harm execution speed, thus maintaining both good performance and effective reclamation.

Inventive Principle:
Principle #10Preliminary action

3Quantity of substance

If garbage collection prioritizes only local environment memory pressure, then local memory management improves, but global memory optimization deteriorates in overcommit scenarios

Engineering Contradiction:
Improvelocal memory managementVSAvoidglobal memory optimization
Core Design Contradiction:
Quantity of substanceVSProductivity

Solution Approach 1:

The garbage collection system merges the consideration of local environment memory pressure with global environment memory pressure into a unified decision-making framework. By combining these two perspectives, the GC can make informed decisions that optimize both local and global memory usage, particularly in overcommit scenarios where local optimization alone would be insufficient for global memory efficiency.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The garbage collection mechanism serves multiple functions simultaneously: it manages local environment memory while also contributing to global memory optimization. The dual-pressure awareness enables the GC to fulfill both local memory management responsibilities and global memory efficiency goals, making the system universally effective across different memory management contexts.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS12608313B2Garbage collection in constrained local environments
Publication Date: 2026.04.21 MICROSOFT TECHNOLOGY LICENSING LLC
  • US12608313B2 patent drawing
  • US12608313B2 patent drawing
  • US12608313B2 patent drawing

AI summary

Embodiments control garbage collection priority based on both a local memory pressure and a global memory pressure. The local pressure represents volatile memory usage in a container or other isolation unit residing on a machine, and the global pressure represents volatile memory usage in the machine overall. The machine is a device or a virtual machine containing one or more isolation units. Each isolation unit has a low threshold and a high threshold, and the machine has its own low threshold and its own high threshold. Garbage collection execution priority is set to low, normal, or high, depending on the memory pressures and the thresholds. By basing garbage collection timing and performance on both local pressure and global pressure, embodiments optimize garbage collection efficiency, especially in memory overcommitment scenarios.