Concurrent File System Write Buffering

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In modern computing systems, concurrent file system write operations are serialized using locking mechanisms like inode locks, which can lead to prolonged lock acquisition times, especially for large files, resulting in reduced file system throughput.

Innovation Solution

The method involves copying data to a contiguous intermediate buffer before acquiring a lock, followed by a translation operation between the intermediate and destination buffers, reducing the number of copy operations and allowing for faster inode lock release, thereby improving write concurrency and throughput.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If inode lock is acquired before copying data to file system buffer, then file system integrity is ensured, but lock acquisition time increases significantly

Engineering Contradiction:
Improvefile system integrityVSAvoidlock acquisition time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent applies preliminary action by copying data to a contiguous intermediate buffer before acquiring the inode lock. This reorders operations so that the time-consuming copy operation occurs while the lock is not held, and only the essential translation to the file system buffer requires the lock. This resolves the contradiction by performing preparatory work in advance, reducing lock acquisition time from seconds to milliseconds while maintaining file system integrity through the translation operation that occurs under lock protection.

Inventive Principle:
Principle #10Preliminary action

2Stability of the object's composition

If inode lock is held for the entire write operation, then data consistency is maintained, but file system throughput decreases

Engineering Contradiction:
Improvedata consistencyVSAvoidfile system throughput
Core Design Contradiction:
Stability of the object's compositionVSProductivity

Solution Approach 1:

The patent segments the write operation into two distinct phases: (1) copying data to an intermediate buffer without holding the inode lock, and (2) translating from the intermediate buffer to the file system buffer while holding the lock. This segmentation allows the majority of the write operation to proceed without lock contention, significantly improving throughput while maintaining data consistency during the critical translation phase.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces an intermediate buffer as a mediator between the source buffers and the file system buffer. This intermediate structure allows data to be staged before the locked operation, reducing the time the inode lock must be held. The intermediate buffer serves as a temporary holding area that decouples the lock acquisition time from the total write operation time, thereby improving throughput while preserving data consistency.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS8041692B2System and method for processing concurrent file system write requests
Publication Date: 2011.10.18 HEWLETT PACKARD ENTERPRISE DEV LP
  • US8041692B2 patent drawing
  • US8041692B2 patent drawing
  • US8041692B2 patent drawing

AI summary

A method for processing concurrent write operations in a computer system, the method comprising a first step of copying data residing in one or more source buffers to a contiguous intermediate buffer, prior to acquiring a lock for a write operation. In a second step, on acquiring the lock performing a translation operation between the intermediate buffer and a destination buffer, to process the write operation.