Dynamically-Connected NIC Context for InfiniBand Resource Management

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current InfiniBand transport services are inefficient in managing dynamic connections between initiator and responder processes, leading to increased resource utilization and potential data duplication due to lack of session-based reliability and connection management.

Innovation Solution

Implementing a dynamically-connected (DC) transport service with a handshake mechanism that allocates a single DC initiator or responder context for multiple connections, using session IDs to ensure reliable data transfer and efficient connection management, and enabling responder context sharing to reduce resource fetching and enhance connection setup speed.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If traditional InfiniBand transport services are used with dedicated queue pairs for each connection, then connection reliability is maintained, but resource utilization increases and system complexity increases

Engineering Contradiction:
Improveconnection reliabilityVSAvoidsystem complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent merges multiple connection management functions into a single DC initiator context. Instead of maintaining separate queue pairs for each connection, the system uses one context to dynamically manage multiple connections through sequential connect/disconnect operations, reducing the number of required data structures and state machines

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The DC initiator context is designed as a universal structure that can serve multiple target processes through dynamic connection establishment. The same context is reused across different connections rather than creating dedicated contexts for each target, making the structure multi-functional and reducing overall system complexity

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

2Ease of operation

If traditional InfiniBand transport services allocate dedicated resources for each connection, then connection management is simplified, but resource utilization increases

Engineering Contradiction:
Improveconnection managementVSAvoidresource utilization
Core Design Contradiction:
Ease of operationVSQuantity of substance

Solution Approach 1:

Multiple connections share a single DC initiator context and its associated resources (send queue, receive queue, state machine). This consolidation reduces the total quantity of resources needed while maintaining the ability to manage multiple connections through dynamic connect/disconnect operations

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The system transitions from static dedicated resource allocation to dynamic resource sharing. The single DC initiator context dynamically adapts to serve different target processes by establishing and tearing down connections as needed, allowing resources to be reused across multiple connections rather than being permanently allocated

Inventive Principle:
Principle #15Dynamics

3Reliability

If multiple queue pairs are allocated for multiple target processes, then connection reliability is ensured, but connection setup time increases

Engineering Contradiction:
Improvedata transfer reliabilityVSAvoidconnection setup time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system performs preliminary validation and state verification within the single DC initiator context before establishing each connection. By maintaining the context in a ready state and pre-configuring the send/receive queues, the system reduces the time required to establish connections compared to allocating entirely new resources each time

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

Instead of discarding and reallocating resources for each new connection, the system recovers and reuses the DC initiator context after each connection is torn down. The context is reset to an idle state and made available for the next connection, significantly reducing setup time while maintaining reliability through proper state management

Inventive Principle:
Principle #34Discarding and recovering

Data Source

PatentUS9031086B2Responding to dynamically-connected transport requests
Publication Date: 2015.05.12 MELLANOX TECHNOLOGIES LTD(IL)
  • US9031086B2 patent drawing
  • US9031086B2 patent drawing
  • US9031086B2 patent drawing

AI summary

A method for communication, includes allocating, in a network interface controller (NIC) a single dynamically-connected (DC) initiator context for serving requests from an initiator process running on the initiator host to transmit data to multiple target processes running on one or more target nodes. The NIC transmits a first connect packet directed to a first target process and referencing the DC initiator context so as to open a first dynamic connection with the first target process. The NIC receives over the packet network, in response to the first connect packet, a first acknowledgment packet containing a first session identifier (ID). Following receipt of the first acknowledgment packet, the NIC transmits one or more first data packets containing the first session ID over the first dynamic connection from the NIC to the first target process. Dynamic connections with other target processes may subsequently be handled in similar fashion.