Transaction Encoding for Persistent Storage Adaptation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Peer-to-peer storage systems face challenges in maintaining consistent performance across different hardware and persistent storage types, leading to issues with CPU utilization and reduced Input-Output Operations Per Second (IOPS), as well as difficulties in maintaining ACID consistency across various storage systems.

Innovation Solution

The system encodes I/O operations into transactions using a linked list of updates, which are then stored in persistent storage using data structures optimized for each type of storage, such as log-based structures for SSDs and direct byte addressing for NVRAM, to maintain ACID properties and reduce wear on storage devices.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of manufacture

If a unified data structure is used for all persistent storage types, then implementation is simpler, but performance varies across different hardware and storage types

Engineering Contradiction:
Improveimplementation simplicityVSAvoidIOPS
Core Design Contradiction:
Ease of manufactureVSProductivity

Solution Approach 1:

The patent changes the parameter of data structure based on the type of persistent storage. Different data structures are selected according to storage characteristics: log-based structures for SSDs to reduce write amplification, and other structures for different storage types. This allows the system to optimize IOPS for each storage type while maintaining a unified interface layer.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The system dynamically selects appropriate data structures based on the detected type of persistent storage. The data structure is not fixed but adapts to the underlying hardware characteristics, enabling the system to achieve optimal performance across different storage technologies without requiring manual configuration.

Inventive Principle:
Principle #15Dynamics

2Adaptability or versatility

If traditional file system methods are used, then compatibility is maintained, but ACID consistency cannot be guaranteed across distributed nodes

Engineering Contradiction:
ImprovecompatibilityVSAvoidACID consistency
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The patent segments the transaction processing into distinct components: transaction encoding, validation, and persistence. Each node independently encodes I/O operations into transactions with linked lists of updates, validates ACID properties locally, and persists to its own storage. This segmentation allows distributed ACID consistency while maintaining compatibility with traditional file system interfaces.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces an intermediary transaction layer between the file system interface and the underlying persistent storage. This transaction intermediary ensures ACID consistency by validating and coordinating operations across distributed nodes before persistence, while presenting a compatible file system interface to upper layers.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Speed

If SSDs are used for persistent storage, then speed is improved, but write amplification reduces device lifespan

Engineering Contradiction:
ImproveI/O speedVSAvoidSSD lifespan
Core Design Contradiction:
SpeedVSDuration of action of stationary object

Solution Approach 1:

The patent changes the data structure parameter specifically for SSDs to log-based structures. This reduces write amplification by organizing writes sequentially in logs rather than randomly, thereby extending SSD lifespan while maintaining the high speed benefits of SSD storage.

Inventive Principle:
Principle #35Parameter changes

4Reliability

If CPU-intensive transaction processing is used to ensure ACID consistency, then reliability is improved, but CPU utilization increases and reduces overall system throughput

Engineering Contradiction:
ImproveACID consistencyVSAvoidsystem throughput
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent performs preliminary encoding of I/O operations into transactions with linked lists of updates before persistence. This preliminary action organizes the data in an ACID-compliant format in advance, reducing the need for intensive CPU processing during commit operations and improving overall system throughput while maintaining reliability.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10997153B2Transaction encoding and transaction persistence according to type of persistent storage
Publication Date: 2021.05.04 HEWLETT PACKARD ENTERPRISE DEV LP
  • US10997153B2 patent drawing
  • US10997153B2 patent drawing
  • US10997153B2 patent drawing

AI summary

In example implementations, a system may receive an input/output (I/O) operation in an object store storing a first object, determine objects represented in the object store affected by storing the first object, transcode the I/O operation into a transaction including the linked list of updates to objects represented in the object store, determine a persistent storage for storing the transaction and persist the transaction to the persistent storage according to a data structure determined by the type of persistent storage.