Efficient implementation of a BDD package
DAC '90 Proceedings of the 27th ACM/IEEE Design Automation Conference
Symbolic Boolean manipulation with ordered binary-decision diagrams
ACM Computing Surveys (CSUR)
Efficient breadth-first manipulation of binary decision diagrams
ICCAD '94 Proceedings of the 1994 IEEE/ACM international conference on Computer-aided design
High performance BDD package by exploiting memory hierarchy
DAC '96 Proceedings of the 33rd annual Design Automation Conference
Implementation of an efficient parallel BDD package
DAC '96 Proceedings of the 33rd annual Design Automation Conference
Proceedings of the 1996 IEEE/ACM international conference on Computer-aided design
Breadth-first manipulation of very large binary-decision diagrams
ICCAD '93 Proceedings of the 1993 IEEE/ACM international conference on Computer-aided design
Parallel breadth-first BDD construction
PPOPP '97 Proceedings of the sixth ACM SIGPLAN symposium on Principles and practice of parallel programming
Streaming BDD manipulation for large-scale combinatorial problems
Proceedings of the conference on Design, automation and test in Europe
A Scalable Parallel Algorithm for Reachability Analysis of Very Large Circuits
Formal Methods in System Design
Binary decision diagrams on network of workstation
ICCD '96 Proceedings of the 1996 International Conference on Computer Design, VLSI in Computers and Processors
Boolean Function Manipulation on a Parallel System Using BDDs
HPCN Europe '97 Proceedings of the International Conference and Exhibition on High-Performance Computing and Networking
BDDNOW: A Parallel BDD Package
FMCAD '98 Proceedings of the Second International Conference on Formal Methods in Computer-Aided Design
Dynamic reordering in a breadth-first manipulation based BDD package: challenges and solutions
ICCD '97 Proceedings of the 1997 International Conference on Computer Design (ICCD '97)
Proceedings of the 42nd annual Design Automation Conference
Application of Wu's method to symbolic model checking
Proceedings of the 2005 international symposium on Symbolic and algebraic computation
Distributed dynamic BDD reordering
Proceedings of the 43rd annual Design Automation Conference
Evolutionary-Reduced Ordered Binary Decision Diagram
AMS '09 Proceedings of the 2009 Third Asia International Conference on Modelling & Simulation
Roomy: a system for space limited computations
Proceedings of the 4th International Workshop on Parallel and Symbolic Computation
Achieving speedups in distributed symbolic reachability analysis through asynchronous computation
CHARME'05 Proceedings of the 13 IFIP WG 10.5 international conference on Correct Hardware Design and Verification Methods
Improving the efficiency of BDD-based operators by means of partitioning
IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems
Roomy: a system for space limited computations
Proceedings of the 4th International Workshop on Parallel and Symbolic Computation
An efficient programming model for memory-intensive recursive algorithms using parallel disks
Proceedings of the 37th International Symposium on Symbolic and Algebraic Computation
Hi-index | 0.00 |
Binary Decision Diagrams (BDDs) are widely used in formal verification. They are also widely known for consuming large amounts of memory. For larger problems, a BDD computation will often start thrashing due to lack of memory within minutes. This work uses the parallel disks of a cluster or a SAN (storage area network) as an extension of RAM, in order to efficiently compute with BDDs that are orders of magnitude larger than what is available on a typical computer. The use of parallel disks overcomes the bandwidth problem of single disk methods, since the bandwidth of 50 disks is similar to the bandwidth of a single RAM sub-system. In order to overcome the latency issues of disk, the Roomy library is used for the sake of its latency-tolerant data structures. A breadth-first algorithm is implemented. A further advantage of the algorithm is that RAM usage can be very modest, since its largest use is as buffers for open files. The success of the method is demonstrated by solving the 16-queens problem, and by solving a more unusual problem --- counting the number of tie games in a three-dimensional 4x4x4 tic-tac-toe board.