Transaction Segmentation in InfiniBand Transport Connections
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
InfiniBand networks face inefficiencies due to the requirement for maintaining packet ordering among unrelated messages, leading to potential packet loss, reduced communication throughput, and impaired application performance, especially when multiple unrelated messages are sent over the same queue pair (QP).
Innovation Solution
A method and apparatus that enable a single transport connection and QP to handle multiple independent transactions, allowing each transaction to be executed in sequential order within the QP, with the network device reporting completion of operations within a transaction based on the sequential order of work requests, regardless of the order of responses received, and allowing for separate handling of each transaction for reliability and packet ordering.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If packet ordering is maintained among unrelated messages in a single QP, then reliability is improved, but communication throughput deteriorates
Solution Approach 1:
The patent segments the message stream into multiple independent transactions, each with its own sequence number space. This allows packets from different transactions to be processed independently without maintaining global ordering across all messages, thereby improving throughput while preserving reliability within each transaction.
Solution Approach 2:
The patent introduces a new dimension of transaction ID to the packet ordering problem. Instead of single-dimensional sequence numbering across all messages, packets are now ordered in multiple dimensions (transaction ID, sequence number within transaction), allowing parallel processing of unrelated messages while maintaining order within each transaction.
2Productivity
If multiple unrelated messages are sent over the same QP, then resource allocation efficiency is improved, but packet loss increases
Solution Approach 1:
The patent segments the single QP's message stream into multiple independent transactions, each with dedicated reliability tracking. This allows the system to efficiently utilize a single QP for multiple messages while maintaining packet reliability through transaction-specific sequence numbering and acknowledgment mechanisms.
Solution Approach 2:
The patent makes the QP multi-functional by allowing it to handle multiple unrelated transactions simultaneously. Each transaction maintains its own reliability guarantees through independent sequence numbering, enabling the single QP to serve multiple purposes without compromising packet delivery reliability.
3Stability of the object's composition
If packet ordering is enforced across all messages in a QP, then sequential consistency is improved, but application performance deteriorates
Solution Approach 1:
The patent segments the message stream into independent transactions, providing sequential consistency within each transaction while allowing out-of-order processing across transactions. This segmentation allows applications to achieve the sequential consistency they need for their specific transactions without the performance penalty of global ordering across all messages.
Solution Approach 2:
The patent applies local quality by providing sequential ordering only where needed (within each transaction) rather than globally across all messages. This allows different parts of the message stream to have different ordering properties, improving application performance while maintaining the sequential consistency required for correct operation within each transaction.
Data Source
AI summary
A method for communication includes receiving in a network device work requests posted by a host processor to perform a series of communication transactions, including at least a first transaction and a second transaction comprising first and second operations to be executed in a sequential order in response to corresponding first and work requests posted by the host processor. In response to the work requests, data packets are transmitted over a network from the network device to a destination node and corresponding responses are received from the destination node. Based on the received responses, completion of the first operations in the first transaction is reported from the network device to the host processor according to the sequential order, and completion of the second operation in the second transaction is reported from the network device to the host processor regardless of whether the first transaction has been completed.


