Adaptive Autoscaling for Object Storage Gateways
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In computer systems, the independent operation of vertical and horizontal scalers leads to inefficiencies and decreased throughput due to conflicting resource allocation strategies, resulting in system churn and latency issues when handling varying payload characteristics.
Innovation Solution
A system and method that dynamically switches between vertical and horizontal scalers based on observed payload characteristics, using an observer to coordinate scaling decisions across both types of scalers to optimize resource allocation and adapt to changing system demands.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Power
If vertical scaling is used to handle resource intensive payloads, then processing capability is improved, but system complexity increases due to conflicting scaling strategies
Solution Approach 1:
The system dynamically switches between vertical and horizontal scaling strategies based on real-time payload characteristics. The observer monitors metrics and triggers appropriate scaling actions, making the scaling approach adaptive rather than static. This resolves the contradiction by allowing the system to use vertical scaling for resource-intensive tasks while avoiding horizontal scaling conflicts during normal operations.
Solution Approach 2:
The observer acts as an intermediary component that monitors system metrics and coordinates scaling decisions between vertical and horizontal scalers. By introducing this mediator, the system can make informed scaling decisions without direct conflicts between scaling strategies, reducing overall system complexity while maintaining processing capability.
2Productivity
If horizontal scaling is used to reduce system latency, then throughput is improved, but resource allocation conflicts increase leading to system churn
Solution Approach 1:
The observer continuously monitors system metrics including payload characteristics and scaling actions. This feedback mechanism allows the system to detect when horizontal scaling is causing conflicts or churn and switch to vertical scaling instead. The feedback loop ensures stable resource allocation while maintaining high throughput by adapting to changing system conditions.
Solution Approach 2:
The system changes the scaling parameter (vertical vs horizontal) based on observed payload characteristics. When payloads indicate resource-intensive operations, the system switches to vertical scaling parameters; when payloads suggest queuing behavior, it switches to horizontal scaling parameters. This parameter adaptation prevents resource allocation conflicts and reduces system churn while maintaining throughput.
3Ease of manufacture
If independent scaling strategies are used for vertical and horizontal scalers, then implementation simplicity is maintained, but conflicting resource allocation strategies decrease system efficiency
Solution Approach 1:
The system merges the decision-making logic of vertical and horizontal scalers into a unified observer component. The observer consolidates monitoring and coordination functions, allowing both scaling strategies to work together harmoniously rather than independently. This merging improves system efficiency by coordinating resource allocation while maintaining implementation simplicity through a clear architectural structure.
Data Source
AI summary
The present disclosure is a new, innovative system and methods for dynamically adaptive autoscaling. An example system includes a memory and at least one processing device in communication with the memory. The processing device is configured to receive a request at a storage gateway microservice's request queue and process the request at the storage gateway microservice. The processing device is configured to store or retrieve data related to the processed request using a storage backend microservice. The processing device is configured to report to an observer, in a fixed interval, input, output, and resource usage metrics related to the processing of the request and storing or retrieving data. The observer is configured to determine a scaling decision using the metrics and transmit it to at least one scaler, which performs a scaling action on the storage gateway microservice, storage backend microservice, or both based on the scaling decision.


