Distributed Computer Vision Framework Using Hybrid Parallelism

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improveparallel computation capabilityVSAvoidnetwork communication latency
Core Design Contradiction:
ProductivityVSLoss of time

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.

Inventive Principle:
Principle #1Segmentation

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.

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

2Productivity

If fine-grained parallelism is extended across multiple nodes, then compute throughput is improved, but synchronization overhead becomes a significant bottleneck

Engineering Contradiction:
Improvecompute throughputVSAvoidsynchronization overhead
Core Design Contradiction:
ProductivityVSDevice complexity

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

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

Engineering Contradiction:
Improvecomputation parallelismVSAvoiddata movement efficiency
Core Design Contradiction:
ProductivityVSLoss of energy

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.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS10630957B2Scalable distributed computation framework for data-intensive computer vision workloads
Publication Date: 2020.04.21 ORACLE INT CORP
  • US10630957B2 patent drawing
  • US10630957B2 patent drawing
  • US10630957B2 patent drawing

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.