Parallel Edge Partitioning in AND/OR Graph Search
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing parallel graph searching techniques face challenges in efficiently scaling to larger problems due to issues with determining the size of the search graph and coordinating search efforts across multiple workers, leading to redundant work and increased communication overhead in non-deterministic planning environments like business process management.
Innovation Solution
The PEP-AO* method constructs an abstract representation of AND/OR graphs using state-space abstraction and edge partitioning, allowing for parallel searching by subdividing duplicate detection scopes and using outcome-adjusted operator groups to minimize redundancy and synchronization overhead.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If parallel graph searching is implemented using traditional techniques, then processing speed is improved, but communication overhead and redundant work increase
Solution Approach 1:
The search graph is divided into multiple partitions, each assigned to a different processing unit. Each partition maintains its own duplicate detection scope, eliminating the need for global synchronization and reducing communication overhead between processors while maintaining parallel processing speedup.
2Reliability
If the search graph size is increased to handle larger problems, then solution completeness is improved, but memory usage and coordination complexity increase
Solution Approach 1:
The search graph is divided into multiple partitions, each assigned to a different processing unit. Each partition maintains its own duplicate detection scope, eliminating the need for global synchronization and reducing communication overhead between processors while maintaining parallel processing speedup.
Solution Approach 2:
Each processing unit maintains local duplicate detection capabilities within its assigned partition rather than requiring global duplicate detection. This local approach reduces coordination complexity while ensuring that each processor can independently verify solutions within its scope, maintaining overall solution completeness.
3Measurement precision
If duplicate detection scope is expanded to ensure solution accuracy, then measurement precision is improved, but processing time and memory usage increase
Solution Approach 1:
The search graph is divided into multiple partitions, each assigned to a different processing unit. Each partition maintains its own duplicate detection scope, eliminating the need for global synchronization and reducing communication overhead between processors while maintaining parallel processing speedup.
Solution Approach 2:
The duplicate detection function is extracted from a centralized global mechanism and distributed to individual processing units operating on their own partitions. This extraction eliminates the bottleneck of global duplicate detection while maintaining accuracy within each partition's scope.
Data Source
AI summary
A method and system for searching a graph in parallel which constructs an abstract representation of an AND/OR 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 adjusted for AND node outcomes. The duplicate detection scopes of the abstract nodes are partitioned into smaller duplicate detection scopes using edge partitioning, wherein the abstract edges are used to define the smaller duplicate detection scopes. Nodes in the current search layer are expanded by a processing unit using the adjusted operator groups of outgoing abstract edges of the abstract nodes mapped into by the nodes, wherein the nodes expanded in parallel use adjusted operator groups associated with abstract edges having disjoint duplicate detection scopes. The method progresses to the next search layer once all the adjusted operator groups in the current search layer have been used for node expansions.


