In-Network Streaming Aggregation With In-Order Packet Synchronization
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
2Reliability
If the switch buffers all incoming packets to ensure in-order aggregation, then result correctness is maintained, but memory requirements increase significantly
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.
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.
3Reliability
If workers synchronize before each packet transmission to guarantee order, then result correctness is ensured, but transmission time increases and scalability decreases
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.
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.
Data Source
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.


