Filesystem I/O Scheduler for Cloud Storage SLOs
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
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
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.
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.
3Productivity
If requests are processed in a centralized queue, then resource utilization is improved, but client-specific performance requirements cannot be satisfied
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.
Data Source
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.


