File Cache Range Locks for Concurrent POSIX I/O

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current file systems serialize write operations and delay read commands to ensure POSIX compliance, leading to significant performance degradation when multiple nodes update a shared file concurrently, as they require only one program to write at a time and prevent reading during writes.

Innovation Solution

Implementing range locks to allow concurrent writing to non-overlapping regions of a file by selectively flushing and invalidating pages in node caches, enabling multiple programs to read and write to the same file without serializing operations across different regions.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If standard read and write I/O commands are used to ensure POSIX compliance, then compatibility and correctness are improved, but performance deteriorates due to serialization of write operations and delays to read commands

Engineering Contradiction:
ImprovePOSIX complianceVSAvoidI/O performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent segments the file into multiple regions and implements region-specific locking mechanisms. Instead of serializing all write operations globally, the system allows concurrent writes to different file regions simultaneously. Each region can be independently locked and unlocked, enabling parallel I/O operations across multiple processes while maintaining POSIX compliance within each region.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a new dimension of concurrency by allowing reads to proceed concurrently with writes in different file regions. This transforms the traditional single-dimensional serialization (all writes must complete before reads) into a multi-dimensional model where reads and writes can overlap in time and space, significantly improving throughput while maintaining data integrity.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Reliability

If only one program is allowed to write to the file at one time, then data consistency is improved, but productivity deteriorates due to inability to support concurrent writes

Engineering Contradiction:
Improvedata consistencyVSAvoidconcurrent write capability
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent divides the file into multiple lockable regions, allowing different processes to acquire locks on different regions simultaneously. This enables concurrent writes to non-overlapping file portions while maintaining data consistency within each locked region. The segmentation principle transforms a single-critical-section model into a multiple-critical-sections model, increasing parallelism while preserving consistency guarantees.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces region lock structures as intermediary mechanisms that mediate between multiple writing processes and the file system. These locks act as intermediaries that coordinate access to file regions, allowing the system to support concurrent writes without compromising data consistency. The lock manager serves as an intermediary that arbitrates access requests and maintains the invariant that only one process can write to a given region at a time.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Reliability

If read commands are delayed until write operations complete, then POSIX compliance is improved, but performance deteriorates due to inability to execute reads during writes

Engineering Contradiction:
ImprovePOSIX complianceVSAvoidread operation delay
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent segments the file access space into multiple independent regions that can be accessed concurrently. Reads can proceed in regions that are not currently being written to, eliminating the need to delay all reads until all writes complete. This segmentation allows the system to maintain POSIX compliance (by ensuring reads don't interfere with active writes in the same region) while significantly reducing read operation delays through parallel execution in other regions.

Inventive Principle:
Principle #1Segmentation

4Productivity

If application-specific interfaces are used to enable concurrent I/O, then performance is improved, but ease of operation deteriorates due to requirement for application changes

Engineering Contradiction:
Improveconcurrent I/O performanceVSAvoidapplication compatibility
Core Design Contradiction:
ProductivityVSEase of operation

Solution Approach 1:

The patent implements a universal locking interface that works with standard POSIX read and write commands, making the concurrent I/O capability transparent to applications. The region lock mechanism serves multiple functions: it enables concurrent access, maintains POSIX compliance, and requires no application modifications. This universal approach allows existing applications to benefit from improved performance without changing their I/O code, while the underlying system provides advanced concurrency control.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS7831642B1Page cache management for a shared file
Publication Date: 2010.11.09 ARCTERA US LLC
  • US7831642B1 patent drawing
  • US7831642B1 patent drawing
  • US7831642B1 patent drawing

AI summary

A method, system, computer system, and computer-readable medium to efficiently coordinate caching operations between nodes operating on the same file while allowing different regions of the file to be written concurrently. More than one program can concurrently read and write to the same file. Pages of data from the file are proactively and selectively cached and flushed on different nodes. In one embodiment, range locks are used to effectively flush and invalidate only those pages that are accessed on another node.