In-Place Garbage Collection for Distributed Log Units

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing distributed storage systems face performance issues due to poorly designed garbage collectors, which can cause systems to grind to a halt sporadically, especially when resource constraints are encountered, and traditional checkpointing methods increase network traffic and memory consumption.

Innovation Solution

Implementing an in-place garbage collection mechanism within the log unit of a distributed object store, where the log unit performs local garbage collection by scanning log entries in reverse time order to identify and mark supersedable operations, allowing for direct deallocation of storage without the need for snapshots or rewriting log entries, thereby reducing network traffic and memory usage.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If traditional checkpointing is used for garbage collection, then consistent snapshots can be produced, but network traffic increases and memory consumption increases

Engineering Contradiction:
Improveconsistent snapshot productionVSAvoidnetwork traffic and memory consumption
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The patent extracts the garbage collection function from the client side to the log unit side. Instead of clients performing checkpointing operations that generate network traffic and consume memory, the log unit autonomously performs reverse-time scanning and identification of supersedable operations, eliminating the need for client-driven garbage collection and its associated resource overhead

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The log unit serves itself by performing local garbage collection operations. The system enables the log unit to autonomously scan its own log entries in reverse time order, identify supersedable operations, and reclaim storage without external intervention, thereby eliminating network traffic and client memory consumption while maintaining reliability

Inventive Principle:
Principle #25Self-service

2Loss of substance

If client-driven garbage collection is used, then storage can be reclaimed, but system performance degrades due to write amplification

Engineering Contradiction:
Improvestorage reclamationVSAvoidsystem performance
Core Design Contradiction:
Loss of substanceVSProductivity

Solution Approach 1:

The patent removes the garbage collection workload from clients and concentrates it at the log unit. This extraction eliminates the write amplification caused by clients reading and rewriting data during checkpointing, while still achieving storage reclamation through the log unit's local reverse-time scanning and direct deallocation of supersedable log entries

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent implements direct discarding of supersedable log entries at the log unit without the need for client-side recovery operations. By identifying operations that are superseded by newer entries through reverse-time scanning, the system can directly reclaim storage space without the write amplification associated with traditional checkpointing methods

Inventive Principle:
Principle #34Discarding and recovering

3Loss of substance

If poorly designed garbage collectors are implemented, then storage can be managed, but system halts occur sporadically

Engineering Contradiction:
Improvestorage managementVSAvoidsystem continuity
Core Design Contradiction:
Loss of substanceVSReliability

Solution Approach 1:

The log unit autonomously manages its own storage without relying on external garbage collection processes that may cause system halts. By performing local reverse-time scanning and direct deallocation of supersedable operations, the system achieves continuous operation without the sporadic halts associated with poorly designed garbage collectors

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system performs preliminary identification of supersedable operations through reverse-time scanning before actual deallocation occurs. This preliminary action allows the log unit to carefully select which log entries can be safely removed, ensuring storage management proceeds without causing system halts or compromising data integrity

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS11055184B2In-place garbage collection of a sharded, replicated distributed state machine based on supersedable operations
Publication Date: 2021.07.06 VMWARE INC
  • US11055184B2 patent drawing
  • US11055184B2 patent drawing
  • US11055184B2 patent drawing

AI summary

A log unit provides a shared log for recording updates on data objects. Garbage collection is performed locally and in-place by the log unit. In a marking portion of the garbage collection process, the log unit identifies and marks log entries that record supersedable updates. In a deallocation portion of the process, the log unit deallocates at least portions of the marked log entries that contain supersedable updates.