Cluster File System Block Allocation with Dynamic Region Conversion

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing file system technologies face inefficiencies in block allocation for write transactions, particularly in managing network traffic and scalability across multiple nodes in a cluster environment.

Innovation Solution

The implementation of a cluster file system with two types of regions: write affinity regions, which utilize local storage to reduce network traffic, and wide striping regions, which distribute data across all storage in the cluster, along with an allocation map that dynamically converts blocks between these regions to ensure availability during write transactions.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If data is written to wide striping regions distributed across all storage in the cluster, then scalability and fault tolerance are improved, but network traffic increases

Engineering Contradiction:
ImprovescalabilityVSAvoidnetwork traffic
Core Design Contradiction:
Adaptability or versatilityVSLoss of energy

Solution Approach 1:

The storage space is segmented into two distinct regions: write affinity regions for local storage and wide striping regions for distributed storage. This segmentation allows the system to choose the appropriate region type based on the specific write transaction requirements, thereby reducing unnecessary network traffic while maintaining scalability options.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces write affinity regions that provide local storage quality for write transactions, reducing network traffic by keeping data local to the node. Meanwhile, wide striping regions provide distributed storage quality for scalability. Each region type has optimized characteristics for different operational needs.

Inventive Principle:
Principle #3Local quality

2Loss of energy

If data is written to write affinity regions local to a node, then network traffic is reduced, but scalability and availability decrease

Engineering Contradiction:
Improvenetwork trafficVSAvoidscalability
Core Design Contradiction:
Loss of energyVSAdaptability or versatility

Solution Approach 1:

The storage system is divided into two region types with distinct characteristics. Write affinity regions optimize for local access and reduced network traffic, while wide striping regions optimize for distributed scalability. The segmentation allows each region type to excel at its specific function without compromising the other.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The dual-region system provides multi-functionality by accommodating both local write affinity operations and distributed wide striping operations within the same storage system. This universality allows the system to handle diverse workload requirements while maintaining both scalability and low network traffic options.

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

3Device complexity

If blocks are statically allocated to one region type, then allocation simplicity is improved, but flexibility to handle region exhaustion decreases

Engineering Contradiction:
Improveallocation simplicityVSAvoidflexibility
Core Design Contradiction:
Device complexityVSAdaptability or versatility

Solution Approach 1:

The block allocation system is made dynamic through the ability to convert blocks between write affinity regions and wide striping regions. When one region type exhausts its blocks, the system can dynamically reallocate blocks from the other region type, providing flexibility while maintaining relatively simple allocation management through the allocation map.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS8386741B2Method and apparatus for optimizing data allocation
Publication Date: 2013.02.26 MAPLEBEAR INC
  • US8386741B2 patent drawing
  • US8386741B2 patent drawing
  • US8386741B2 patent drawing

AI summary

Embodiments of the invention relate to block layout and block allocation in a file system to support write transactions. Regions in a cluster file system are defined to support a block allocation, include both write affinity and wide striping region. An allocation map is maintained to define and support the block allocation regions. For each write transaction, a copy of data is written to both regions, and in the event there is a shortage of blocks in one of the regions, at least one block in the other region is dynamically converted to support the write transaction.