IP Library Patent Application 17469644
Patent Application
App. No. 17/469,644

IN-NETWORK PARALLEL PREFIX SCAN

Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US None
App. No.
17/469,644
Abstract

Methods and apparatus for in-network parallel prefix scan. In one aspect, a dual binary tree topology is embedded in a network to compute prefix scan calculations as data packets traverse the binary tree topology. The dual binary tree topology includes up and down aggregation trees. Input values for a prefix scan are provided at leaves of the up tree. Prefix scan operations such as sum, multiplication, max, etc. are performed at aggregation nodes within the up tree as packets containing associated data propagate from the leaves to the root of the up tree. Output from aggregation nodes in the up tree are provide as input to aggregation nodes in the down tree. In the down tree, the packets containing associated data propagate from the root to its leaves. Output values for the prefix scan are provided at the leaves of the down tree.

Claims (45)

1 . A method for performing a prefix scan computation, comprising:

implementing first and second binary aggregation trees in a feed-forward network topology;

inserting input array values in leaves of the first binary aggregation tree;

performing prefix scan operations at nodes in the first and second binary aggregation trees in conjunction with routing data along edges in the first the second binary aggregation trees to compute output values for the prefix scan; and

providing the output values of the prefix scan at leaves of the second binary aggregation tree.

2 . The method of claim 1 , wherein the first binary aggregation tree comprises an up tree having a first plurality of nodes and including a first plurality of leaves and a root, wherein input values for the prefix scan are inserted as inputs at the first plurality of leaves and a first set of prefix scan operations are performed at the first plurality of nodes as data propagates from the first plurality of leaves toward the root of the up tree.

3 . The method of claim 2 , wherein the second binary aggregation tree comprises a down tree having a second plurality of nodes and including a second plurality of leaves and a root, wherein a second set of prefix scan operations are performed as data is propagated from the root of the down tree toward the second plurality of leaves.

4 . The method of claim 1 , further comprising:

embedding the first and second binary aggregation trees in a physical network comprising a plurality of switches; and

performing prefix scan aggregation calculations using compute engines in the plurality of switches.

5 . The method of claim 4 , further comprising:

performing collective operations using the plurality of compute engines in the plurality of switches.

6 . The method of claim 1 , wherein the first and second binary aggregation trees respectively comprise an up aggregation tree including a first plurality of aggregation nodes and a down aggregation tree including a second plurality of aggregation nodes and wherein the aggregation nodes in the up aggregation tree are used to calculate partial sums that are provided as inputs to aggregation nodes in the up aggregation tree.

7 . The method of claim 6 , wherein the method is implemented in a system comprising a plurality of interconnected dies or sockets, wherein aggregation nodes in the up aggregation tree and down aggregation tree are grouped on a pair-wise basis where a pair includes an up aggregation tree node and a down aggregation tree node, and wherein processing operations for a given pair of aggregation nodes are performed using the same die or socket.

8 . The method of claim 1 , wherein the prefix scan comprises an exclusive prefix scan.

9 . A method for performing an in-network prefix scan computation, comprising:

embedding a dual binary tree topology in a network to compute prefix scan aggregation operations for an array of input values within the network as data packets traverse the network; and

outputting an array of prefix scan output values.

10 . The method of claim 9 , wherein the network comprises a plurality of switches, further comprising performing prefix scan calculations using compute engines in the plurality of switches.

11 . The method of claim 9 , wherein an entirety of operations for computing the prefix scan are performed within the network.

12 . The method of claim 9 , wherein the dual binary tree topology comprises an up tree having a first plurality of nodes and including a first plurality of leaves and a root, wherein input values for the prefix scan are provided as inputs at the first plurality of leaves and a first set of prefix scan operations are performed at the first plurality of nodes as data propagates from the first plurality of leaves toward the root of the up tree.

13 . The method of claim 12 , wherein the dual binary tree topology further comprises a down tree having a second plurality of nodes and including a second plurality of leaves and a root, wherein a second set of prefix scan operations are performed as data is propagated from the root of the down tree toward the second plurality of leaves.

14 . A system comprising:

a network comprising a plurality of interconnected switches;

a plurality of cores, coupled to the network; and

memory, operatively coupled to the plurality of cores,

wherein the system is configured to,

insert, via a portion of the plurality of cores, an array of input values for which a prefix scan is to be performed,

perform the prefix scan for the array of input values within the network to generate a prefix scan result; and

output values in the prefix scan result to a portion of the plurality of cores.

15 . The system of claim 14 , wherein the system comprises:

a plurality of dies or sockets, including,

a plurality of core tiles, a core tile including multiple cores; and

a plurality of switch tiles, a switch tile including multiple switches,

wherein a core is interconnected with at least one switch, and

wherein at least one switch in a die or socket is interconnected with at least one switch in another die or socket.

16 . The system of claim 15 , wherein the plurality of dies or sockets are implemented in a node or subnode, and wherein the system comprises a plurality of nodes or subnodes.

17 . The system of claim 15 , wherein a switch comprises:

a plurality of input ports;

a plurality of output port; and

a compute engine, configured to perform one or more prefix scan calculations on data received at an input port and output a result of a prefix scan calculation to an output port.

18 . The system of claim 15 , wherein a dual binary tree topology comprising a plurality of nodes is embedded in the network to compute prefix scan operations at the plurality of nodes.

19 . The system of claim 18 , wherein the dual binary tree topology comprises an up tree having a first plurality of nodes and including a first plurality of leaves and a root, wherein input values for the prefix scan are provided as inputs at the first plurality of leaves and a first set of prefix scan operations are performed at the first plurality of nodes as data propagates from the first plurality of leaves toward the root of the up tree.

20 . The system of claim 19 , wherein the dual binary tree topology further comprises a down tree having a second plurality of nodes and including a second plurality of leaves and a root, wherein a second set of prefix scan aggregation operations are performed as data is propagated from the root of the down tree toward the second plurality of leaves.

21 . The system of claim 14 , wherein outputting values in the prefix scan result to a portion of the plurality of cores comprises switches directly writing prefix scan result output values into memory operatively coupled to the portion of the plurality of cores.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 11, 2026
From: INTEL CORPORATION
To: INTEL PRODUCTS IP LLC
Reel/Frame 075990/0991 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 3, 2021
From: PETRINI, FABRIZIO; LAKHOTIA, KARTIK
To: INTEL CORPORATION
Reel/Frame 058789/0346 →