Credit-Based Flow Control for Shared Public Buffer Management

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current link-level flow control mechanisms, such as those in the InfiniBand Architecture, fail to effectively manage data transmission in shared public buffers among multiple virtual lanes, leading to buffer overflow and data loss, as they do not provide adequate information on public buffer availability and do not prevent overutilization by individual virtual lanes.

Innovation Solution

The implementation of a mechanism at the transmitter node to track available space in a shared public buffer using negative credits, allowing only a predefined portion of the buffer for each virtual lane and calculating buffer credit values to determine if transmission can proceed, ensuring that each lane does not exceed its allocated credit needs and preventing buffer overflow.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If a public buffer is shared among multiple virtual lanes to increase bandwidth utilization, then productivity is improved, but reliability deteriorates due to buffer overflow and data loss

Engineering Contradiction:
Improvebandwidth utilizationVSAvoiddata loss prevention
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent implements a credit-based feedback mechanism where the receiver node monitors public buffer availability and sends credit information back to transmitter nodes. Each transmitter node maintains a credit counter that is updated based on receiver feedback, enabling dynamic adjustment of transmission rates to prevent buffer overflow while maximizing bandwidth utilization.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The patent establishes preliminary credit allocations for each virtual lane before data transmission begins. These pre-configured credit limits prevent any single virtual lane from overutilizing the shared public buffer, ensuring that buffer capacity is distributed fairly across multiple lanes while maintaining high overall utilization.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If each virtual lane has a dedicated buffer to ensure reliable data storage, then reliability is improved, but productivity deteriorates due to underutilization of buffer resources

Engineering Contradiction:
Improvedata storage assuranceVSAvoidbuffer resource utilization
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent merges multiple dedicated virtual lane buffers into a single shared public buffer at the receiver node. This consolidation eliminates idle buffer space that would exist in dedicated configurations, as the shared buffer can dynamically allocate capacity to any active virtual lane, thereby improving overall resource utilization while maintaining data integrity through credit-based control.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The public buffer serves multiple virtual lanes simultaneously, making it a universal resource that can be dynamically allocated based on transmission needs. This multi-functional buffer replaces multiple specialized dedicated buffers, achieving higher utilization efficiency while the credit mechanism ensures each virtual lane receives appropriate buffer capacity for reliable data storage.

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

3Productivity

If a transmitter node allows any virtual lane to use available public buffer space to maximize transmission efficiency, then productivity is improved, but device complexity increases due to credit tracking and loan calculation mechanisms

Engineering Contradiction:
Improvetransmission efficiencyVSAvoidcredit management mechanism
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent transforms the complex multi-dimensional buffer management problem into a simpler parameter-based control system. By representing buffer availability as credit values and transmission permissions as credit thresholds, the system achieves high transmission efficiency through straightforward parameter comparison rather than complex real-time buffer state analysis.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The patent introduces credit counters as intermediary variables that mediate between the receiver's buffer state and the transmitter's transmission decisions. Instead of direct complex buffer state monitoring, the credit intermediary simplifies the control logic by providing a single numerical value that encapsulates buffer availability, thereby reducing device complexity while maintaining transmission efficiency.

Inventive Principle:
Principle #24Intermediary (Mediator)

4Productivity

If a virtual lane is allowed to borrow credits from the public buffer to continue transmission, then productivity is improved, but device complexity increases due to loan tracking requirements

Engineering Contradiction:
Improvecontinuous transmissionVSAvoidloan tracking mechanism
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent implements dynamic credit borrowing where virtual lanes can temporarily negative their credit counters when the public buffer has available capacity. This dynamic mechanism allows continuous transmission without rigid credit limits, improving productivity while the credit counter itself serves as a simple dynamic parameter that automatically tracks loan status without requiring separate complex tracking structures.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS10079782B2Facilitating communication of data packets using credit-based flow control
Publication Date: 2018.09.18 MELLANOX TECHNOLOGIES LTD(IL)
  • US10079782B2 patent drawing
  • US10079782B2 patent drawing
  • US10079782B2 patent drawing

AI summary

Apparatuses and methods are described that provide for credit based flow control in a network in which a public buffer is supported at a receiver node, where a transmitter node can control the use of the public buffer. In particular, the transmitter node determines a buffer credit value (TCRi) for each virtual lane of the transmitter node. The buffer credit value (TCRi) is negative (e.g., less than 0) in an instance in which a respective virtual lane private buffer is fully used and thus reflects a loan of credits from the public buffer. In addition, the transmitter node knows the needed buffer size per virtual lane for transmitting a packet in advance based on the round trip time (RTT) and maximum transmission unit (MTU) for the packet and is precluded from consuming more space on the public buffer than required to meet RTT.