Aggregated Work Item for Network Interface Controller Message Batching
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing systems incur significant overhead and latency in process-to-process communication over computer networks due to the need for each message to be handled as a separate work queue entry (WQE), especially when dealing with short messages, which results in inefficient use of bus bandwidth and increased processing load.
Innovation Solution
A method is introduced where multiple work requests are grouped into a single work item (WQE) for submission to the network interface controller (NIC), allowing the NIC to transmit multiple messages efficiently, with decision criteria based on queue size and message size to optimize bandwidth use without adding excessive latency.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If each message is handled as a separate work queue entry (WQE), then message transmission reliability is ensured, but overhead and latency increase significantly
Solution Approach 1:
The patent combines multiple separate WQEs into a single aggregated WQE that can carry multiple messages. This merging approach maintains the reliability of individual message transmission while significantly reducing the overhead and latency associated with handling each message separately through the NIC.
Solution Approach 2:
The single WQE is designed to serve multiple functions by carrying multiple messages simultaneously. This multi-functional WQE structure allows the system to maintain reliable message transmission for multiple destinations without requiring separate WQEs for each message, thereby reducing overall processing overhead.
2Productivity
If multiple messages are grouped into a single work item, then bus bandwidth efficiency is improved, but queue management complexity increases
Solution Approach 1:
The patent segments the message transmission process into two distinct phases: the host processor phase where multiple work requests are collected and validated, and the NIC phase where the aggregated WQE is executed. This segmentation allows the host to manage complexity while the NIC handles the actual transmission, improving bus bandwidth efficiency without overburdening the queue management system.
Solution Approach 2:
The host processor performs preliminary actions by collecting and validating multiple work requests before submitting them to the NIC as a single WQE. This preliminary processing at the host level simplifies the overall queue management complexity while enabling more efficient bus bandwidth utilization through batched transmissions.
3Productivity
If work requests are accumulated into a single work item, then processing load is reduced, but message transmission latency may increase
Solution Approach 1:
The patent implements a dynamic accumulation strategy where the host processor continuously monitors the queue status and decides in real-time whether to accumulate more work requests or submit the current batch to the NIC. This dynamic approach allows the system to reduce processing load through accumulation while minimizing latency by submitting batches at optimal moments rather than waiting for fixed intervals.
Data Source
AI summary
A method for communication includes receiving multiple work requests from a process running on a computer to transmit respective messages over a network. A single work item corresponding to the multiple work requests is submitted to a network interface controller (NIC) connected to the computer. In response to the single work item, multiple data packets carrying the respective messages are transmitted from the NIC to the network.

