Infiniband Host Channel Adapter Multicast Replication
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Infiniband network's existing solutions for multicast packet replication rely on software replication, which can be inefficient and may bottleneck the system, as they require redirection of all incoming multicast packets to a single virtual machine for processing and replication to multiple queue pairs, leading to potential performance issues and increased complexity.
Innovation Solution
A host channel adapter (HCA) with responder processing logic and a multicast inspection engine that processes multicast packets, identifies destination queue pairs, and injects packet descriptors into the receive pipeline, enabling hardware-based replication directly to corresponding destination queue pairs, thereby reducing the burden on software and improving efficiency.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If software replication is used to redirect all incoming multicast packets to a single virtual machine for processing and replication to multiple queue pairs, then the system can handle multicast packet distribution, but the processing load on software increases and performance bottlenecks occur
Solution Approach 1:
The patent replaces the software-based replication mechanism with a hardware-based mechanism in the host channel adapter. The HCA's multicast inspection engine and receive pipeline automatically handle packet replication to multiple destination QPs, substituting the mechanical software processing with hardware circuitry that operates in parallel without bottlenecks.
Solution Approach 2:
The patent extracts the replication function from the software layer and implements it directly in the hardware layer of the host channel adapter. By taking out the replication task from the software processing path and embedding it in the HCA's receive pipeline, the system eliminates the need for software to redirect and process each packet individually.
2Ease of operation
If all incoming multicast packets are redirected to a single virtual machine for software-based replication, then packet distribution to multiple destinations is achieved, but system performance deteriorates due to processing bottlenecks
Solution Approach 1:
The patent substitutes the software-based packet distribution mechanism with a hardware-based implementation in the host channel adapter. The multicast inspection engine and receive pipeline in the HCA perform automatic packet replication to multiple destination QPs using hardware circuitry, eliminating the performance bottleneck caused by software processing while maintaining the packet distribution capability.
3Reliability
If software replication is used to replicate packets to multiple queue pairs, then multicast packet delivery is achieved, but the processing load on the host system increases
Solution Approach 1:
The patent replaces the software-based replication mechanism with hardware circuitry in the host channel adapter. The multicast inspection engine and receive pipeline automatically replicate packets to multiple destination QPs using hardware resources, thereby maintaining reliable multicast delivery while significantly reducing the processing load and energy consumption of the host system.
Solution Approach 2:
The host channel adapter performs self-service by automatically handling multicast packet replication within its own hardware structure. The receive pipeline and multicast inspection engine work autonomously to replicate packets to multiple destination QPs without requiring host software intervention, making the HCA self-sufficient for multicast operations.
Data Source
AI summary
A method for multicast replication by a host channel adapter (HCA) involving receiving a multicast packet, by a receive pipeline for processing packets of the HCA, storing, in a payload RAM within the HCA, a multicast packet payload corresponding to a data portion of the multicast packet, identifying, from a multicast header of the multicast packet, a plurality of destination underlying functions and a plurality of corresponding destination QPs to which the multicast packet is directed, wherein each destination underlying function of corresponds to a virtual machine located on a host, identifying, from the multicast header, information to be replicated for each multicast packet destination, injecting, by the HCA, a number of multicast packet descriptors corresponding to a number of the corresponding destination QPs into the receive pipeline of the HCA, and copying, from the payload RAM, the multicast packet payload to each of the corresponding destination QPs.


