Storage Cluster Node Capability Advertising for Service Scheduling

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current cluster operating systems, such as OneFS, lack visibility into network configurations, leading to complexity and increased validation overheads in service management, as they cannot determine which nodes should run specific services based on hardware capabilities, resulting in workarounds that complicate architecture and support.

Innovation Solution

Nodes in a storage cluster advertise their dynamic capabilities and weights to a cluster service manager, which creates capability groups and uses these to determine the best node for service deployment, enabling adaptive scheduling and managing dependencies based on real-time availability of resources.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If the cluster operating system lacks visibility into network configurations and node capabilities, then service management becomes complex and requires workarounds, but implementing capability advertising and monitoring adds system complexity

Engineering Contradiction:
Improveservice managementVSAvoidsystem architecture
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

Each node in the cluster autonomously determines its own capabilities and advertises them to other nodes without requiring external configuration or manual intervention. The nodes self-monitor for capability changes and automatically update their advertisements, enabling the system to manage services based on actual node capabilities while maintaining architectural simplicity

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

Nodes continuously monitor their systems for capability changes and provide feedback by re-advertising updated capabilities to the cluster. This feedback mechanism ensures the cluster service manager always has current information about node capabilities, enabling dynamic service scheduling without complex manual management

Inventive Principle:
Principle #23Feedback

2Productivity

If services are deployed without considering node capabilities, then deployment is simple and fast, but service compatibility and performance are compromised

Engineering Contradiction:
Improveservice deployment speedVSAvoidservice compatibility
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

Nodes determine and advertise their capabilities before services are deployed to the cluster. The cluster service manager uses these pre-advertised capabilities to identify suitable nodes for service deployment, ensuring compatibility is established in advance rather than discovered during deployment, thus maintaining both speed and reliability

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system uses capability weights associated with each advertised capability to dynamically select the most appropriate node for service deployment. When multiple nodes have the required capabilities, the weights provide a ranking mechanism that optimizes service placement based on node suitability, improving compatibility without sacrificing deployment efficiency

Inventive Principle:
Principle #35Parameter changes

3Loss of information

If manual workarounds are implemented to manage service configurations, then capability tracking is achieved, but architecture complexity and validation overhead increase

Engineering Contradiction:
Improvecapability trackingVSAvoidarchitecture complexity
Core Design Contradiction:
Loss of informationVSDevice complexity

Solution Approach 1:

Instead of requiring manual workarounds to track capabilities, the system implements automated capability determination and advertising at the node level. Each node autonomously identifies its capabilities and makes this information available to the cluster service manager, eliminating the need for complex manual tracking mechanisms while maintaining complete capability visibility

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The capability advertising mechanism serves multiple functions simultaneously: it provides capability information for service scheduling, enables dynamic service migration, supports load balancing decisions, and facilitates fault tolerance. This multi-functional approach eliminates the need for separate manual tracking systems, reducing architectural complexity while comprehensive capability tracking

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS11972124B1Using dynamic capabilities of cluster nodes to schedule services in a storage cluster
Publication Date: 2024.04.30 DELL PROD LP
  • US11972124B1 patent drawing
  • US11972124B1 patent drawing
  • US11972124B1 patent drawing

AI summary

Each node of a storage cluster determines its capabilities and advertises the set of capabilities along with respective capability weights to other nodes of the storage cluster. Nodes monitor their systems for capability changes and, as capabilities of the nodes dynamically change, the dynamic changes to the node capabilities are similarly advertised. The advertised capabilities are passed to a cluster service manager which creates capabilities groups based on the advertised capabilities of the nodes. When a service is deployed to the storage cluster or moved within the cluster, the cluster service manager determines the set of required capabilities associated with the service, and uses the capabilities groups to identify nodes of the storage cluster for implementation of the service. Where more than one node has advertised the required sets of capabilities, the weights are used in an election process to determine which node should be used to implement the service.