Mutual Exclusion Domains for Parallel File System Processing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In storage servers, the file system domain often experiences high processor utilization, leading to bottlenecks that limit throughput, as other domains like network and storage domains have lower utilization rates, resulting in inefficient processing of requests.

Innovation Solution

The creation of two mutually exclusive domains, FS-Exempt and FS-Main, where FS-Exempt allows multiple threads to execute processes in parallel for data access requests, and FS-Main processes are executed sequentially, with data logically divided into subsets called stripes to prevent concurrent operations on the same data, thereby spreading compute load across processors and reducing synchronization needs.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If the file system domain uses a single sequential process to ensure data safety and consistency, then reliability is maintained, but processor utilization is low and throughput is limited

Engineering Contradiction:
ImprovethroughputVSAvoiddata safety
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The file system domain is segmented into multiple mutual exclusion domains (MEX domains), each handling specific stripes of data. This segmentation allows parallel processing of different data portions while maintaining consistency within each domain, thereby increasing throughput without compromising reliability.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a new dimension of parallelism by creating multiple MEX domains that can execute processes simultaneously. Instead of a single sequential domain, the system now operates across multiple domains (e.g., MEX domain 0, MEX domain 1), enabling concurrent processing while maintaining data safety through domain-specific mutual exclusion.

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

2Productivity

If multiple processes are allowed to execute in parallel in the file system domain, then processor utilization increases, but data consistency and safety are compromised

Engineering Contradiction:
Improveprocessor utilizationVSAvoiddata consistency
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The file system domain is divided into multiple MEX domains, each responsible for specific data stripes. This segmentation enables parallel execution of processes across different domains while maintaining data consistency within each domain through mutual exclusion mechanisms.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces MEX domains as intermediary layers between the file system and the underlying storage. These domains act as mediators that manage access to data stripes, allowing parallel processing while ensuring data consistency through controlled access mechanisms.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Productivity

If the file system domain is organized into a single pipeline stage, then simplicity is maintained, but it becomes a bottleneck limiting overall system throughput

Engineering Contradiction:
Improvesystem throughputVSAvoiddomain organization
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The single file system domain is segmented into multiple MEX domains, each handling specific data stripes. This segmentation distributes the processing load across multiple domains, eliminating the bottleneck while maintaining relatively simple domain organization through systematic division.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent transforms the single-domain structure into a multi-dimensional domain organization where multiple MEX domains operate in parallel. This dimensional expansion increases throughput by utilizing multiple processing paths while organizing domains in a systematic manner that manages complexity.

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

Data Source

PatentUS8347293B2Mutual exclusion domains to perform file system processes on stripes
Publication Date: 2013.01.01 NETAPP INC
  • US8347293B2 patent drawing
  • US8347293B2 patent drawing
  • US8347293B2 patent drawing

AI summary

Multiple domains are created for processes of a storage server. The processes are capable of execution on a plurality of processors in the storage server. The domains include a first domain, which includes multiple threads that can execute processes in the first domain in parallel, to service data access requests. A data set managed by the storage server is logically divided into multiple subsets, and each of the subsets is assigned to exactly one of the threads in the first domain, for processing of data access requests directed to the data set.