Storage System Multiple Target Controllers SLO Segmentation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Implementing different levels of service for various applications in software-defined storage systems using advanced protocols like NVMeF or NVMe/TCP is challenging, as existing systems find it difficult to provide tailored performance levels, especially with limited resources.
Innovation Solution
The use of multiple target controllers within a storage system, each associated with a specific service level objective (SLO), allows for separate IO operation throttling based on feedback, ensuring applications receive performance levels aligned with their agreements, even under resource constraints.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If multiple storage pools with different SLOs are implemented using advanced protocols like NVMeF or NVMe/TCP, then service differentiation and performance guarantees for critical applications are improved, but system complexity and difficulty of implementation increase
Solution Approach 1:
The storage system is segmented into multiple storage pools, each with its own target controller and distinct SLO configuration. This segmentation allows different service levels to be implemented independently within each pool while managing complexity through modular organization. The host device similarly segments IO operations by directing them to appropriate target controllers based on the required SLO.
Solution Approach 2:
Target controllers serve as intermediary components between the host device and storage pools, mediating the IO operations and enforcing SLO-specific policies. These intermediaries translate high-level storage requests into pool-specific operations while applying the appropriate feedback mechanisms and throttling rules defined by each pool's SLO configuration.
2Reliability
If IO operations are throttled based on feedback from storage pools with different SLOs, then performance levels for critical applications are guaranteed, but system complexity and feedback processing overhead increase
Solution Approach 1:
Each storage pool is configured with local quality characteristics through its own SLO definition, including specific feedback mechanisms and throttling parameters tailored to that pool's performance requirements. Critical application pools receive more aggressive feedback and throttling control, while non-critical pools use simpler mechanisms, optimizing the balance between reliability and complexity for each local context.
Solution Approach 2:
The system dynamically changes operational parameters based on SLO requirements and feedback information. Throttling factors, feedback intervals, and priority levels are adjusted as parameters to enforce different performance guarantees across storage pools without requiring fundamentally different system architectures for each SLO type.
3Productivity
If separate feedback information is provided for different target controllers, then precise control over IO throttling for each SLO is achieved, but information processing overhead and system complexity increase
Solution Approach 1:
The feedback mechanism is designed with universal components that can serve multiple target controllers and storage pools simultaneously. Common feedback structures, message formats, and processing logic are reused across different SLO contexts, reducing the overall information overhead while maintaining the ability to provide precise, differentiated control for each pool through configurable parameters within the universal framework.
Data Source
AI summary
First and second target controllers implemented in a storage system are associated with respective first and second storage pools having respective first and second service level objectives. Input-output (IO) operations are received from one or more host devices and processed in the storage system, with different ones of the IO operations being directed from one or more initiators of the one or more host devices to different ones of the first and second target controllers. Separate feedback information is provided from the storage system to the one or more host devices for respective ones of the first and second target controllers, so as to permit different amounts of throttling of additional IO operations in the one or more host devices based at least in part on whether those additional IO operations are to be directed to the first target controller or the second target controller.


