Throttling Bandwidth Imbalanced Data Transfers

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

High-performance network fabrics often exceed the write bandwidth of non-volatile memory (NVM) in high-performance computing systems, leading to network congestion due to bandwidth imbalances, which can degrade overall system performance.

Innovation Solution

A receiver-driven throttling transfer protocol that splits large message payloads into multiple chunks, scheduling their transfer to avoid overwhelming the receiver's memory bandwidth and network fabric, using techniques such as remote memory get operations and triggered operations to manage chunk get operations based on NVM write bandwidth and network capabilities.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If high-performance network fabric is used to achieve fast data transfer, then network bandwidth is improved, but the receiver's NVM write bandwidth becomes the limiting factor causing network congestion

Engineering Contradiction:
Improvenetwork transfer speedVSAvoidnetwork congestion
Core Design Contradiction:
SpeedVSObject-generated harmful factors

Solution Approach 1:

The patent divides a large data transfer operation into multiple smaller chunk transfers. Each chunk is transferred individually with its own control message, allowing the receiver to process and acknowledge each chunk separately. This segmentation prevents overwhelming the NVM write bandwidth while maintaining high network utilization, resolving the contradiction between fast network transfer and NVM write capacity.

Inventive Principle:
Principle #1Segmentation

2Productivity

If conventional communication protocols are used to inject data as fast as possible, then network bandwidth utilization is improved, but the receiver is overwhelmed due to source/sink bandwidth mismatch

Engineering Contradiction:
Improvedata injection rateVSAvoidreceiver buffer overflow
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent implements a feedback mechanism where the receiver sends acknowledgments after successfully writing each data chunk to NVM. The sender uses these acknowledgments to regulate the timing and rate of subsequent chunk transmissions. This feedback loop ensures that data injection rate adapts to the receiver's actual write capacity, preventing buffer overflow while maintaining high productivity.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The transfer protocol dynamically adjusts the timing and pacing of data chunk transmissions based on receiver acknowledgments and NVM write status. Rather than using a fixed high-speed injection rate, the system dynamically modulates the data flow to match the receiver's instantaneous write capacity, resolving the contradiction between high productivity and reliability.

Inventive Principle:
Principle #15Dynamics

3Loss of time

If large payload transfers are performed in single operations, then transfer efficiency is improved, but network buffers become congested due to bandwidth imbalance

Engineering Contradiction:
Improvetransfer latencyVSAvoidnetwork buffer congestion
Core Design Contradiction:
Loss of timeVSObject-generated harmful factors

Solution Approach 1:

The patent segments large payload transfers into smaller chunk operations, each with associated control messages. This segmentation allows network buffers to drain between chunks rather than being continuously filled by a large monolithic transfer, reducing buffer congestion while maintaining acceptable transfer latency through pipelined chunk transmission.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS10693787B2Throttling for bandwidth imbalanced data transfers
Publication Date: 2020.06.23 INTEL CORP
  • US10693787B2 patent drawing
  • US10693787B2 patent drawing
  • US10693787B2 patent drawing

AI summary

Techniques are disclosed to throttle bandwidth imbalanced data transfers. In some examples, an example computer-implemented method may include splitting a payload of a data transfer operation over a network fabric into multiple chunk get operations, starting the execution of a threshold number of the chunk get operations, and scheduling the remaining chunk get operations for subsequent execution. The method may also include executing a scheduled chunk get operation in response determining a completion of an executing chunk get operation. In some embodiments, the chunk get operations may be implemented as triggered operations.