Non-Transparent Bridge Memory Sharing Recovery

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional memory sharing in computer clusters fails when a node is reset or replaced, breaking the connection between nodes and disrupting the memory sharing setup, as there is no automatic correction mechanism to re-establish the memory sharing.

Innovation Solution

A method where a first node determines the state of a non-transparent bridge (NTB) between nodes, sends a re-initialization request if disconnected, re-initializes its memory, and implements a memory-sharing procedure after receiving a result message from a second node, allowing automatic recovery of memory sharing.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If memory sharing is set up during initialization of the computer cluster, then memory sharing between nodes can be achieved, but the memory sharing fails when a node is reset or replaced

Engineering Contradiction:
Improvememory sharing continuityVSAvoidnode reset handling capability
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The patent implements a feedback mechanism where nodes continuously monitor the connection status of NTBs. When a disconnection is detected (indicating a node reset or replacement), the system automatically triggers a re-initialization process. This feedback loop ensures that memory sharing continuity is maintained by detecting failures and initiating recovery procedures without manual intervention.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The patent performs preliminary actions by pre-configuring the system to automatically detect NTB disconnections and initiate re-initialization sequences before complete system failure occurs. The monitoring mechanism is established in advance, and the re-initialization protocol is prepared beforehand, allowing rapid recovery when node resets or replacements occur.

Inventive Principle:
Principle #10Preliminary action

2Ease of operation

If conventional memory sharing setup is used, then initial memory access between nodes is enabled, but no automatic correction mechanism exists when connection breaks

Engineering Contradiction:
Improveautomatic recovery capabilityVSAvoidmanual intervention requirement
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The patent implements self-service functionality where the computer cluster automatically detects NTB disconnections and performs re-initialization without external assistance. Each node monitors its own connections and autonomously triggers recovery procedures, eliminating the need for manual intervention and simplifying operation while maintaining complex recovery logic internally.

Inventive Principle:
Principle #25Self-service

3Speed

If NTB is used for fast communication between nodes, then memory sharing speed is improved, but connection stability deteriorates when nodes are reset or replaced

Engineering Contradiction:
Improvememory access speedVSAvoidconnection stability
Core Design Contradiction:
SpeedVSReliability

Solution Approach 1:

The patent introduces dynamic adaptability to the static NTB connection model. The system continuously monitors connection status and dynamically re-initializes NTBs when changes are detected. This transforms the rigid connection into a flexible, adaptive system that maintains fast communication speeds while recovering automatically from reset events, balancing speed and reliability.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS10853297B2Method for maintaining memory sharing in a computer cluster
Publication Date: 2020.12.01 MITAC COMPUTING TECH
  • US10853297B2 patent drawing
  • US10853297B2 patent drawing
  • US10853297B2 patent drawing

AI summary

A method includes: by an application executed by a first node, determining whether a non-transparent bridge between the first node and a second node is in a disconnected state; sending a re-initialization request from the application to a driver executed by the first node when the NTB is in the disconnected state; re-initializing a memory of the first node upon the driver receiving the re-initialization request; transmitting a result message related to the re-initialization of the memory to the second node; and implementing a memory-sharing procedure upon completing the re-initialization of the memory and receiving, from the second node, another result message related to re-initialization of a memory of the second node.