Distributed Computer Vision Framework Using Hybrid Parallelism
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing approaches to parallelizing data-intensive computer vision workloads across multiple nodes are inefficient due to high inter-node network communication latency and synchronization overhead, particularly when the data movement-to-compute ratio is high and network latency cannot be effectively hidden by compute costs.
Innovation Solution
Implementing hybrid parallelism that combines fine-grained and coarse-grained parallelism, where entire images are distributed across nodes with input parameters like shift values, reducing synchronization and communication overhead, and using aggregation networks like tree and shuffle networks to efficiently aggregate results, thereby overlapping network latency with compute time.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If images are split into tiles and distributed across multiple nodes, then parallel computation capability is improved, but network communication latency and synchronization overhead increase significantly
Solution Approach 1:
The patent segments the parallelization strategy into two levels: fine-grained segmentation within nodes (splitting images into tiles processed by multiple cores) and coarse-grained segmentation across nodes (distributing entire images with different parameters). This hierarchical segmentation allows compute-intensive operations to remain local while minimizing inter-node communication.
Solution Approach 2:
The patent introduces a new dimension of parallelism by distributing not just data (image tiles) but also computational parameters (such as shift values in stereo vision) across nodes. This parameter-based distribution creates an additional parallelization dimension that reduces synchronization requirements while maintaining computational efficiency.
2Productivity
If fine-grained parallelism is extended across multiple nodes, then compute throughput is improved, but synchronization overhead becomes a significant bottleneck
Solution Approach 1:
The patent introduces aggregation networks as intermediary structures that coordinate communication between nodes. These aggregation networks (including tree-based and shuffle-based approaches) serve as mediators that manage data aggregation and parameter distribution, reducing the direct synchronization burden on individual compute nodes.
3Productivity
If data is moved frequently between nodes for parallel processing, then computation parallelism is improved, but the data movement-to-compute ratio becomes too high to hide latency
Solution Approach 1:
The patent changes the fundamental parameter being distributed across nodes from data (image tiles) to computational parameters (such as shift values, search ranges, or algorithmic variants). This parameter change reduces the volume of data movement by orders of magnitude while maintaining the ability to achieve parallelism through different parameter assignments.
Data Source
AI summary
Techniques described herein provide methods and systems for scalable distribution of computer vision workloads. In an embodiment, a method comprises receiving, at each of a first node and a second node of a distributed system of nodes, two images. The first image comprises a first set of pixels and the second image comprising a second set of pixels. The method further comprises shifting, at the first node, each pixel of the first set of pixels of the first image in a uniform direction by a first number of pixels to form a first shifted image and shifting, at the second node, each pixel of the first set of pixels of the first image in the uniform direction by a second number of pixels to form a second shifted image. The second number of pixels is different from the first number of pixels. The method further comprises overlaying each of the first shifted image and the second shifted image with the second image, such that each pixel of the first shifted image and second shifted image has a corresponding pixel in the second image. The method further comprises creating, at the first node, a first disparity map that indicates, for each pixel of the first shifted image, a level of similarity between the pixel of the first shifted image and the corresponding pixel in the second image and creating, at the second node, a second disparity map that indicates, for each pixel of the second shifted image, a level of similarity between the pixel of the second shifted image and the corresponding pixel in the second image.


