Shared Memory Fault Tolerance via Versioned RDD Metadata

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing distributed data processing systems face inefficiencies in handling large-scale iterative workloads due to immutable RDDs, leading to increased memory consumption and inefficient cache eviction policies, which hinder fault tolerance and recovery in shared memory environments.

Innovation Solution

Implementing an off-heap memory store with versioned, partitioned RDDs, valid flags, and lineage-based recomputation, along with checkpointing mechanisms to enable mutable RDDs and selective immutability, allowing for efficient fault tolerance and recovery by tracking iterations and versions of data partitions in a metadata store.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Stability of the object's composition

If immutable RDDs are used to store data in distributed data processing systems, then data consistency is improved, but memory consumption increases and cache eviction becomes inefficient

Engineering Contradiction:
Improvedata consistencyVSAvoidmemory consumption
Core Design Contradiction:
Stability of the object's compositionVSQuantity of substance

Solution Approach 1:

The patent applies dynamics by transitioning from immutable RDDs to mutable RDDs that can be updated in-place. The system dynamically manages data partitions, allowing modifications without creating new instances, thereby reducing memory consumption while maintaining data consistency through version tracking and validation flags.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent changes the parameter of RDD mutability, allowing data partitions to be modified in-place rather than creating new immutable instances. This is achieved through valid flags that track the state of partitions, enabling the system to maintain consistency while reducing memory overhead by reusing existing memory locations.

Inventive Principle:
Principle #35Parameter changes

2Reliability

If immutable RDDs are used for fault tolerance through lineage-based recomputation, then reliability is improved, but productivity decreases due to increased memory consumption and inefficient cache management

Engineering Contradiction:
Improvefault toleranceVSAvoidprocessing efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent applies dynamics by enabling mutable RDDs that can be updated in-place, improving processing efficiency. Fault tolerance is maintained through valid flags that track partition validity and lineage-based recomputation that can recover from failures without the overhead of immutable data structures, thereby improving productivity while preserving reliability.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent changes the mutability parameter of RDDs, allowing in-place updates that improve cache utilization and reduce memory pressure. Reliability is preserved through version tracking and valid flags that enable the system to detect and recover from failures, maintaining fault tolerance while enhancing processing efficiency.

Inventive Principle:
Principle #35Parameter changes

3Reliability

If versioned partitioned RDDs with valid flags are implemented in shared memory, then fault tolerance is improved, but device complexity increases

Engineering Contradiction:
Improvefault toleranceVSAvoidsystem complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent applies segmentation by dividing the system into distinct components: data partitions stored in shared memory, version metadata tracking, and valid flags for each partition. This modular structure manages complexity by organizing fault tolerance mechanisms into separate, manageable segments rather than a monolithic system.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent uses valid flags as intermediaries between the data partitions and the fault tolerance mechanism. These flags act as a simple mediator that tracks partition validity without requiring complex verification logic, thereby improving fault tolerance while minimizing the increase in system complexity.

Inventive Principle:
Principle #24Intermediary (Mediator)

4Reliability

If lineage-based recomputation is used for fault recovery, then reliability is improved, but loss of time increases due to the need to recompute data partitions

Engineering Contradiction:
Improvefault recoveryVSAvoidrecomputation time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent applies preliminary action by pre-tracking version metadata and valid flags for each data partition during normal operation. This preparation enables rapid fault recovery by allowing the system to quickly identify valid partitions and resume computation without extensive recomputation, thereby reducing the time loss associated with fault recovery while maintaining reliability.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10416931B2Fault tolerance in shared memory
Publication Date: 2019.09.17 HEWLETT PACKARD ENTERPRISE DEV LP
  • US10416931B2 patent drawing
  • US10416931B2 patent drawing
  • US10416931B2 patent drawing

AI summary

Examples herein involve fault tolerance in a shared memory. In examples herein, a metadata store of a shared memory indicating versions of data partitions of a resilient distributed dataset and a valid flag for the partitions of the resilient distributed dataset are used to achieve fault tolerance and/or recover from faults in the share memory.