Distributed B-Tree Validation via Fence Keys

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Distributed B-trees face scalability issues due to concurrency control challenges, particularly 'false sharing' that leads to unnecessary transaction failures and performance degradation, when multiple operations are performed concurrently on the same path of the tree.

Innovation Solution

Implementing a validation mechanism that limits node validation to only the relevant nodes for a transaction, using fence keys to ensure accurate traversal and one-phase validation to reduce transaction time and contention, thereby avoiding false sharing and improving transaction performance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If all nodes on the path from root to leaf are validated in distributed B-tree transactions, then data consistency is ensured, but transaction time increases and false sharing occurs leading to performance degradation

Engineering Contradiction:
Improvedata consistencyVSAvoidtransaction time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The validation process is segmented into two distinct phases: a read phase where nodes are traversed and version numbers recorded, and a validation phase where only specific nodes are validated against recorded version numbers. This segmentation allows the system to maintain data consistency while reducing unnecessary validation operations, thereby decreasing transaction time and eliminating false sharing between concurrent transactions.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Version numbers of all nodes on the path from root to leaf are recorded during the read phase before any validation occurs. This preliminary action enables the validation phase to focus only on verifying that these recorded version numbers remain unchanged, rather than validating all nodes again, thus reducing transaction time while ensuring data consistency.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If all nodes on the path from root to leaf are validated in distributed B-tree transactions, then data consistency is ensured, but system performance degrades due to false sharing

Engineering Contradiction:
Improvedata consistencyVSAvoidsystem performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The transaction process is divided into a read phase and a validation phase, with validation limited to only those nodes whose version numbers were recorded during traversal. This segmentation eliminates false sharing by preventing concurrent transactions from unnecessarily validating the same nodes, thereby improving system performance while maintaining data consistency through targeted validation.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Instead of validating all nodes on the path (excessive action), the system validates only the necessary nodes—those whose version numbers were recorded during the read phase. This partial validation approach is sufficient to ensure data consistency while significantly reducing validation overhead and improving system performance by avoiding false sharing.

Inventive Principle:
Principle #16Partial or excessive action

3Measurement precision

If version numbers are recorded for all nodes during traversal, then accurate validation is possible, but memory usage and transaction complexity increase

Engineering Contradiction:
Improvevalidation accuracyVSAvoidtransaction complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The transaction complexity is segmented into two distinct phases: reading version numbers during traversal and validating only recorded nodes afterward. This segmentation allows the system to maintain high validation accuracy by recording all necessary version numbers while managing complexity through structured phase separation, where each phase has a clearly defined purpose and operation set.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS8832050B2Validation of distributed balanced trees
Publication Date: 2014.09.09 HEWLETT PACKARD ENTERPRISE DEV LP
  • US8832050B2 patent drawing
  • US8832050B2 patent drawing
  • US8832050B2 patent drawing

AI summary

A distributed balanced tree having a plurality of nodes distributed across a plurality of servers is accessed. Version information associated with a node of the distributed balanced tree is retrieved. Validity of a lookup transaction performed on the balanced tree is determined by verifying a version value of only the leaf node accessed during the lookup operation against the retrieved version information.