Storage Array Controller Microservice Initialization
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In storage arrays, backend services often unnecessarily consume resources due to inconsistent resource requirements across different operations, leading to inefficient resource utilization and performance issues.
Innovation Solution
Implementing a method to control microservices initialization based on request-related information, user profiles, and IO workload models, which limits resource consumption by correlating microservices with specific request characteristics and optimizing resource allocation.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If all microservices are initialized in advance to ensure system readiness, then system reliability is improved, but resource consumption increases
Solution Approach 1:
The system performs preliminary analysis of IO workload characteristics and pre-identifies which microservices will be needed, but only initializes them when actually required. This partial preliminary action maintains reliability by ensuring needed services are ready while avoiding the waste of initializing all services in advance.
Solution Approach 2:
The system dynamically changes the operational state of microservices based on detected IO workload patterns. Microservices transition between initialized and uninitialized states according to actual demand, allowing the system to adapt resource allocation to changing conditions rather than maintaining a fixed state.
2Loss of energy
If microservices are initialized on-demand to reduce resource consumption, then resource efficiency is improved, but system response time may worsen
Solution Approach 1:
The system performs preliminary analysis of IO workload characteristics to predict which microservices will be needed soon. By anticipating demand patterns and pre-initializing services before they are actually called, the system avoids initialization delays while maintaining resource efficiency through selective rather than universal pre-initialization.
Solution Approach 2:
The system continuously monitors IO workload patterns and uses this feedback to dynamically adjust microservice initialization decisions. When workload patterns indicate upcoming demand for specific microservices, the system proactively initializes them, thereby reducing response time without permanently maintaining unnecessary services that would waste resources.
3Adaptability or versatility
If comprehensive microservice initialization is performed to handle all possible operations, then system versatility is improved, but device complexity increases
Solution Approach 1:
The system applies different initialization states to different microservices based on their specific needs and the detected IO workload patterns. Rather than uniformly initializing all microservices, the system selectively initializes only those relevant to current operational contexts, reducing overall system complexity while maintaining versatility for handling diverse operations.
Solution Approach 2:
The system makes microservice initialization dynamic rather than static. Microservices are initialized and deactivated based on changing IO workload conditions, allowing the system to adapt its complexity level to match actual operational needs. This dynamic approach maintains comprehensive operation coverage when needed while reducing complexity during periods of lower diverse demand.
Data Source
AI summary
Aspects of the present disclosure relate to managing storage array resources. In embodiments, a request from a client machine is received by a storage array via a command-line path. Additionally, the consumption of storage array resources can be controlled. For instance, resource consumption control can include limiting an initialization of one or more microservices based on the request's related information.


