Skip to main content
Log in

Efficient distributed SAT and SAT-based distributed Bounded Model Checking

  • Special section on Recent Advances in Hardware Verifications
  • Published:
International Journal on Software Tools for Technology Transfer Aims and scope Submit manuscript

Abstract

SAT-based Bounded Model Checking (BMC), though a robust and scalable verification approach, still is computationally intensive, requiring large memory and time. Even with the recent development of improved SAT solvers, the memory limitation of a single server rather than time can become a bottleneck for doing deeper BMC search for large designs. Distributing computing requirements of BMC over a network of workstations can overcome the memory limitation of a single server, albeit at increased communication cost. In this paper, we present (a) a method for distributed SAT over a network of workstations using a Master/Client model where each Client workstation has an exclusive partition of the SAT problem and uses knowledge of partition topology to communicate with other Clients, (b) a method for distributing SAT-based BMC using the distributed SAT. For the sake of scalability, at no point in the BMC computation does a single workstation have all the information. We experimented on a network of heterogeneous workstations interconnected with a standard Ethernet LAN. To illustrate, on an industrial design with ∼13 K FFs and ∼0.5 million gates, the non-distributed BMC on a single workstation (with 4 GB memory) ran out of memory after reaching a depth of 120; on the other hand, our SAT-based distributed BMC over 5 similar workstations was able to go up to 323 steps with a communication overhead of only 30%.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. Silburt, A., Evans, A., Vrckovik, G., Diufrensne, M., Brown, T.: Functional verification of ASICs in silicon intensive systems. Presented at DesignCon98 On-Chip System Design Conference (1998)

  2. Clarke, E.M., Grumberg, O., Peled, D.: Model Checking. MIT Press (1999)

  3. McMillan, K.L.: Symbolic Model Checking: An Approach to the State Explosion Problem. Kluwer Academic Publishers, Drodrecht (1993)

  4. Bryant, R.E.: Graph-based algorithms for Boolean function manipulation. IEEE Trans. Comput. C-35(8), 677–691 (1986)

    Google Scholar 

  5. Biere, A., Cimatti, A., Clarke, E.M., Fujita, M., Zhu, Y.: Symbolic model checking using SAT procedures instead of BDDs. In: Proceedings of the Design Automation Conference, pp. 317–320 (1999)

  6. Bjesse, P., Claessen, K.: SAT-based verification without state space traversal. In: Proceedings of Conference on Formal Methods in Computer-Aided Design (2000)

  7. Ganai, M., Aziz, A.: Improved SAT-based bounded reachability analysis. In: Proceedings of VLSI Design Conference (2002)

  8. Abdulla, P.A., Bjesse, P., Een, N.: Symbolic reachability analysis based on SAT-solvers. In: Proceedings of Workshop on Tools and Algorithms for the Analysis and Construction of Systems (TACAS) (2000)

  9. Marques-Silva, J.P., Sakallah, K.A.: GRASP: A search algorithm for propositional satisfiability. IEEE Trans. Comput. 48, 506–521 (1999)

    Article  MathSciNet  Google Scholar 

  10. Zhang, H.: SATO: An efficient propositional prover. In: Proceedings of International Conference on Automated Deduction, LNAI, vol. 1249, pp. 272–275 (1997)

  11. Moskewicz, M., Madigan, C., Zhao, Y., Zhang, L., Malik, S.: Chaff: Engineering an efficient SAT solver. In: Proceedings of Design Automation Conference (2001)

  12. Ganai, M., Zhang, L., Ashar, P., Gupta, A.: Combining strengths of circuit-based and CNF-based algorithms for a high performance SAT solver. In: Proceedings of the Design Automation Conference (2002)

  13. Kuehlmann, A., Ganai, M., Paruthi, V.: Circuit-based Boolean reasoning. In: Proceedings of Design Automation Conference (2001)

  14. Wah, B.W., Li, G.-J., Yu, C.F.: Multiprocessing of combinational search problems. IEEE Comput. 93–108 (1985)

  15. Zhang, H., Bonacina, M.P., Hsiang, J.: PSATO: A distributed propositional prover and its application to quasigroup problems. J. Symbol. Comput. (1996)

  16. Zhao, Y.: Accelerating Boolean satisfiability through application specific processing. Ph.D. thesis, Princeton (2001)

  17. Powley, C., Fergusion, C., Korf, R.: Parallel heuristic search: Two approaches. In: Kumar, V., Gopalakrishnan, P.S., Kanal, L.N. (eds.) Parallel Algorithms for Machine Intelligence and Vision. Springer-Verlag, New York (1990)

  18. Jurkowiak, B., Li, C.M., Utard, G.: Parallelizing Satz using dynamic workload balancing. In: Presented at Workshop on Theory and Applications of Satisfiability Testing (2001)

  19. Boehm, M., Speckenmeyer, E.: A fast parallel SAT-solver—Efficient workload balancing. In: Presented at Third International Symposium on Artificial Intelligence and Mathematics. Fort Lauderdale, Florida (1994)

  20. Stern, U., Dill, D.L.: Parallelizing the Murphi Verifier. In: Presented at Computer-Aided Verification (1997)

  21. Heyman, T., Geist, D., Grumberg, O., Schuster, A.: Achieving scalability in parallel reachability analysis of very large circuits. In: Presented at Computer-Aided Verification (2000)

  22. Narayan, A., Isles, A., Jain, J., Brayton, R., Sangiovanni-Vincentelli, A.L.: Reachability analysis using partitioned-ROBDDs. In: Presented at International Conference on Computer-Aided Design (1997)

  23. Yadgar, A.: Parallel SAT solving for model checking. ww.cs.technion.ac.il/∼yadgar/Research/research.pdf (2002)

  24. Davis, M., Longeman, G., Loveland, D.: A machine program for theorem proving. Commun. ACM 5, 394–397 (1962)

    Article  Google Scholar 

  25. Biere, A., Cimatti, A., Clarke, E.M., Zhu, Y.: Symbolic model checking without BDDs. In: Proceedings of Workshop on Tools and Algorithms for Analysis and Construction of Systems (TACAS), LNCS, vol. 1579 (1999)

  26. Sheeran, M., Singh, S., Stalmarck, G.: Checking safety properties using induction and a SAT solver. In: Proceedings of Conference on Formal Methods in Computer-Aided Design (2000)

  27. Hasegawa, A., Matsuoka, H., Nakanishi, K.: Clustering software for Linux-based HPC. NEC Res. Dev. 44(1), 60–63 (2003)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Malay K. Ganai.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Ganai, M.K., Gupta, A., Yang, Z. et al. Efficient distributed SAT and SAT-based distributed Bounded Model Checking. Int J Softw Tools Technol Transfer 8, 387–396 (2006). https://doi.org/10.1007/s10009-005-0203-z

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10009-005-0203-z

Keywords

Navigation