Incremental Inline Journaling for File System Latency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In journaled file systems, the process of expiring deltas of committed transactions is complex and contributes to tail latency and reduced throughput, particularly due to the delta reaper's operation of holding buf locks and scanning deltas.

Innovation Solution

Implementing incremental inline journaling by collecting journal deltas inline with their application, durably recording a point-in-time consistent value of a delta field, and atomically updating the corresponding predecessor block to free the delta block, providing a single-reap-per-delta semantic.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the delta reaper holds buf locks and scans deltas to expire committed transactions, then transaction consistency is maintained, but tail latency increases and throughput decreases

Engineering Contradiction:
Improvetransaction consistencyVSAvoidtail latency
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent applies preliminary action by recording a point-in-time consistent value of the delta field inline with the journal entry before the delta reaper operates. This pre-recording of consistent state information allows the system to verify transaction completion without requiring the delta reaper to hold buf locks or scan deltas, thereby reducing tail latency while maintaining transaction consistency through the pre-captured consistent state

Inventive Principle:
Principle #10Preliminary action

2Ease of manufacture

If the delta reaper scans deltas to expire committed transactions, then journal maintenance is performed, but throughput is reduced

Engineering Contradiction:
Improvejournal maintenanceVSAvoidthroughput
Core Design Contradiction:
Ease of manufactureVSProductivity

Solution Approach 1:

The patent extracts the consistent state information from the delta scanning process by recording it inline in the journal entry. This extraction eliminates the need for the delta reaper to scan deltas to determine transaction completion, allowing journal maintenance to proceed without blocking throughput-critical operations. The consistent state is taken out and stored where it can be efficiently accessed without scanning

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The journal entry structure is enhanced to self-record the point-in-time consistent value of the delta field, making the journal self-sufficient for tracking transaction state. This self-service mechanism eliminates the need for external delta reaper scanning to maintain journal integrity, allowing throughput to improve while journal maintenance continues through the embedded consistent state information

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS11347687B2Incremental inline journaling in a journaled file system
Publication Date: 2022.05.31 EMC IP HLDG CO LLC
  • US11347687B2 patent drawing
  • US11347687B2 patent drawing
  • US11347687B2 patent drawing

AI summary

Incremental inline journaling in a journaled file system can be utilized to facilitate concurrency and throughput of a journaled file system. In an example, a request can be received for a transaction to modify a sub-block portion of a file stored in a distributed storage system. In response to that, the modification can be allocated to a data structure in a journal of the distributed storage system. After the transaction commits, a current value of the sub-block portion of the file can be saved to the delta structure. Then, a new value corresponding to the request for the transaction to modify the sub-block portion of the file can be written to the metadata block. After writing the new value to the metadata block, a memory space used to store the delta structure can be freed.