InfiniBand I/O Path Failover via Proactive Rerouting

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In storage management environments with multiple I/O paths, failures can cause widespread I/O errors and performance degradation due to the need for reactive rerouting of I/O operations, which drains computing resources and is inefficient in large cluster setups.

Innovation Solution

Implement a proactive I/O rerouting system in an InfiniBand managed storage environment by registering callbacks for InfiniBand events and polling hardware components to detect failures, allowing for immediate rerouting of all I/O operations from a failing path set to a separate path set on a different InfiniBand channel, without waiting for I/O errors to occur.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If reactive I/O rerouting is used to handle failures, then I/O operations can be redirected to alternate paths, but computing resources are drained and I/O performance degrades due to continuous error detection and rerouting

Engineering Contradiction:
ImproveI/O operation continuityVSAvoidcomputing resource efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system performs preliminary actions by monitoring path health status and proactively rerouting I/O operations before failures occur. The host level multi-path component detects potential failures through path monitoring and initiates rerouting in advance, preventing the need for reactive error handling and reducing computing resource consumption.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If reactive I/O rerouting is used, then failed I/Os can be redirected, but new incoming I/Os may be scheduled on failing paths that have not yet returned errors, causing additional rerouting needs

Engineering Contradiction:
ImproveI/O path failoverVSAvoidI/O operation latency
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system monitors path status continuously and proactively identifies failing paths before they cause I/O errors. By detecting path failures in advance and pre-rerouting I/O operations, the system eliminates the delay associated with reactive error detection and ensures continuous I/O operation without unnecessary rerouting.

Inventive Principle:
Principle #10Preliminary action

3Reliability

If multiple I/O paths are used in large cluster setups, then redundancy and availability are improved, but a single failure can cause widespread I/O errors requiring extensive rerouting

Engineering Contradiction:
Improvestorage system availabilityVSAvoidI/O path management complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The host level multi-path component implements proactive path monitoring and pre-rerouting capabilities. When a path failure is detected, the system immediately redirects I/O operations to alternate paths without waiting for error propagation, thereby reducing the impact of failures in large cluster environments and simplifying path management complexity.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS9172600B1Efficient I/O error analysis and proactive I/O failover to alternate paths for InfiniBand channel
Publication Date: 2015.10.27 VERITAS TECHNOLOGIES LLC
  • US9172600B1 patent drawing
  • US9172600B1 patent drawing
  • US9172600B1 patent drawing

AI summary

An InfiniBand managed storage environment is made up of processor nodes containing HCAs and managed storage devices containing TCAs and exposing a plurality of LUNs and volumes. For each InfiniBand channel between a specific HCA and a specific TCA, the paths between the HCA and any LUN or volume exposed by the TCA are grouped into a set. Occurrence of failures on specific paths of specific sets on specific channels are determined, for example by registering for callbacks or polling for occurrence of events which adversely affect communication between endpoints. Also, I/O operations executed by processor nodes are tracked and failures thereof are detected. When the occurrence of a failure on a specific path of a set is determined, all I/O operations on all paths of the set are proactively rerouted to a separate set on a separate channel that connects the same processor node and storage device.