Superlinear Speedup in Parallel State-Space Search
Proceedings of the Eighth Conference on Foundations of Software Technology and Theoretical Computer Science
Linear hashing: a new tool for file and table addressing
VLDB '80 Proceedings of the sixth international conference on Very Large Data Bases - Volume 6
The Design of a Multicore Extension of the SPIN Model Checker
IEEE Transactions on Software Engineering
A Stack-Slicing Algorithm for Multi-Core Model Checking
Electronic Notes in Theoretical Computer Science (ENTCS)
A Database Approach to Distributed State Space Generation
Electronic Notes in Theoretical Computer Science (ENTCS)
Shared Hash Tables in Parallel Model Checking
Electronic Notes in Theoretical Computer Science (ENTCS)
DISC '08 Proceedings of the 22nd international symposium on Distributed Computing
Parallel sparse polynomial multiplication using heaps
Proceedings of the 2009 international symposium on Symbolic and algebraic computation
Introduction to Algorithms, Third Edition
Introduction to Algorithms, Third Edition
DiVinE 2.0: High-Performance Model Checking
HIBI '09 Proceedings of the 2009 International Workshop on High Performance Computational Systems Biology
The Art of Multiprocessor Programming
The Art of Multiprocessor Programming
Distributed verification: exploring the power of raw computing power
FMICS'06/PDMC'06 Proceedings of the 11th international workshop, FMICS 2006 and 5th international workshop, PDMC conference on Formal methods: Applications and technology
An embeddable virtual machine for state space generation
Proceedings of the 14th international SPIN conference on Model checking software
Scalable multi-core LTL model-checking
Proceedings of the 14th international SPIN conference on Model checking software
BEEM: benchmarks for explicit model checkers
Proceedings of the 14th international SPIN conference on Model checking software
CAV'06 Proceedings of the 18th international conference on Computer Aided Verification
LTSMIN: distributed and symbolic reachability
CAV'10 Proceedings of the 22nd international conference on Computer Aided Verification
Non-blocking hashtables with open addressing
DISC'05 Proceedings of the 19th international conference on Distributed Computing
Towards informed swarm verification
NFM'11 Proceedings of the Third international conference on NASA Formal methods
Multi-core LTSmin: marrying modularity and scalability
NFM'11 Proceedings of the Third international conference on NASA Formal methods
Parallel recursive state compression for free
Proceedings of the 18th international SPIN conference on Model checking software
Multi-core nested depth-first search
ATVA'11 Proceedings of the 9th international conference on Automated technology for verification and analysis
The VerCors project: setting up basecamp
PLPV '12 Proceedings of the sixth workshop on Programming languages meets program verification
MEMICS'11 Proceedings of the 7th international conference on Mathematical and Engineering Methods in Computer Science
Designing fast LTL model checking algorithms for many-core GPUs
Journal of Parallel and Distributed Computing
On parallel software verification using boolean equation systems
SPIN'12 Proceedings of the 19th international conference on Model Checking Software
Parallelizing the spin model checker
SPIN'12 Proceedings of the 19th international conference on Model Checking Software
Improved multi-core nested depth-first search
ATVA'12 Proceedings of the 10th international conference on Automated Technology for Verification and Analysis
Multi-core reachability for timed automata
FORMATS'12 Proceedings of the 10th international conference on Formal Modeling and Analysis of Timed Systems
Multi-core emptiness checking of timed Büchi automata using inclusion abstraction
CAV'13 Proceedings of the 25th international conference on Computer Aided Verification
SpinS: Extending LTSmin with Promela through SpinJa
Electronic Notes in Theoretical Computer Science (ENTCS)
Multi-Core BDD Operations for Symbolic Reachability
Electronic Notes in Theoretical Computer Science (ENTCS)
Hi-index | 0.00 |
This paper focuses on data structures for multi-core reachability, which is a key component in model checking algorithms and other verification methods. A cornerstone of an efficient solution is the storage of visited states. In related work, static partitioning of the state space was combined with thread-local storage. This solution leaves room for improvements. This paper presents a solution with a shared state storage. It is based on a lockless hash table implementation and scales better. The solution is specifically designed for the cache architecture of modern CPUs. Because model checking algorithms impose loose requirements on the hash table operations, their design can be streamlined substantially compared to related work on lockless hash tables. The resulting speedups are analyzed and compared with related tools. Our implementation outperforms two state-of-the-art multi-core model checkers, SPIN (presented at FMCAD 2006) and DiVinE, by a large margin, while placing fewer constraints on the load balancing and search algorithms.