Configurable Switch Network for In-Fabric Parallel Computation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Software-based solutions for parallel operations in applications like deep neural network training and graph analysis are limited by memory bandwidth, resulting in performance that is only about 25-30% of the peak rate supported by processors due to multiple memory accesses.

Innovation Solution

The use of integrated circuits with a network of configurable switches that perform operations in a pipelined manner, minimizing data movement and memory access by mapping operations to a collective tree structure, allowing memory access only once in the forward path and broadcasting results in the reverse path.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If software techniques with multiple threads are used to perform parallel computations, then parallel operations can be executed, but performance is limited to 25-30% of peak rate due to multiple memory accesses

Engineering Contradiction:
Improveparallel computation performanceVSAvoidmemory access time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The system segments the parallel computation task into multiple independent operation threads that can be executed simultaneously. Each thread handles a specific computation operation, allowing the system to perform multiple operations in parallel without sequential memory access bottlenecks. The segmentation of computation into independent threads enables each thread to operate on its own data paths, reducing overall memory access time.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent transitions from traditional software-based parallel processing to a hardware-dimension solution by implementing parallel computation capabilities directly in the network switch fabric. This dimensional shift from software to hardware enables simultaneous execution of multiple computation operations at the network layer, bypassing the memory bandwidth limitations that constrain software-based approaches.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Productivity

If multiple reads and writes to memory are performed for parallel computations, then computations can be executed, but memory bandwidth is exceeded resulting in less than desirable performance

Engineering Contradiction:
Improvecomputation throughputVSAvoidmemory bandwidth consumption
Core Design Contradiction:
ProductivityVSLoss of energy

Solution Approach 1:

The system performs preliminary actions by pre-configuring the network switch fabric with computation operations before data arrives. Operation threads are set up in advance to execute specific computations, and data is routed through the switch fabric along predetermined paths. This preliminary configuration eliminates the need for multiple sequential memory reads and writes, as computations are performed in-flight within the network fabric itself.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The network switch fabric acts as an intermediary between data sources and destinations, performing computation operations within the fabric rather than requiring data to be read from and written to memory multiple times. This intermediary computation approach reduces memory bandwidth consumption by eliminating redundant memory access operations while maintaining high computation throughput.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Productivity

If data is moved extensively for parallel operations, then computations can be performed, but energy consumption increases

Engineering Contradiction:
Improveparallel operation capabilityVSAvoiddata movement energy
Core Design Contradiction:
ProductivityVSUse of energy by moving object

Solution Approach 1:

The patent merges computation operations with data forwarding operations in the network switch fabric. Instead of separating computation into distinct memory read-process-write cycles that require extensive data movement, the system combines these functions into a single integrated operation where data flows through the switch fabric and computations are performed in-line. This merging eliminates redundant data movement and reduces energy consumption.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The network switch fabric provides self-service computation capabilities, performing operations on data as it passes through the fabric without requiring external memory access. The switch fabric serves its own computation needs by utilizing its existing data paths and resources, eliminating the need for additional energy-intensive data movement to and from external memory systems.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS10476492B2Structures and operations of integrated circuits having network of configurable switches
Publication Date: 2019.11.12 INTEL CORP
  • US10476492B2 patent drawing
  • US10476492B2 patent drawing
  • US10476492B2 patent drawing

AI summary

Embodiments herein may present an integrated circuit including a switch, where the switch together with other switches forms a network of switches to perform a sequence of operations according to a structure of a collective tree. The switch includes a first number of input ports, a second number of output ports, a configurable crossbar to selectively couple the first number of input ports to the second number of output ports, and a computation engine coupled to the first number of input ports, the second number of output ports, and the crossbar. The computation engine of the switch performs an operation corresponding to an operation represented by a node of the collective tree. The switch further includes one or more registers to selectively configure the first number of input ports and the configurable crossbar. Other embodiments may be described and/or claimed.