Multi-NIC Large Message Communication via Manifest-Based Segmentation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current systems face challenges in communicating large messages across multiple network interface controllers (NICs) while maintaining message/tag match ordering, which is crucial for ensuring deterministic message passing and adhering to the MPI tag matching rule.

Innovation Solution

A system that splits large messages into chunks and transmits them using multiple NICs, employing a manifest to ensure correct reassembly and ordering, utilizing a multi-unit (MU) message scheme with a message ID to maintain tag matching and ordering across multiple NICs, and allowing the receiver to pull chunks using GET commands.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If large messages are transmitted using multiple NICs, then aggregate bandwidth and communication efficiency are improved, but maintaining message/tag match ordering becomes more difficult

Engineering Contradiction:
Improveaggregate bandwidthVSAvoidmessage ordering complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent segments large messages into multiple chunks that can be transmitted through different NICs simultaneously. Each chunk is assigned a unique sequence number, allowing the receiver to reassemble them in the correct order while maintaining MPI tag matching rules. This segmentation enables parallel transmission across multiple NICs without violating ordering requirements.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a manifest data structure as an intermediary that carries metadata about message chunks including sequence numbers, NIC identifiers, and reassembly information. This manifest acts as a mediator between the sender and receiver, enabling correct reordering of chunks received through multiple NICs while maintaining the deterministic message passing required by MPI.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Loss of time

If messages are split into chunks for multi-NIC transmission, then communication time is reduced, but ensuring correct reassembly becomes more complex

Engineering Contradiction:
Improvecommunication timeVSAvoidreassembly complexity
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The patent performs preliminary actions by embedding sequence numbers and reassembly metadata into each message chunk before transmission. The manifest is prepared in advance with all necessary information about chunk ordering and NIC assignments. This preliminary encoding simplifies the receiver's task, allowing straightforward reassembly based on the pre-encoded sequence information without complex processing.

Inventive Principle:
Principle #10Preliminary action

3Productivity

If multiple NICs are used for message transmission, then application performance is improved, but adherence to MPI tag matching rule becomes more challenging

Engineering Contradiction:
Improveapplication performanceVSAvoidMPI tag matching compliance
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent applies local quality by maintaining separate ordering contexts for each NIC while preserving the global MPI tag matching semantics. Each NIC handles its assigned message chunks with local sequence numbering, but the overall system maintains global ordering through the manifest's coordination. This allows parallel processing across multiple NICs while ensuring compliance with MPI's deterministic message passing requirements.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS11277350B2Communication of a large message using multiple network interface controllers
Publication Date: 2022.03.15 INTEL CORP
  • US11277350B2 patent drawing
  • US11277350B2 patent drawing
  • US11277350B2 patent drawing

AI summary

Particular embodiments described herein provide for a system for enabling the communication of a large message using multiple network interface controllers (NICs). The system can be configured to determine that a message to communicate to a receiver over a network is above a threshold, determine a plurality of NICs to be used to communicate the message, create a manifest that includes an identifier of each of the plurality of NICs, and communicate the manifest to the receiver using a multi-unit message. In an example, the multi-unit message is communicated using a PUT command and the receiver can analyze the manifest and use a GET command to pull the message from the plurality of NICs.