van Dijk, T. and Laarman, A.W. and van de Pol, J.C.
Multi-Core BDD Operations for Symbolic Reachability.
In: 11th International Workshop on Parallel and Distributed Methods in verifiCation, PDMC 2012, 17 Sept. 2012, London, UK.
Electronic Notes in Theoretical Computer Science.
Full text available as:
This paper presents scalable parallel BDD operations for modern multi-core hardware. We aim at increasing the performance of reachability analysis in the context of model checking. Existing approaches focus on performing multiple independent BDD operations rather than parallelizing the BDD operations themselves. In the past, attempts at parallelizing BDD operations have been unsuccessful due to communication costs in shared memory.
We solved this problem by extending an existing lockless hashtable to support BDDs and garbage collection and by implementing a lockless memoization table. Using these lockless hashtables and the work-stealing framework Wool, we implemented a multi-core BDD package called Sylvan.
We provide the experimental results of using this multi-core BDD package in the framework of the model checker LTSmin. We measured the runtime of the reachability algorithm on several models from the BEEM model database on a 48-core machine, demonstrating speedups of over 30 for some models, which is a breakthrough compared to earlier work.
In addition, we improved the standard symbolic reachability algorithm to use a modified BDD operation that calculates the relational product and the variable substitution in one step. We show that this new algorithm improves the performance of symbolic reachability and decreases the memory requirements by up to 40%.
|Item Type:||Conference or Workshop Paper (Full Paper, Talk)|
|Research Group:||EWI-FMT: Formal Methods and Tools|
|Research Program:||CTIT-DSN: Dependable Systems and Networks|
|Research Project:||MADRID: Multi Core Decision Diagrams|
|Uncontrolled Keywords:||multi-core, decision diagram, BDD, parallel model checking, symbolic reachability, lockless hashtable, lossy hashtable,
memoization table, garbage collection, LTSmin, Sylvan, Wool
|Status:||Accepted for publication|
|Deposited On:||31 October 2012|
Export this item as:
To correct this item please ask your editor
Repository Staff Only: edit this item