Interleaved Garbage Collection for Memory Management

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Garbage collection routines can cause system performance issues and resource interference when operating concurrently with other applications, leading to noticeable pauses and reduced resource availability for other tasks.

Innovation Solution

Implementing two concurrent garbage collection routines, one ephemeral for quick processing of new objects and another concurrent for thorough processing of older objects, operating separately with distinct marking mechanisms to avoid interference.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a single garbage collection routine is used to manage memory, then memory reclamation is achieved, but system performance degrades due to noticeable pauses and resource interference with other applications

Engineering Contradiction:
Improvememory management reliabilityVSAvoidsystem performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent divides the single garbage collection routine into two separate concurrent routines: a first garbage collection routine and a second garbage collection routine. Each routine operates independently with its own marking mechanism, allowing them to process different sets of objects simultaneously without interfering with each other or with application execution, thereby reducing system pauses while maintaining reliable memory management.

Inventive Principle:
Principle #1Segmentation

2Productivity

If a garbage collection routine operates concurrently with other applications, then resource availability for other tasks improves, but the garbage collection routine uses processing resources that other applications need

Engineering Contradiction:
Improveresource availability for applicationsVSAvoidprocessing resource consumption
Core Design Contradiction:
ProductivityVSUse of energy by moving object

Solution Approach 1:

The patent segments the garbage collection workload into two concurrent routines that operate in parallel with application execution. By using separate marking mechanisms and allowing interleaved operation, the system distributes garbage collection processing over time rather than concentrating it in a single pause, reducing the immediate resource contention while maintaining overall resource availability for applications.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements periodic garbage collection actions through two interleaved routines that operate at different times and with different marking cycles. This periodic, distributed approach allows garbage collection to proceed without monopolizing processing resources for extended periods, enabling other applications to continue executing while garbage collection progresses incrementally.

Inventive Principle:
Principle #19Periodic action

3Reliability

If two concurrent garbage collection routines operate on the same memory, then garbage collection thoroughness improves, but interference between routines increases without separate marking mechanisms

Engineering Contradiction:
Improvegarbage collection thoroughnessVSAvoidroutine coordination complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent applies local quality by giving each garbage collection routine its own distinct marking mechanism. The first routine uses a first marking mechanism and the second routine uses a second marking mechanism, allowing them to operate on the same memory simultaneously without interference. This localized differentiation enables thorough garbage collection across different object sets while maintaining simple, independent operation of each routine.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS7685182B2Interleaved garbage collections
Publication Date: 2010.03.23 MICROSOFT TECHNOLOGY LICENSING LLC
  • US7685182B2 patent drawing
  • US7685182B2 patent drawing
  • US7685182B2 patent drawing

AI summary

An automated memory management or garbage collection routine uses a first garbage collection routine to perform garbage collection on new objects, and a second garbage collection routine to perform garbage collection on old objects. The two garbage collection routines are operated concurrently, with each routine separately marking objects to be reclaimed. The second routine may operate in a background mode by traversing a tree of objects from a copy of memory, while the first routine may operate on actual memory.