Concurrent Garbage Collector Using Write Barrier for Object Relocation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Concurrent garbage collectors face significant overhead due to the need for read barriers and atomic instructions, which are costly in terms of performance and power consumption, especially in distributed systems where synchronization between write and read barriers is difficult to implement efficiently.

Innovation Solution

The method involves using a write barrier to propagate writes from old to new copies of objects without requiring a read barrier, allowing for concurrent relocation of objects and eliminating the need for atomic instructions, thereby reducing overhead and enabling efficient garbage collection in distributed systems.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If read barriers and atomic instructions are used in concurrent garbage collectors, then correctness and safety are improved, but performance and power consumption deteriorate

Engineering Contradiction:
ImprovecorrectnessVSAvoidperformance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent extracts and removes the read barrier component from the garbage collection system. Instead of using both read and write barriers, the invention uses only write barriers to achieve concurrent garbage collection, eliminating the performance overhead associated with read barriers while maintaining correctness through alternative mechanisms.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent inverts the traditional approach by making writes monitored and reads unmonitored, rather than the conventional approach where reads are monitored and writes are unmonitored. This inversion is achieved through write barrier-based relocation where writes to old copies are detected and redirected to new copies, eliminating the need for read barriers.

Inventive Principle:
Principle #13The other way round (Inversion)

2Reliability

If read barriers and atomic instructions are used in concurrent garbage collectors, then correctness and safety are improved, but power consumption increases

Engineering Contradiction:
ImprovecorrectnessVSAvoidpower consumption
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The patent extracts and removes the read barrier component from the garbage collection system. Instead of using both read and write barriers, the invention uses only write barriers to achieve concurrent garbage collection, eliminating the performance overhead associated with read barriers while maintaining correctness through alternative mechanisms.

Inventive Principle:
Principle #2Taking out (Extraction)

3Reliability

If synchronization between write and read barriers is implemented in distributed systems, then correctness is improved, but device complexity increases

Engineering Contradiction:
ImprovecorrectnessVSAvoidsynchronization complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent extracts and removes the read barrier component from the garbage collection system. Instead of using both read and write barriers, the invention uses only write barriers to achieve concurrent garbage collection, eliminating the performance overhead associated with read barriers while maintaining correctness through alternative mechanisms.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent inverts the traditional approach by making writes monitored and reads unmonitored, rather than the conventional approach where reads are monitored and writes are unmonitored. This inversion is achieved through write barrier-based relocation where writes to old copies are detected and redirected to new copies, eliminating the need for read barriers.

Inventive Principle:
Principle #13The other way round (Inversion)

Data Source

PatentUS8527559B2Garbage collector with concurrent flipping without read barrier and without verifying copying
Publication Date: 2013.09.03 POSTQ IPR OY
  • US8527559B2 patent drawing
  • US8527559B2 patent drawing
  • US8527559B2 patent drawing

AI summary

In an object-relocating garbage collector, objects are copied and new copies taken into use concurrently with mutator execution without needing to use a read barrier, and importantly, without requiring verification (read-back) of each copied word and without requiring atomic instructions for the copying. Write barriers, thread-local write barrier buffers and processing them by the garbage collector, and write propagation are used for achieving this.