Network Adapter Message Distribution via Receive Queue Mapping
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
2Ease of operation
If multiple network addresses are used for multiple queues, then message routing is simplified, but memory footprint increases
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.
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.
3Reliability
If locking mechanisms are used for queue access, then data consistency is maintained, but processing speed decreases
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.
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.
Data Source
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.


