Parallel IO Replication for Distributed System Scaling

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In distributed systems, recovering from component failures is challenging due to the complexity of determining the correct replica for data recovery, especially as the number of nodes and replica sets increase, as traditional methods require ordering and consensus mechanisms that introduce performance penalties and serialization issues.

Innovation Solution

A distributed system that sends IO requests in parallel to unordered members of a replica set, treats IO completion responses as votes for membership, and removes error-responsive replicas from the set based on node agreement, eliminating the need for ordering and simplifying recovery by using any surviving member as a master copy.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If traditional ordering and consensus mechanisms are used for data replication, then data consistency is maintained, but system performance deteriorates due to serialization and consensus overhead

Engineering Contradiction:
Improvedata consistencyVSAvoidsystem performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent extracts and eliminates the ordering mechanism from the data replication process. Instead of requiring replicas to be ordered and processed sequentially through consensus, the system sends IO requests in parallel to unordered replicas and determines consistency through response aggregation, removing the performance-burdening consensus step while maintaining reliability

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The system performs preliminary actions by sending IO requests to all replicas in parallel before any consistency determination is needed. This parallel execution eliminates the sequential waiting that occurs in traditional consensus mechanisms, improving performance while the response aggregation step ensures consistency is still verified

Inventive Principle:
Principle #10Preliminary action

2Productivity

If the number of nodes and replica sets increases for scaling, then system capacity improves, but recovery complexity increases due to difficulty in determining correct replicas

Engineering Contradiction:
Improvesystem capacityVSAvoidrecovery complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent changes the parameter of replica identification from ordered positions to unordered response-based identification. By treating all replicas equally without predetermined order and using response aggregation to determine consistency, the system simplifies recovery logic regardless of replica set size, allowing capacity to scale without proportionally increasing recovery complexity

Inventive Principle:
Principle #35Parameter changes

3Reliability

If synchronous data replication is used to avoid data loss during failures, then data reliability improves, but performance penalties and hotspots are introduced

Engineering Contradiction:
Improvedata availabilityVSAvoidperformance efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system performs preliminary parallel IO operations to all replicas before failure occurs, ensuring data is already replicated synchronously. This eliminates the need for performance-burdening consensus operations during normal operation while maintaining data availability, as the parallel execution completes all replication before any failure response is needed

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS11372818B2Scaling performance for large scale replica sets for a strongly consistent distributed system
Publication Date: 2022.06.28 SAMSUNG ELECTRONICS CO LTD
  • US11372818B2 patent drawing
  • US11372818B2 patent drawing
  • US11372818B2 patent drawing

AI summary

A system and a method are disclosed that provides a data replication management technique for a distributed environment that eliminates a need to order members of a replica set. A node of a node cluster in the distributed system may be configured to send in parallel an IO request to each respective member of the replica set. Reponses are received from members of the replica set that indicate a completion status of the IO request at the replica set member sending the IO response. A request is sent to other nodes of the node cluster to remove a replica from the replica set based on an error response received from the replica. The replica that responded with the error response is removed from the replica set based on an agreement of nodes of the node cluster to remove the replica from the replica set.