Distributed Machine Learning Data Parallelism and Halo Exchange

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current data processing systems, particularly in graphics processing, face challenges in efficiently handling diverse operations and maximizing parallel processing, especially with the increasing complexity of graphics and machine-learning workloads.

Innovation Solution

The integration of a general-purpose graphics processing unit (GPU) communicatively coupled to host/processor cores, which accelerates graphics operations, machine-learning operations, and general-purpose GPU functions by utilizing dedicated circuitry and optimized interconnects like PCIe or NVLink.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If data is distributed across multiple GPUs for parallel processing, then processing throughput is improved, but communication overhead and latency between GPUs increases

Engineering Contradiction:
Improveprocessing throughputVSAvoidcommunication latency
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent divides the computational workload and data into segments that can be processed independently by different GPUs. Each GPU handles a specific portion of the data parallelism operations, allowing simultaneous processing while minimizing inter-GPU communication requirements through localized computations.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces an intermediary communication mechanism that optimizes data transfer between GPUs. This intermediary layer manages the exchange of data and control signals, reducing communication overhead by batching transfers and optimizing the timing of inter-GPU interactions.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If more processing elements are added to increase parallelism, then processing capacity is improved, but system complexity increases

Engineering Contradiction:
Improveprocessing capacityVSAvoidsystem complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent implements a universal control mechanism that manages multiple processing elements through a standardized interface. This allows the system to scale to different numbers of GPUs while maintaining the same control logic, reducing system complexity despite increased processing capacity.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The patent combines multiple processing elements into unified functional blocks that share common control and memory resources. This merging approach reduces the overall system complexity by eliminating redundant components while maintaining parallel processing capabilities.

Inventive Principle:
Principle #5Merging (Combining)

3Speed

If data is partitioned across multiple devices for parallel processing, then processing speed is improved, but data exchange overhead increases

Engineering Contradiction:
Improveprocessing speedVSAvoiddata exchange overhead
Core Design Contradiction:
SpeedVSLoss of energy

Solution Approach 1:

The patent performs preliminary data preparation and organization before distribution to multiple GPUs. Data is pre-processed and formatted in a way that minimizes the need for extensive data exchange during computation, reducing communication overhead while maintaining processing speed.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent optimizes data locality by keeping frequently accessed data close to the processing elements that need it. Each GPU maintains local data structures and caches that reduce the frequency and volume of data exchanges over the interconnect, lowering communication overhead.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS20250200696A1Data parallelism and halo exchange for distributed machine learning
Publication Date: 2025.06.19 INTEL PRODUCTS IP LLC
  • US20250200696A1 patent drawing
  • US20250200696A1 patent drawing
  • US20250200696A1 patent drawing

AI summary

One embodiment provides for a method of transmitting data between multiple compute nodes of a distributed compute system, the method comprising multi-dimensionally partitioning data of a feature map across multiple nodes for distributed training of a convolutional neural network; performing a parallel convolution operation on the multiple partitions to train weight data of the neural network; and exchanging data between nodes to enable computation of halo regions, the halo regions having dependencies on data processed by a different node.