Aggregated Work Item for Network Interface Controller Message Batching

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvemessage transmission reliabilityVSAvoidoverhead and latency
Core Design Contradiction:
ReliabilityVSLoss of time

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.

Inventive Principle:
Principle #5Merging (Combining)

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.

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

2Productivity

If multiple messages are grouped into a single work item, then bus bandwidth efficiency is improved, but queue management complexity increases

Engineering Contradiction:
Improvebus bandwidth efficiencyVSAvoidqueue management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #10Preliminary action

3Productivity

If work requests are accumulated into a single work item, then processing load is reduced, but message transmission latency may increase

Engineering Contradiction:
Improveprocessing loadVSAvoidmessage transmission latency
Core Design Contradiction:
ProductivityVSLoss of time

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.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS10305772B2Using a single work item to send multiple messages
Publication Date: 2019.05.28 MELLANOX TECHNOLOGIES LTD(IL)
  • US10305772B2 patent drawing
  • US10305772B2 patent drawing

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.