Filesystem I/O Scheduler for Cloud Storage SLOs

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Cloud storage systems face bottlenecks in meeting Service-Level Objectives (SLOs) due to the use of centralized journaling devices, which can block requests from one client to process those from another, leading to failure in achieving performance expectations.

Innovation Solution

Implementing a method that creates an application instance for each client with a partition on a cloud storage device, associating attributes like client identifiers, service-level objectives, and application identifiers, and ordering requests based on these attributes to ensure efficient scheduling and dispatching.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a centralized journaling device is used to maintain data consistency and high availability, then data consistency and availability are improved, but request processing speed deteriorates due to bottlenecks blocking requests from multiple clients

Engineering Contradiction:
Improvedata consistencyVSAvoidrequest processing speed
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent segments the centralized journaling device into multiple distributed journaling devices, with each client having its own dedicated journaling device. This segmentation eliminates the bottleneck by allowing parallel journaling operations across multiple devices rather than serializing all requests through a single centralized device.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent transitions from a single-dimension centralized architecture to a multi-dimensional distributed architecture where journaling operations can occur simultaneously across multiple dimensions (clients, devices, locations). This dimensional expansion allows the system to maintain consistency while processing requests in parallel.

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

2Reliability

If a centralized journaling device serializes data updates, then data consistency is maintained, but service-level objectives cannot be met due to request blocking

Engineering Contradiction:
Improvedata consistencyVSAvoidrequest processing time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

By segmenting the journaling function across multiple distributed devices, each client's requests are processed independently without being blocked by other clients' requests. This maintains consistency within each client's data while eliminating the time loss associated with centralized serialization.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system performs preliminary actions by pre-allocating dedicated journaling devices to clients and establishing distributed journaling relationships in advance. This preparation eliminates the need for request blocking and waiting, allowing immediate processing while maintaining consistency.

Inventive Principle:
Principle #10Preliminary action

3Productivity

If requests are processed in a centralized queue, then resource utilization is improved, but client-specific performance requirements cannot be satisfied

Engineering Contradiction:
Improveresource utilizationVSAvoidclient-specific performance adaptability
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The patent applies local quality by tailoring the journaling resources and processing characteristics to each client's specific requirements. Each client has dedicated journaling device(s) and can have customized journaling parameters, allowing the system to adapt to different performance needs while maintaining efficient resource utilization through the distributed architecture.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS11297141B2Filesystem I/O scheduler
Publication Date: 2022.04.05 RED HAT INC
  • US11297141B2 patent drawing
  • US11297141B2 patent drawing
  • US11297141B2 patent drawing

AI summary

A method includes creating an application instance that corresponds to a client, creating a partition on the cloud storage device, the partition corresponding to the client, and associating attributes with the partition. The attributes include a client identifier corresponding to the client, a service-level objective corresponding to the client, and an application identifier corresponding to the application instance. The method further includes receiving a request from the application instance to access the partition and accessing, in response to the request, the attributes corresponding to the partition. The method further includes ordering the request in a data structure relative to one or more other requests, the ordering based on at least one attribute of the attributes, an order in which the request was submitted, and a latency sensitivity of the application instance. The method further includes dispatching the request from the data structure in an order corresponding to the ordering.