Network Adapter Message Distribution via Receive Queue Mapping

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In distributed computing, existing methods for distributing messages among multiple queues in a communication network face challenges such as high memory footprint, complex address management, and locking overhead, particularly in hybrid-MPI and task-based scheduling models, where messages are buffered and processed by multiple threads.

Innovation Solution

A network adapter with a single network address is configured to receive messages and apply a distribution rule to select the appropriate Receive Queue (RQ) for each message, allowing for efficient load balancing among multiple RQs accessible by threads, eliminating the need for locking operations and reducing memory requirements.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If messages are distributed among multiple queues using traditional methods, then load balancing is achieved, but memory footprint and address management complexity increase

Engineering Contradiction:
Improveload balancing efficiencyVSAvoidaddress management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent introduces a network adapter as an intermediary device that sits between the network interface and the processing queues. This adapter maintains a mapping table that translates destination port numbers to specific queue identifiers, thereby decoupling the complexity of multi-queue management from both the network interface and the application logic. The adapter handles address management internally while providing simple queue selection to the system.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent creates a virtual copy of the address space through a mapping table in the network adapter. Instead of requiring the system to directly manage complex multi-queue addressing, the adapter maintains a simplified mapping structure that replicates the necessary address-to-queue relationships, reducing the computational and memory overhead of address management while preserving load balancing functionality.

Inventive Principle:
Principle #26Copying

2Ease of operation

If multiple network addresses are used for multiple queues, then message routing is simplified, but memory footprint increases

Engineering Contradiction:
Improvemessage routing simplicityVSAvoidmemory footprint
Core Design Contradiction:
Ease of operationVSQuantity of substance

Solution Approach 1:

The patent makes the single network address universal by enabling it to route messages to multiple different queues based on destination port numbers. The network adapter intercepts messages addressed to the same network address and distributes them to appropriate queues using the mapping table, allowing one address to serve multiple routing purposes without requiring additional addresses or increasing memory footprint.

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

Solution Approach 2:

The patent adds a new dimension to message routing by introducing port number-based differentiation. Instead of requiring multiple network addresses (spatial dimension), the system uses the existing address space but differentiates routing along a new dimension - the destination port number. This allows multiple queues to be addressed through a single network address by varying the port number, eliminating the need for additional address memory.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

3Reliability

If locking mechanisms are used for queue access, then data consistency is maintained, but processing speed decreases

Engineering Contradiction:
Improvedata consistencyVSAvoidmessage processing speed
Core Design Contradiction:
ReliabilityVSSpeed

Solution Approach 1:

The patent segments the message processing system into independent queue channels, each handled by dedicated processing threads. The network adapter's mapping table directs messages to specific queues based on destination port, creating naturally partitioned data flows. This segmentation eliminates the need for locking mechanisms because each queue-thread pair operates independently without shared state, maintaining data consistency through isolation rather than synchronization.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system implements self-service routing where the network adapter automatically directs messages to the appropriate queue based on the mapping table without requiring external coordination or locking. Each queue serves itself by processing only the messages directed to it, and each processing thread independently handles its assigned queue without needing to acquire locks or coordinate with other threads, thereby eliminating synchronization overhead while maintaining consistency.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS10623521B2Distribution of messages to queues in a distributed computing environment
Publication Date: 2020.04.14 MELLANOX TECHNOLOGIES LTD(IL)
  • US10623521B2 patent drawing
  • US10623521B2 patent drawing
  • US10623521B2 patent drawing

AI summary

A network adapter includes a network interface and circuitry. The network interface is assigned a single network address in a communication network, and is configured to receive, from one or more other nodes over the communication network, messages that are destined for processing by multiple threads in one or more processing cores of a network node including the network adapter, but are nevertheless addressed to the single network address. The circuitry is configured to hold a distribution rule for distributing the messages among multiple Receive Queues (RQs) that are accessible by the threads, and to select for each message received via the network interface a respective RQ, by applying the distribution rule to the message.