Parallel Graph Search via Edge Partitioning

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing parallel graph search algorithms face inefficiencies due to high communication overhead and inability to exploit problem-specific structures, particularly in cases lacking intrinsic locality, leading to suboptimal performance in large-scale parallel searches.

Innovation Solution

The method employs state-space abstraction and edge partitioning to construct an abstract representation of the graph, allowing for parallel node expansion with reduced synchronization overhead by grouping edges and assigning operator groups to processing units, enabling efficient duplicate detection and scalability even in graphs without inherent locality.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If traditional duplicate detection methods using global Open and Closed lists are used in parallel graph search, then duplicate detection accuracy is improved, but communication and synchronization overhead increases significantly

Engineering Contradiction:
Improveduplicate detection accuracyVSAvoidcommunication and synchronization overhead
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent divides the global Open and Closed lists into multiple partitions, each assigned to different processing units. This segmentation allows parallel duplicate detection without requiring all processors to synchronize on a single global list, thereby reducing communication overhead while maintaining duplicate detection accuracy through localized partition checks.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces partition identifiers and mapping structures as intermediaries that enable processors to determine which partition a generated node belongs to without global synchronization. This intermediary mechanism allows processors to independently route nodes to appropriate partitions, reducing the need for frequent communication and synchronization.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If general purpose hash functions are used to distribute search nodes among multiple processors, then load distribution is improved, but problem-specific structures cannot be exploited and communication overhead increases

Engineering Contradiction:
Improveload distributionVSAvoidcommunication overhead
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent employs locality-preserving hash functions that map spatially close nodes in the search graph to nearby processors. This local quality approach ensures that nodes generated by a processor tend to remain on the same or adjacent processors, reducing the need for inter-processor communication while maintaining good load distribution across the parallel system.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The patent modifies the hash function parameters to be problem-specific rather than using general-purpose hash functions. By adjusting the hash function to exploit problem structure (such as using domain-specific features or constraints), the system achieves better load distribution while reducing communication overhead through improved locality preservation.

Inventive Principle:
Principle #35Parameter changes

3Speed

If duplicates are ignored in parallel graph search to reduce communication overhead, then processing speed is improved, but search completeness deteriorates in graphs with multiple paths

Engineering Contradiction:
Improveprocessing speedVSAvoidsearch completeness
Core Design Contradiction:
SpeedVSReliability

Solution Approach 1:

The patent segments the search space into multiple partitions assigned to different processors. Each processor performs complete duplicate detection within its assigned partition, ensuring search completeness for nodes within that partition. The segmentation allows processors to work independently without requiring constant global synchronization, maintaining both speed and completeness.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements partial duplicate detection by checking for duplicates only within the local partition rather than globally across all processors. This partial action approach maintains search completeness for the partitioned search space while significantly reducing communication overhead, as processors only need to communicate partition boundaries and completion signals rather than continuously synchronizing all generated nodes.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS9984327B2System and method for parallel graph searching utilizing parallel edge partitioning
Publication Date: 2018.05.29 GENESEE VALLEY INNOVATIONS LLC
  • US9984327B2 patent drawing
  • US9984327B2 patent drawing
  • US9984327B2 patent drawing

AI summary

A method and system for performing a graph search, includes constructing an abstract representation of the graph using state-space abstraction. The abstract representation of the graph includes one or more abstract nodes having duplicate detection scopes and one or more abstract edges having operator groups. The duplicate detection scopes of the abstract nodes are partitioned into smaller duplicate detection scopes using edge partitioning. The abstract edges include the smaller duplicate detection scopes. Nodes in the current search layer are expanded using the operator groups of outgoing abstract edges of the abstract nodes the nodes map to. The operator groups associated with abstract edges having disjoint duplicate detection scopes are used to expand the nodes in parallel. Once all the operator groups in the current search layer have been used for node expansion the method progresses to the next search layer.