Low Latency Metadata Subsystem for Distributed Storage

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing distributed file storage systems face high latency and reduced throughput due to their design, which prioritizes high-throughput metadata operations over single-client performance, leading to slower sequential applications and limitations for multithreaded applications.

Innovation Solution

The implementation of a low-latency metadata subsystem (LLMS) within a distributed file storage service (DFSS) that provides low-latency access by caching metadata, using a single authoritative low-latency server for each file system, and transitioning between high-throughput and low-latency modes to optimize performance based on workload requirements.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If a distributed file storage system prioritizes high-throughput metadata operations, then overall system throughput is improved, but latency for sequential applications increases

Engineering Contradiction:
Improvesystem throughputVSAvoidmetadata access latency
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The system segments metadata operations into two distinct paths: a high-throughput path for bulk operations and a low-latency path for sequential operations. This is achieved by separating metadata handling into a shared high-throughput subsystem and a dedicated low-latency subsystem, allowing each to be optimized independently for its specific workload characteristics

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Different quality levels of service are provided for different types of metadata operations. The system provides high-throughput optimization for throughput-bound workloads and low-latency optimization for latency-bound workloads. Each client can be configured to use the appropriate quality level based on their specific performance requirements

Inventive Principle:
Principle #3Local quality

2Device complexity

If a single distributed metadata subsystem is used for all clients, then system simplicity is maintained, but performance cannot be optimized for specific client workloads

Engineering Contradiction:
Improvemetadata subsystem structureVSAvoidclient-specific performance
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The system implements a universal metadata subsystem architecture that serves multiple functions through a single unified structure. The high-throughput metadata subsystem handles both high-throughput workloads and can also serve low-latency workloads when needed, eliminating the need for separate dedicated subsystems for each workload type

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

Solution Approach 2:

The system dynamically routes metadata operations to different subsystems based on client configuration and workload characteristics. Clients can be dynamically assigned to either the high-throughput path or the low-latency path, allowing the system to adapt to changing performance requirements without structural reconfiguration

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS10140312B2Low latency distributed storage service
Publication Date: 2018.11.27 AMAZON TECH INC
  • US10140312B2 patent drawing
  • US10140312B2 patent drawing
  • US10140312B2 patent drawing

AI summary

A low latency metadata subsystem for file systems in low latency (LL) mode in a distributed file storage service (DFSS). An LL server (LLS) may receive metadata requests from an access node of the DFSS. For read operations, the LLS may check a local cache of metadata and, for cache hits, retrieve the metadata from the cache. For cache misses, the metadata may be fetched from the storage subsystem of the DFSS and cached. For write operations, the LLS may write entries into a journal for the file system and notify the access node after the journal entries are committed to the journal; the journal entries are asynchronously committed in the storage subsystem. The access node may communicate with the storage subsystem to perform data reads and writes for the LL file system.