In-Network Streaming Aggregation With In-Order Packet Synchronization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing in-network computation methods face challenges in ensuring reproducible results due to multipath interference and lack of synchronization among workers, particularly when using floating-point operations, and require significant memory resources to maintain the correct order of operations, limiting scalability.

Innovation Solution

Implementing a protocol that ensures workers send data to memory slots in a consistent order without additional synchronization, using a reliable transport protocol to guarantee in-order packet delivery and reproducible streaming in-network aggregation, with each worker being one slot ahead of the next, allowing for efficient use of limited on-chip memory.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If workers send data packets through multiple paths simultaneously to improve throughput, then aggregation speed increases, but multipath interference causes out-of-order delivery and erroneous results

Engineering Contradiction:
Improveaggregation speedVSAvoidresult correctness
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent segments the data transmission process by assigning each worker a unique sequence number and dividing the aggregation process into ordered phases. Each packet is tagged with sequence information that allows the switch to reconstruct the correct order even when packets arrive out-of-order through multipath routing. This segmentation enables parallel transmission while maintaining result correctness through ordered reconstruction.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements preliminary actions by having workers pre-establish their transmission sequence and by the switch pre-configuring buffer slots for ordered aggregation. The bootstrap phase sets up the initial state where workers are ordered by sequence number, and the switch is prepared to receive and order packets before aggregation begins. This preliminary ordering eliminates the need for complex runtime synchronization.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If the switch buffers all incoming packets to ensure in-order aggregation, then result correctness is maintained, but memory requirements increase significantly

Engineering Contradiction:
Improvein-order aggregationVSAvoidmemory resources
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent applies partial buffering by maintaining only the necessary buffer space for the current aggregation phase rather than buffering all historical packets. The switch uses a circular buffer with fixed-size slots that cycle through as workers transmit packets. This partial buffering approach maintains in-order aggregation for the active phase while dramatically reducing total memory requirements compared to buffering all packets indefinitely.

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The patent implements discarding and recovering by using a circular buffer where old buffer slots are discarded after being used and then recovered for reuse in the next aggregation phase. The switch discards completed aggregation results and reuses the same buffer memory for subsequent phases. This allows the system to maintain in-order aggregation capability while using minimal memory by continuously recycling buffer resources.

Inventive Principle:
Principle #34Discarding and recovering

3Reliability

If workers synchronize before each packet transmission to guarantee order, then result correctness is ensured, but transmission time increases and scalability decreases

Engineering Contradiction:
Improveoperation orderVSAvoidsynchronization overhead
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent enables continuity of useful action by allowing workers to transmit packets continuously without interruption for synchronization. Each worker transmits packets in continuous streams, and the switch handles ordering in the background using sequence numbers and buffer management. This eliminates the stop-start nature of traditional synchronization while maintaining order correctness through implicit ordering mechanisms that operate concurrently with data transmission.

Inventive Principle:
Principle #20Continuity of useful action

Solution Approach 2:

The patent implements self-service by having the switch autonomously manage packet ordering and aggregation without requiring explicit synchronization signals from workers. The switch uses sequence numbers in packet headers to automatically determine the correct transmission order and manages buffer allocation independently. This self-service approach eliminates synchronization overhead while maintaining order correctness through the switch's intelligent packet management.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS20230208913A1In-order streaming in-network computation
Publication Date: 2023.06.29 INTEL CORP
  • US20230208913A1 patent drawing
  • US20230208913A1 patent drawing
  • US20230208913A1 patent drawing

AI summary

A device can include interfaces configured to receive data packets from compute nodes. The device can include circuitry provide data to the compute nodes to synchronize reception of data packets received from the compute nodes. The reception can be synchronized to provide data of the data packets to each memory slot of a memory in an order.