Primary-Secondary Object Marking for Concurrent Garbage Collection

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing garbage collection methods are inefficient and inefficiently scale with secondary objects, leading to increased execution time and memory usage, particularly when secondary objects are referenced by their primary objects.

Innovation Solution

Implement a system that integrates aliveness marking of referenced and secondary objects using a dedicated space, such as a single bit (IS-PRIMARY bit) to indicate primary objects, and utilizes a hash table to efficiently track primary-secondary relationships, avoiding unnecessary storage and computational overhead.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If traditional garbage collection methods are used with separate marking for referenced objects and secondary objects, then completeness of garbage collection is improved, but execution time and device complexity worsen

Engineering Contradiction:
Improvecompleteness of garbage collectionVSAvoidexecution time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent merges the marking of referenced objects and secondary objects into a unified process. The garbage collector uses a single marking mechanism that simultaneously handles both referenced objects (accessed through object references) and secondary objects (accessed through secondary object identifiers), eliminating the need for separate marking passes and reducing execution time while maintaining complete garbage collection coverage

Inventive Principle:
Principle #5Merging (Combining)

2Measurement precision

If separate storage structures are allocated for referenced objects and secondary objects, then tracking accuracy is improved, but memory usage worsens

Engineering Contradiction:
Improvetracking accuracyVSAvoidmemory usage
Core Design Contradiction:
Measurement precisionVSQuantity of substance

Solution Approach 1:

The patent implements a universal storage structure where a single data structure serves multiple purposes: it stores both object references and secondary object identifiers. The garbage collector uses unified marking bits and a single traversal mechanism that can identify and mark both referenced objects and secondary objects, eliminating the need for separate storage structures and reducing overall memory usage while maintaining accurate tracking of all object relationships

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

Data Source

PatentEP4078381B1Integrated reference and secondary marking
Publication Date: 2026.01.07 MICROSOFT TECHNOLOGY LICENSING LLC
  • EP4078381B1 patent drawingFigure 1~2
  • EP4078381B1 patent drawingFigure 3~4
  • EP4078381B1 patent drawingFigure 5~7

AI summary

Managing secondary objects efficiently increases garbage collection concurrency and reduces object storage requirements. Aliveness marking of secondary objects is integrated with aliveness marking of referenced objects. Allocation of reference-sized secondary object identifier fields in objects which are not primary objects is avoided; a dedicated bit specifies primary objects, together with an object relationship table. A primary object is one with at least one secondary object which is deemed alive by garbage collection if the primary object is alive, without being a referenced object of the primary object. Any referenced objects of the alive primary object will also still be deemed alive. Code paths for marking referenced objects can be shared to allow more efficient secondary object marking. Primary-secondary object relationships may be represented in dependent handles, and may be specified in a hash table or other data structure.