Scheduler Extender Prioritization for Hyperconverged Container Storage
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing containerized application systems face challenges in achieving hyperconvergence without altering standard schedulers, leading to performance degradation and increased maintenance costs due to complex scheduling decisions based on specific storage and application configurations.
Innovation Solution
A scheduler extender with prioritization modules is used to optimize node selection for containerized applications, prioritizing nodes with mounted virtual storage volumes and considering node performance, thereby reducing inter-node traffic and enhancing scalability and performance without modifying the standard scheduler.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If standard schedulers are used without modifications, then scheduler simplicity is maintained, but hyperconvergence performance deteriorates due to inability to prioritize nodes with mounted storage volumes
Solution Approach 1:
The scheduling system is segmented into two independent components: the standard scheduler that handles basic container placement, and the scheduler extender that adds hyperconvergence-specific prioritization logic. This segmentation allows the standard scheduler to remain simple while the extender provides enhanced functionality for prioritizing nodes with mounted storage volumes, thus improving hyperconvergence performance without increasing core scheduler complexity.
Solution Approach 2:
The scheduler extender acts as an intermediary layer between the standard scheduler and the cluster nodes. It receives scheduling decisions from the standard scheduler, enhances them with prioritization logic based on storage volume mounts, and then executes the refined scheduling decisions. This intermediary approach enables improved hyperconvergence performance without modifying the standard scheduler itself.
2Productivity
If scheduler extensions are added to achieve hyperconvergence, then application response times improve, but maintenance costs increase due to additional scheduler components
Solution Approach 1:
The scheduler extender is designed to automatically discover and adapt to the cluster's storage configuration and workload requirements without manual intervention. It self-configures prioritization rules based on mounted storage volumes and dynamically adjusts scheduling decisions, eliminating the need for manual maintenance and reducing operational costs while improving application response times.
Solution Approach 2:
The scheduler extender uses parameter-based prioritization where nodes are assigned priority values based on their storage volume mount status and performance characteristics. By dynamically changing these priority parameters based on real-time cluster state, the system improves application response times without requiring complex manual configuration or maintenance.
3Device complexity
If nodes without mounted storage volumes are prioritized, then scheduling simplicity is maintained, but inter-node traffic increases leading to performance degradation
Solution Approach 1:
The scheduler extender performs preliminary prioritization of nodes based on their storage volume mount status before container placement decisions are made. By pre-identifying and prioritizing nodes that already have the required storage volumes mounted, the system avoids scheduling containers on nodes that would require data transfer, thus reducing inter-node network traffic while maintaining relatively simple scheduling logic.
Data Source
AI summary
An illustrative computing system may include a master node that includes a prioritization module. The master node may be in communication with each of a plurality of containerized application nodes. The prioritization module may be configured to determine node prioritization information indicating a relative prioritization of the containerized application nodes for instantiating a designated containerized application, wherein the determining node prioritization information includes assigning a priority score to a candidate containerized application node, wherein higher priority is given based on a number of volumes stored on the candidate containerized application node that is designated for access by the designated containerized application.


