Dynamically-Connected NIC Context for InfiniBand Resource Management
Find Innovative SolutionsGenerate 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
Engineering 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
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
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
2Ease of operation
If traditional InfiniBand transport services allocate dedicated resources for each connection, then connection management is simplified, but resource utilization increases
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
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
3Reliability
If multiple queue pairs are allocated for multiple target processes, then connection reliability is ensured, but connection setup time increases
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
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
Data Source
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.


