Parallel Journaling in Storage Cluster Nodes

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional journaling methods in storage clusters require serialized actions, leading to high IO latency due to waiting for CPU core availability and rescheduling, which limits the efficiency of data processing and recovery in active-active configurations.

Innovation Solution

Implementing parallel journaling by concurrently writing data to a log buffer and sending page descriptors to another node, reducing the number of CPU scheduling events and ensuring consistent recovery in case of failures.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If conventional serialized journaling is used, then data consistency is maintained, but IO latency increases due to sequential CPU scheduling

Engineering Contradiction:
Improvedata consistencyVSAvoidIO latency
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The journaling process is segmented into independent parallel tasks: page descriptor generation, data writing to log buffer, and page descriptor sending to peer node. These segmented operations execute concurrently rather than sequentially, eliminating CPU scheduling waits while maintaining consistency through coordinated completion tracking.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Page descriptors are generated and sent to the peer node in advance, before the actual data writing completes. This preliminary action allows the system to prepare recovery information ahead of time, reducing the critical path latency while ensuring consistency through acknowledgment verification.

Inventive Principle:
Principle #10Preliminary action

2Loss of time

If parallel journaling is implemented, then IO latency is reduced through concurrent operations, but system complexity increases

Engineering Contradiction:
ImproveIO latencyVSAvoidsynchronization mechanism
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The system implements feedback through acknowledgment signals from the peer node confirming successful page descriptor receipt. This feedback mechanism coordinates the parallel operations without requiring complex inter-process communication, as the acknowledgment serves as both a confirmation and a synchronization trigger for proceeding with data writing.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

Each node independently manages its own journaling operations and recovery process. The parallel journaling mechanism is self-sufficient, with nodes autonomously generating page descriptors, tracking writing status, and initiating recovery without external coordination, thereby reducing overall system complexity despite the parallel architecture.

Inventive Principle:
Principle #25Self-service

3Ease of manufacture

If conventional journaling is used, then CPU scheduling overhead is high due to rescheduling, but implementation is straightforward

Engineering Contradiction:
Improveimplementation simplicityVSAvoidprocessing efficiency
Core Design Contradiction:
Ease of manufactureVSProductivity

Solution Approach 1:

The parallel journaling mechanism enables continuous useful action by eliminating CPU scheduling interruptions. Page descriptors are generated and transmitted without being blocked by CPU availability for data writing, and data writing proceeds without waiting for peer node acknowledgment. This continuous execution eliminates rescheduling overhead and maximizes processing efficiency.

Inventive Principle:
Principle #20Continuity of useful action

Data Source

PatentUS11256439B2System and method for parallel journaling in a storage cluster
Publication Date: 2022.02.22 EMC IP HLDG CO LLC
  • US11256439B2 patent drawing
  • US11256439B2 patent drawing
  • US11256439B2 patent drawing

AI summary

A method, computer program product, and computing system for receiving, via a first node of a plurality of nodes, data for storage in a storage system. The data may be written, via the first node, to one or more data pages of a log buffer of the first node. One or more page descriptors associated with the one or more data pages may be generated via the first node. The one or more page descriptors may be sent to a second node concurrently with the writing of the data to the one or more data pages of the log buffer of the first node.