Generational Garbage Collection for MVCC Tree Structures

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current copying garbage collectors in data storage systems using B+ tree data structures under multi-version concurrency control are resource-intensive and inefficient, leading to frequent and unnecessary copying of long-living tree elements, causing disk and network traffic due to the inability to implement fine-grained reclamation of unused hard drive capacity.

Innovation Solution

Implementing a generational garbage collection technique that segregates tree elements by age into young, old, and immortal generations, allowing for less frequent garbage collection of older elements and reducing unnecessary copying by using separate chunks for each generation, with a generational garbage collector processing elements independently and in parallel.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Stability of the object's composition

If a copying garbage collector is used to manage fragmentation in B+ trees under multi-version concurrency control, then hard drive space fragmentation is addressed, but resource consumption increases and garbage collection must run frequently

Engineering Contradiction:
Improvehard drive space fragmentationVSAvoidresource consumption
Core Design Contradiction:
Stability of the object's compositionVSProductivity

Solution Approach 1:

The patent segments the B+ tree into multiple generations (young, old, immortal) based on element age. Each generation is managed separately with different garbage collection frequencies. Young elements are collected frequently, old elements less frequently, and immortal elements rarely or never collected, thus reducing overall resource consumption while maintaining space management effectiveness.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements dynamic garbage collection policies where the collection frequency and intensity are adjusted based on the generation of tree elements. The system dynamically determines which generations require collection and at what intensity, rather than applying a uniform collection strategy to all elements, thereby optimizing resource usage.

Inventive Principle:
Principle #15Dynamics

2Device complexity

If a copying garbage collector processes all tree elements uniformly, then garbage collection is simplified, but long-living elements are unnecessarily copied causing disk and network traffic

Engineering Contradiction:
Improvegarbage collection processVSAvoiddisk and network traffic
Core Design Contradiction:
Device complexityVSLoss of energy

Solution Approach 1:

The patent divides tree elements into distinct generations (young, old, immortal) based on their age and lifecycle characteristics. This segmentation allows the garbage collector to apply different strategies to different generations, avoiding the unnecessary copying of long-living elements while maintaining a manageable collection process.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies different garbage collection qualities to different generations: aggressive collection for young elements, moderate collection for old elements, and minimal or no collection for immortal elements. This local differentiation eliminates unnecessary copying operations for long-living elements while maintaining effective collection for short-living elements.

Inventive Principle:
Principle #3Local quality

3Device complexity

If fine-grained reclamation of unused hard drive capacity is not implemented, then system complexity is reduced, but disk space utilization efficiency decreases

Engineering Contradiction:
Improvereclamation implementationVSAvoidhard drive capacity utilization
Core Design Contradiction:
Device complexityVSQuantity of substance

Solution Approach 1:

The patent implements fine-grained reclamation by segmenting the tree into generations and enabling targeted collection of unused capacity at the generation level. This allows the system to reclaim space efficiently without requiring full fine-grained reclamation across the entire tree, balancing complexity and utilization efficiency.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS10372605B2Generational garbage collector for trees under multi-version concurrency control
Publication Date: 2019.08.06 EMC IP HLDG CO LLC
  • US10372605B2 patent drawing
  • US10372605B2 patent drawing
  • US10372605B2 patent drawing

AI summary

Method of implementing generational garbage collection for trees under MVCC starts by detecting live objects in trees. Trees include normal trees and frozen trees. Poorly-filled young chunks and poorly-filled old chunks of hard-drive memory are identified. Hard-drive memory includes young chunks storing young elements, old chunks storing old elements, and immortal chunks storing immortal elements. One or more old chunks are opened for writes and elements from poorly-filled young chunks and old chunks are copied to one or more opened old chunks. Elements above elements from poorly-filled young chunks and old chunks in the normal trees are updated and stored in the young chunks. One or more immortal chunks are opened for writes and tree leaves of frozen trees from young chunks and from old chunks are copied to one or more opened immortal chunks. All nodes of frozen trees are updated and stored in immortal chunks.