Parallel Graph Search via Edge Partitioning
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
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
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.
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.
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
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.
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.
Data Source
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.


