Decoupling Commit and Replay in Clustered File System Journaling

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing clustered file systems (CFSs) face high I/O latency due to the synchronous execution of commit and replay phases in journaling, which restricts client applications from proceeding until both phases are completed, thereby reducing application performance.

Innovation Solution

The journaling component of a CFS is enhanced with an asynchronous replay phase, allowing the commit phase to complete and return an I/O complete acknowledgement to the client application without waiting for the replay phase, utilizing an enhanced commit module, journal resource cache, and journal lock cache to decouple the two phases and enable granular resource logging.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the commit and replay phases are executed synchronously to ensure metadata consistency, then the reliability of the file system is improved, but the I/O latency increases and application performance deteriorates

Engineering Contradiction:
Improvemetadata consistencyVSAvoidI/O latency
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The journaling process is segmented into two independent phases: commit phase and replay phase. The commit phase writes metadata updates to the journal, while the replay phase propagates updates to actual disk locations. By segmenting these phases and allowing them to execute independently, the system maintains reliability through proper sequencing while reducing I/O latency for application operations.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The commit phase performs preliminary action by writing metadata updates to the journal before the replay phase propagates them to actual disk locations. This preliminary logging ensures that updates are recorded and can be recovered in case of failure, while the actual replay happens asynchronously in the background, allowing applications to proceed without waiting for the complete propagation process.

Inventive Principle:
Principle #10Preliminary action

2Stability of the object's composition

If the replay phase is performed immediately after the commit phase to maintain data integrity, then the consistency of metadata is improved, but the application execution speed decreases

Engineering Contradiction:
Improvemetadata consistencyVSAvoidapplication execution speed
Core Design Contradiction:
Stability of the object's compositionVSSpeed

Solution Approach 1:

The journal acts as an intermediary between the commit phase and the replay phase. Metadata updates are first committed to the journal, which serves as a temporary buffer. The replay phase then reads from this journal and propagates updates to actual disk locations. This intermediary mechanism ensures consistency while allowing the application to proceed immediately after the commit phase without waiting for the replay phase to complete.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The commit phase performs preliminary action by recording metadata updates in the journal before the replay phase propagates them to actual disk locations. This preliminary logging ensures that updates are recorded and can be recovered in case of failure, while the actual replay happens asynchronously in the background, allowing applications to proceed without waiting for the complete propagation process.

Inventive Principle:
Principle #10Preliminary action

3Reliability

If the metadata resource is locked during both commit and replay phases to prevent access, then the data integrity is improved, but the resource availability decreases

Engineering Contradiction:
Improvedata integrityVSAvoidresource availability
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The locking mechanism is segmented and applied differently to different phases. The commit phase acquires locks on metadata resources to ensure integrity during journaling, while the replay phase operates asynchronously on copied data from the journal. This segmentation allows the application to access resources after the commit phase completes, while the replay phase works in the background without blocking application access, thus maintaining data integrity while improving resource availability.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS10664450B2Decoupling the commit and replay of metadata updates in a clustered file system
Publication Date: 2020.05.26 VMWARE INC
  • US10664450B2 patent drawing
  • US10664450B2 patent drawing
  • US10664450B2 patent drawing

AI summary

Techniques for decoupling the commit and replay of file system metadata updates in a clustered file system (CFS) are provided. In one embodiment, a CFS layer of a computer system can receive a file I/O operation from a client application, where the file I/O operation involves an update to a file system metadata resource maintained on persistent storage. In response, a journaling component of the CFS layer can execute a commit phase for committing the update to a journal on the persistent storage. The CFS layer can then return an acknowledgment to the client application indicating that the file I/O operation is complete, where the acknowledgement is returned prior to completion of a replay phase configured to propagate the update from the journal to one or more locations on the persistent storage where the file system metadata resource is actually stored.