Parallel Model Checking via Structured Duplicate Detection
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing model checking techniques face challenges in efficiently verifying asynchronous systems due to large configuration spaces, high memory requirements, and conservative partial-order reduction, leading to slow performance and increased memory usage, especially when using multi-core processors and external storage.
Innovation Solution
The implementation of Parallel Structured Duplicate Detection (PSDD) technique, which uses a homomorphic abstraction to create an abstract representation of the state space, allowing immediate duplicate detection and parallel processing, reducing memory usage and enabling efficient partial-order reduction, thereby improving search performance and speedup.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If exhaustive search algorithm is used to explore all reachable states, then completeness of verification is improved, but search time and memory usage become prohibitive
Solution Approach 1:
The patent divides the state space exploration into multiple independent worker threads that can operate in parallel. Each worker thread explores a portion of the state space simultaneously, allowing the verification process to utilize multi-core processors and significantly reduce total search time while maintaining completeness through coordinated duplicate detection.
Solution Approach 2:
The patent introduces an abstract representation of the state space that serves as an intermediary structure. This abstraction enables efficient duplicate detection across parallel worker threads by providing a condensed view of visited states, allowing workers to quickly determine whether to explore new states or skip already-visited portions without excessive communication overhead.
2Reliability
If exhaustive search algorithm is used to explore all reachable states, then completeness of verification is improved, but memory usage becomes prohibitive
Solution Approach 1:
The patent extracts only the essential information needed for duplicate detection into an abstract representation, rather than storing complete state details for every visited state. This abstraction significantly reduces memory requirements by keeping only the critical features necessary to identify duplicate states across parallel workers, while still maintaining verification completeness.
Solution Approach 2:
Each worker thread maintains its own local record of visited states in addition to the shared abstract representation. This local caching allows workers to quickly identify duplicates within their own exploration scope without requiring constant communication with other workers, reducing overall memory usage while maintaining exploration efficiency.
3Quantity of substance
If conservative partial-order reduction is applied, then memory usage is reduced, but search performance deteriorates
Solution Approach 1:
The patent implements a dynamic partial-order reduction strategy that adapts to the parallel execution context. Rather than applying fixed conservative rules, the system dynamically determines which transitions can be reduced based on the current state of parallel exploration and the abstract representation, allowing aggressive reduction when safe and falling back to more conservative approaches when necessary, thus maintaining both memory efficiency and search performance.
4Productivity
If parallel processing is implemented, then search speedup is achieved, but duplicate detection complexity increases
Solution Approach 1:
The abstract representation serves as an intermediary structure that simplifies duplicate detection in the parallel setting. Instead of requiring complex communication and coordination between worker threads to detect duplicates, each worker can independently query the abstract representation to determine whether a state has been visited, significantly reducing the complexity of parallel duplicate detection while maintaining accuracy.
Data Source
AI summary
A technique for parallelizing model checking using breadth-first search in order to detect deadlocks and safety property violations is disclosed. The technique is based on Parallel Structured Duplicate Detection (PSDD) and preserves a model checker's ability to perform partial order reduction with parallel breadth-first search. PSDD also uses much less memory and is able to achieve better parallel speedup and verify models more quickly. Also, PSDD used herein is able to make use of external memory, such as hard disks, to reduce the memory requirements of verification.


