Credit-Based Message Transmission System for Network Devices

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In credit-based systems, requestor devices may fail to receive available credits for additional message transmission due to incorrect computation of receive work queue credits, leading to potential deadlocks and reduced throughput when messages are received and processed out-of-order.

Innovation Solution

The system allows the requestor device to send additional messages after receiving an acknowledgement receipt indicating all prior messages have been received, even if credit data shows no space in the receive work queue, and tracks consumed work queue elements waiting for completion queue elements to accurately compute available credits.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the requestor device waits for acknowledgement receipt after sending each message before sending the next message, then buffer overflow is prevented, but message transmission throughput is reduced

Engineering Contradiction:
Improvebuffer overflow preventionVSAvoidmessage transmission throughput
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent segments the message transmission process into batches, where multiple messages are sent together in a single transmission unit. The requestor device sends batches of messages (e.g., 4 messages per batch) rather than individual messages, allowing parallel transmission while maintaining buffer management control through batch-level acknowledgement handling.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The requestor device performs preliminary actions by sending multiple messages in advance without waiting for individual acknowledgements. The device prepares and transmits batches of messages proactively, only waiting for the final acknowledgement receipt that confirms all messages in the batch have been received and processed by the responder device.

Inventive Principle:
Principle #10Preliminary action

2Productivity

If the requestor device sends additional messages when receive work queue is full, then message transmission continuity is improved, but deadlock may occur due to incorrect credit computation

Engineering Contradiction:
Improvemessage transmission continuityVSAvoiddeadlock prevention
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The system implements feedback mechanisms where the responder device sends acknowledgement receipts containing credit data that indicates the current status of the receive work queue. The requestor device uses this feedback information to dynamically adjust its message sending rate, sending additional messages only when credits indicate available space, thus preventing deadlock while maintaining transmission continuity.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The message transmission system dynamically adjusts its behavior based on real-time credit status. The requestor device transitions between different transmission states (waiting for credits vs. sending additional messages) based on the dynamic credit information received in acknowledgement receipts, allowing flexible adaptation to buffer availability without causing deadlock.

Inventive Principle:
Principle #15Dynamics

3Reliability

If messages are processed in strict order, then processing correctness is ensured, but transmission efficiency is reduced when out-of-order delivery occurs

Engineering Contradiction:
Improveprocessing correctnessVSAvoidtransmission efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent applies preliminary action by sending messages with sequence numbers in advance without waiting for previous messages to be processed. The requestor device proactively transmits messages out of order when credits permit, and the responder device uses sequence numbers to track and process messages correctly, achieving both efficiency and correctness.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system changes the parameter of message processing order by introducing sequence numbers as a tracking parameter. Instead of processing messages strictly in arrival order, the responder device uses sequence numbers to manage message state and ensure correct processing, allowing out-of-order transmission while maintaining processing correctness through parameter-based tracking.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS20250023668A1Efficient end-to-end credit requestor-responder system
Publication Date: 2025.01.16 MELLANOX TECHNOLOGIES LTD(IL)
  • US20250023668A1 patent drawing
  • US20250023668A1 patent drawing
  • US20250023668A1 patent drawing

AI summary

In one embodiment, a first network device includes a host interface to receive messages from a host device, packet processing circuitry to send a batch of the messages to a second network device without waiting for an acknowledgement receipt from the second network device after sending each message, one message in the batch having a maximum message sequence number (MSN), receive a given acknowledgement receipt from the second network device indicating that all the messages in the batch have been received and including credit data indicating that there is no space in a receive work queue of the second network device for receiving an additional message, and send the additional message having an MSN greater than the maximum MSN to the second network device responsively to receiving the given acknowledgement receipt and based on the credit data indicating that there is no space in the receive work queue.