AllReduce Aggregation for Distributed Task Processing Efficiency
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In parallel processing of computing tasks, such as deep learning, the extensive data exchange between multiple processing resources leads to a significant occupation of network resources, reducing overall efficiency due to the large amount of computation involved and the need for data synchronization.
Innovation Solution
The method involves performing AllReduce operations on processing results from multiple devices to aggregate and synchronize data efficiently, reducing the need for direct data exchange between processing resources by performing a first AllReduce operation on each device's results and then a third AllReduce operation on the combined results from multiple devices to obtain the final task processing result.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Power
If multiple processing resources are used to process computing tasks in parallel, then computing power and processing capability are improved, but data exchange between resources increases network resource occupation and reduces processing efficiency
Solution Approach 1:
The patent segments the computing task into multiple sub-tasks that can be processed independently by different processing resources. Each processing resource processes its assigned sub-tasks locally and generates processing results, which are then aggregated through the AllReduce operation. This segmentation allows parallel processing without requiring constant data exchange between resources during the computation phase, thereby maintaining high computing power while improving processing efficiency.
2Stability of the object's composition
If data is frequently exchanged between processing resources to ensure data synchronization, then data consistency is improved, but network resource occupation increases and processing efficiency decreases
Solution Approach 1:
The patent performs the AllReduce operation after all processing resources have completed their local processing of sub-tasks. This preliminary completion of local processing allows each resource to work independently without intermediate data exchange, ensuring data synchronization is achieved in a single aggregation step rather than through frequent exchanges during processing, thus improving processing efficiency while maintaining data consistency.
3Reliability
If all processing resources directly exchange data with each other to complete a task, then task completion accuracy is improved, but the complexity of data exchange and network resource occupation increase
Solution Approach 1:
The patent introduces the AllReduce operation as an intermediary mechanism that aggregates processing results from multiple processing resources. Instead of requiring direct peer-to-peer data exchange between all processing resources, the AllReduce operation serves as a mediator that collects results from each resource and combines them to produce the final task result. This reduces data exchange complexity from O(n²) direct exchanges to O(n) aggregated exchanges while maintaining task completion accuracy.
Data Source
AI summary
Embodiments of the present disclosure provide a method, an electronic device and a computer program product for processing a task. The method comprises: obtaining a first group of processing results generated from processing, by a first group of processing resources of a first device, a first group of sub-tasks in the task; performing a first AllReduce operation on the first group of processing results to obtain a first AllReduce result; obtaining a second AllReduce result from a second device, the second AllReduce result being obtained by performing a second AllReduce operation on a second group of processing results generated from processing, by a second group of processing resources of the second device, a second group of sub-tasks in the task; and performing a third AllReduce operation on the first AllReduce result and the second AllReduce result to obtain a processing result of the task.


