Distributed Cluster Join Management via Fence Work Requests

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In computing systems, when a node joins or leaves a cluster managing workload tasks in a storage system, existing technologies face challenges in ensuring that workload tasks are not allocated to multiple nodes for processing simultaneously, leading to potential conflicts and inefficiencies.

Innovation Solution

Implementing a distributed cluster join management process that updates cluster membership and ensures previously allocated workload tasks are completed before a new node can process tasks, using a striping algorithm to deterministically allocate tasks and prevent concurrent processing during the joining process.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If a node joins the cluster and cluster membership is updated, then the cluster can process more workload tasks with increased capacity, but previously allocated workload tasks may be re-sent to the joining node causing duplicate execution and conflicts

Engineering Contradiction:
Improvecluster processing capacityVSAvoidworkload task execution consistency
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The system performs preliminary actions by having the joining node send fence work requests to all other nodes before it begins processing workload tasks. These fence requests ensure that any workload tasks currently being processed by other nodes are completed or abandoned before the joining node starts executing tasks, preventing duplicate execution and maintaining execution consistency.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

Fence work requests act as an intermediary mechanism between the joining node and existing cluster nodes. These requests coordinate the transition by signaling other nodes to complete or abandon their current workload tasks, ensuring that the joining node does not receive duplicate work requests and preventing conflicts during the cluster membership update.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If the striping algorithm is re-run after cluster membership changes, then workload task allocation can be redistributed to include the new node, but workload tasks may be sent to multiple nodes simultaneously causing conflicts

Engineering Contradiction:
Improveworkload task allocation flexibilityVSAvoidduplicate workload execution
Core Design Contradiction:
Adaptability or versatilityVSObject-generated harmful factors

Solution Approach 1:

The system performs preliminary actions by executing fence work requests before the joining node begins processing workload tasks. This preliminary fencing action ensures that the striping algorithm can be re-run and cluster membership updated without causing duplicate execution, as other nodes will have already completed or abandoned their current tasks.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system converts the potential harm of re-running the striping algorithm (which could cause duplicate execution) into a benefit by using fence work requests to control the timing. The re-run of the striping algorithm is beneficial for load distribution, and the fence mechanism ensures it doesn't cause harm by coordinating when nodes can process tasks.

Inventive Principle:
Principle #22Blessing in disguise (Convert harm into benefit)

3Speed

If a node is allowed to join the cluster immediately, then cluster expansion is faster and more responsive, but workload task allocation may become inconsistent leading to conflicts

Engineering Contradiction:
Improvenode joining speedVSAvoidcluster workload allocation stability
Core Design Contradiction:
SpeedVSStability of the object's composition

Solution Approach 1:

The system performs preliminary fencing actions quickly upon node joining, sending fence work requests immediately to all other nodes. This allows the node to join the cluster rapidly while still maintaining stability, as the fence mechanism quickly establishes the boundary conditions for safe workload allocation before the node begins processing tasks.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system dynamically adjusts the cluster membership state by transitioning nodes through different phases (joining, fenced, active). This dynamic approach allows rapid node joining while maintaining stability through controlled state transitions, where the fence phase temporarily restricts workload allocation until safety conditions are met.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS20240111606A1Distributed Cluster Join Management
Publication Date: 2024.04.04 DELL PROD LP
  • US20240111606A1 patent drawing
  • US20240111606A1 patent drawing
  • US20240111606A1 patent drawing

AI summary

Nodes of the cluster receive workload tasks and use a striping algorithm to determine which node in the cluster should process the workload tasks. Workload task allocation within the cluster is dependent on the cluster membership at the time the striping algorithm is implemented. If a node leaves the cluster, the cluster membership is updated, and the striping algorithm is used to reallocate workload tasks assigned to the leaving node to other nodes within the cluster. If a node joins the cluster, cluster membership is updated, and any workload tasks previously assigned to the cluster nodes are allowed to complete before the joining node is able to begin working on workload tasks. Cluster membership changes are updated in a shared global memory, and locally synchronized in connection with particular events, to implement the distributed cluster join management process.