Abstract
This paper presents a scalable method for parallelizing symbolic reachability analysis on a distributed-memory environment of workstations. We have developed an adaptive partitioning algorithm that significantly reduces space requirements. The memory balance is maintained by dynamically repartitioning the state space throughout the computation. A compact BDD representation allows coordination by shipping BDDs from one machine to another. This representation allows for different variable orders in the sending and receiving processes. The algorithm uses a distributed termination protocol, with none of the memory modules preserving a complete image of the set of reachable states. No external storage is used on the disk. Rather, we make use of the network, which is much faster.
We implemented our method on a standard, loosely-connected environment of workstations, using a high-performance model checker. Initial performance evaluation of several large circuits shows that our method can handle models too large to fit in the memory of a single node. The partitioning algorithm achieves reduction in space, which is linear in the number of workstations employed. A corresponding decrease in space requirements is measured throughout the reachability analysis. Our results show that the relatively slow network does not become a bottleneck, and that computation time is kept reasonably small.
Similar content being viewed by others
References
P. Arunachalam and H. Oregon, “Distributed binary decision diagrams for verification of large circuits,” in Proceedings of the IEEE International Conference on Computer Design, IEEE Computer Society Press, 1996, pp. 365-370.
S. Basonov, “Parallel implementation of BDD on DSM systems,” M.Sc. Thesis, Computer Science Department, Technion, 1998.
I. Beer, S. Ben-David, C. Eisner, and A. Landver, “Rulebase: An industry-oriented formal verification tool,” in 33rd Design Automation Conference, 1996, pp. 655-660.
I. Beer, S. Ben-David, and A. Landver, “On-the-fly model checking of RCTL formulas,” in Proc. of the 10th International Conference on Computer Aided Verification, LNCS, Vol. 818, Springer-Verlag, Berlin, 1998, pp. 184-194.
A.D. Birrell and B.J. Nelson, “Implementing remote procedure calls,” in Proceedings of the ACM Symposium on Operating System Principles, Bretton Woods, NH, 1983, p. 3. Association for Computing Machinery.
R.E. Bryant, “Graph-based algorithms for boolean function manipulation,” IEEE Transactions on Computers, Vol. C-35, No. 8, pp. 677-691, 1986.
G. Cabodi, P. Camurati, and S. Quer, “Improving the efficient of BDD-based operators by means of partitioning,” IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, Vol. 18, No. 5, pp. 545-556, 1999.
G. Cabodi, P. Camurati, and S. Quer, “Improved reachability analysis of large FSM,” in Proceedings of the IEEE International Conference on Computer Aided Design, IEEE Computer Society Press, Los Alamitos, CA, 1996, pp. 354-360.
O. Coudert, J.C. Madre, and C. Berthet, “Verifying temporal properties of sequential machines without building their state diagrams,” in R. Kurshan and E.M. Clarke (Eds.), Workshop on Computer Aided Verification, DIMACS, LNCS, Vol. 531, Springer-Verlag, New Brunswick, NJ, 1990, pp. 23-32.
R. Fraer, G. Kamhi, B. Ziv, M.Y. Vardi, and L. Fix, “Prioritized traversal: Efficient reachability analysis for verification and falsification,” in Proc. of the 12th International Conference on Computer Aided Verification, Springer-Verlag, 2000.
J. Jain, J. Bitner, J.A. Abraham, and D.S. Fussel, “Functional partitioning for verification and related problems,” in Proc. Brown/MIT VLSI Conference, 1992, pp. 210-226.
K.L. McMillan, Symbolic Model Checking: An Approach to the State Explosion Problem. Kluwer Academic Publishers, New York, 1993.
A. Narayan, A. Isles, J. Jain, R. Brayton, and A.L. Sangiovanni-Vincentelli, “Reachability analysis using partitioned-ROBDDs,” in Proceedings of the IEEE International Conference on Computer Aided Design, IEEE Computer Society Press, Los Alamitos, CA, 1997, pp. 388-393.
A. Narayan, J. Jain, M. Fujita, and A.L. Sangiovanni-Vincentelli, “Partitioned-ROBDDs,” in Proceedings of the IEEE International Conference on Computer Aided Design, IEEE Computer Society Press, Los Alamitos, CA, 1996, pp. 547-554.
R.K. Ranjan, J.V. Sanghavi, R.K. Brayton, and A. Sangiovanni-Vincentelli, “Binary decision diagrams on network of workstations,” in Proceedings of the IEEE International Conference on Computer Design, IEEE Computer Society Press, Los Alamitos, CA, 1996, pp. 358-364.
U. Stern and D.L. Dill, “Parallelizing the murphy verifier,” in Proc. of the 9th International Conference on Computer Aided Verification, LNCS, Vol. 1254, Springer-Verlag, Berlin, 1997, pp. 256-267.
T. Stornetta and F. Brewer, “Implementation of an efficient parallelBDDpackage,” in 33rd Design Automation Conference, IEEE Computer Society Press, Los Alamitos, CA, 1996.
Author information
Authors and Affiliations
Rights and permissions
About this article
Cite this article
Heyman, T., Geist, D., Grumberg, O. et al. A Scalable Parallel Algorithm for Reachability Analysis of Very Large Circuits. Formal Methods in System Design 21, 317–338 (2002). https://doi.org/10.1023/A:1020373206491
Issue Date:
DOI: https://doi.org/10.1023/A:1020373206491