Parallel Maximal Independent Set Identification on GPU
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current methods for identifying maximal independent sets in parallel computing are inefficient, particularly in high-performance computing environments, where determining maximal independent sets is NP-hard and often requires sequential approaches that are time-consuming and resource-intensive.
Innovation Solution
A method and system that utilize a processor with multiple processing elements to access and process undirected graphs by assigning initial priority values to vertices based on their degree and average degree, determining which vertices to include in a maximal independent set by comparing priority values, and recording status indications in memory to identify vertices for inclusion or exclusion from the set, allowing for parallel and asynchronous processing.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If sequential approaches are used to determine maximal independent sets, then correctness is ensured, but computation time increases significantly
Solution Approach 1:
The patent divides the graph into multiple partitions and assigns each partition to a separate processing element. Each processing element independently computes maximal independent sets for its assigned vertices, enabling parallel execution while maintaining correctness through systematic combination of results from all partitions.
Solution Approach 2:
The patent transitions from sequential single-processor computation to parallel multi-processor computation by adding the dimension of concurrency. Multiple processing elements operate simultaneously on different vertex partitions, transforming the computational model from O(n) sequential time to O(log n) or O(1) parallel time complexity.
2Productivity
If parallel approaches are used to identify maximal independent sets, then computation speed improves, but synchronization overhead increases
Solution Approach 1:
The patent performs preliminary actions by pre-partitioning the graph vertices into disjoint sets and pre-assigning them to processing elements before parallel computation begins. This upfront organization eliminates the need for complex runtime synchronization, as each processing element operates independently on its assigned partition without requiring coordination with others.
Solution Approach 2:
The patent extracts and removes the synchronization requirement entirely from the parallel computation model. By partitioning the vertex set V into disjoint subsets V1, V2, ..., Vp and assigning each to a separate processing element, the invention eliminates inter-processor synchronization overhead, allowing truly independent parallel execution.
3Measurement precision
If priority values are assigned to all vertices, then better independent sets are identified, but memory usage increases
Solution Approach 1:
The patent applies local quality by assigning priority values selectively based on local graph properties. Each vertex receives a priority value derived from its degree and the average degree of its partition, enabling quality independent set identification while using minimal memory—only storing necessary priority information locally at each processing element rather than globally.
Data Source
AI summary
A method for identifying maximal independent sets in parallel may include, on a processor, accessing data representing an undirected graph, generating a respective initial priority value for each vertex, dependent on the vertex degree and an average degree for vertices in the graph, and recording an indication of the initial priority value for each vertex. The method may include determining, for multiple vertices, that no neighbor vertex has a priority value that is higher than that of the vertex. In response, the method may include recording respective indications that each neighbor vertex connected is not to be included in a maximal independent set for the undirected graph and recording an indication that the vertex is to be included in the maximal independent set. The determinations and recordings may be performed in parallel by respective processing elements of the processor. The processor may be a GPU.


