Parallel Maximal Independent Set Identification on GPU

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

VSEngineering Contradiction Analysis

1Reliability

If sequential approaches are used to determine maximal independent sets, then correctness is ensured, but computation time increases significantly

Engineering Contradiction:
ImprovecorrectnessVSAvoidcomputation time
Core Design Contradiction:
ReliabilityVSLoss of time

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.

Inventive Principle:
Principle #1Segmentation

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.

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

2Productivity

If parallel approaches are used to identify maximal independent sets, then computation speed improves, but synchronization overhead increases

Engineering Contradiction:
Improvecomputation speedVSAvoidsynchronization overhead
Core Design Contradiction:
ProductivityVSDevice complexity

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.

Inventive Principle:
Principle #10Preliminary action

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.

Inventive Principle:
Principle #2Taking out (Extraction)

3Measurement precision

If priority values are assigned to all vertices, then better independent sets are identified, but memory usage increases

Engineering Contradiction:
Improveindependent set qualityVSAvoidmemory usage
Core Design Contradiction:
Measurement precisionVSQuantity of substance

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.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS10599638B2System and method for identifying maximal independent sets in parallel
Publication Date: 2020.03.24 THE TEXAS STATE UNIV SAN MARCOS
  • US10599638B2 patent drawing
  • US10599638B2 patent drawing
  • US10599638B2 patent drawing

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.