Operation Queue System for AllReduce Processing Tasks

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing methods for AllReduce processing tasks in multiple processing units face scalability issues due to high communication overheads and poor resource management, making them inefficient for complex data processing.

Innovation Solution

Implementing an operation queue system where different types of operations are scheduled based on dependency relationships, using separate queues for copy and accumulation operations, and leveraging hardware interrupts to optimize execution, thereby increasing parallelism and reducing resource overheads.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If multiple processing units are coordinated to perform complex processing tasks, then processing capability is improved, but communication overhead and resource management complexity increase

Engineering Contradiction:
Improveprocessing capabilityVSAvoidresource management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent introduces a host as an intermediary between processing units and the external environment. The host manages operation queues and coordinates data input/output operations, allowing processing units to focus on computation while the host handles communication and resource management, thus resolving the contradiction between improved processing capability and increased management complexity

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent segments processing operations into distinct types (copy operations and accumulation operations) and organizes them in separate queues. This segmentation allows independent management and optimization of different operation types, reducing the overall complexity of resource management while maintaining high processing capability

Inventive Principle:
Principle #1Segmentation

2Productivity

If data is exchanged between processing units in traditional AllReduce methods, then processing task is completed, but communication overhead increases

Engineering Contradiction:
Improveprocessing completionVSAvoidcommunication overhead
Core Design Contradiction:
ProductivityVSLoss of energy

Solution Approach 1:

The patent extracts data input and output operations from the processing units and centralizes them in the host. Processing units only perform internal data manipulation (copy and accumulation operations) on data already in their local memories, eliminating the need for continuous data exchange between units and significantly reducing communication overhead

Inventive Principle:
Principle #2Taking out (Extraction)

3Ease of operation

If operation queues are used to manage processing tasks, then resource management is improved, but system complexity increases

Engineering Contradiction:
Improveresource managementVSAvoidsystem complexity
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The patent implements a universal operation queue management system that handles both copy operations and accumulation operations through a unified framework. The host manages multiple queues using consistent protocols and mechanisms, making resource management easier while avoiding the need for separate complex management systems for each operation type

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

Data Source

PatentEP3792757B1Method, apparatus, device, and storage medium for performing processing task
Publication Date: 2024.12.04 BAIDU COM TIMES TECH (BEIJING) CO LTD
  • EP3792757B1 patent drawingFigure 1A~1B
  • EP3792757B1 patent drawingFigure 2
  • EP3792757B1 patent drawingFigure 3

AI summary

The present disclosure relates to a field of cloud computing, and in particular, to methods, apparatuses, devices, and storage media for performing a processing task. A portion of a plurality of portions of the processing task includes a group of operations that are to be performed at a processing unit of a plurality of processing units. The group of operations include operations of a first type and operations of a second type. In the method, a first queue for performing the operations of the first type and a second queue for performing the operations of the second type are built, respectively. Based on a definition of the processing task, a dependency relationship between a group of operations that are to be performed at the processing unit and a group of operations that are to be performed at other processing units in the plurality of processing units is obtained. Operations in the first queue and operations in the second queue are performed respectively based on the dependency relationship. The above implementations may reduce the time and resource costs for scheduling various types of operations, and thus improve the execution efficiency of the processing task.