Advertisement

Efficient distributed SAT and SAT-based distributed Bounded Model Checking

  • Malay K. Ganai
  • Aarti Gupta
  • Zijiang Yang
  • Pranav Ashar
Special section on Recent Advances in Hardware Verifications

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%.

Keywords

BMC; SAT Distributed-SAT Parallel SAT Formal Verification Model Checking 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 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)Google Scholar
  2. 2.
    Clarke, E.M., Grumberg, O., Peled, D.: Model Checking. MIT Press (1999)Google Scholar
  3. 3.
    McMillan, K.L.: Symbolic Model Checking: An Approach to the State Explosion Problem. Kluwer Academic Publishers, Drodrecht (1993)Google Scholar
  4. 4.
    Bryant, R.E.: Graph-based algorithms for Boolean function manipulation. IEEE Trans. Comput. C-35(8), 677–691 (1986)Google Scholar
  5. 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)Google Scholar
  6. 6.
    Bjesse, P., Claessen, K.: SAT-based verification without state space traversal. In: Proceedings of Conference on Formal Methods in Computer-Aided Design (2000)Google Scholar
  7. 7.
    Ganai, M., Aziz, A.: Improved SAT-based bounded reachability analysis. In: Proceedings of VLSI Design Conference (2002)Google Scholar
  8. 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)Google Scholar
  9. 9.
    Marques-Silva, J.P., Sakallah, K.A.: GRASP: A search algorithm for propositional satisfiability. IEEE Trans. Comput. 48, 506–521 (1999)CrossRefMathSciNetGoogle Scholar
  10. 10.
    Zhang, H.: SATO: An efficient propositional prover. In: Proceedings of International Conference on Automated Deduction, LNAI, vol. 1249, pp. 272–275 (1997)Google Scholar
  11. 11.
    Moskewicz, M., Madigan, C., Zhao, Y., Zhang, L., Malik, S.: Chaff: Engineering an efficient SAT solver. In: Proceedings of Design Automation Conference (2001)Google Scholar
  12. 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)Google Scholar
  13. 13.
    Kuehlmann, A., Ganai, M., Paruthi, V.: Circuit-based Boolean reasoning. In: Proceedings of Design Automation Conference (2001)Google Scholar
  14. 14.
    Wah, B.W., Li, G.-J., Yu, C.F.: Multiprocessing of combinational search problems. IEEE Comput. 93–108 (1985)Google Scholar
  15. 15.
    Zhang, H., Bonacina, M.P., Hsiang, J.: PSATO: A distributed propositional prover and its application to quasigroup problems. J. Symbol. Comput. (1996)Google Scholar
  16. 16.
    Zhao, Y.: Accelerating Boolean satisfiability through application specific processing. Ph.D. thesis, Princeton (2001)Google Scholar
  17. 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)Google Scholar
  18. 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)Google Scholar
  19. 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)Google Scholar
  20. 20.
    Stern, U., Dill, D.L.: Parallelizing the Murphi Verifier. In: Presented at Computer-Aided Verification (1997)Google Scholar
  21. 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)Google Scholar
  22. 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)Google Scholar
  23. 23.
    Yadgar, A.: Parallel SAT solving for model checking. ww.cs.technion.ac.il/∼yadgar/Research/research.pdf (2002)Google Scholar
  24. 24.
    Davis, M., Longeman, G., Loveland, D.: A machine program for theorem proving. Commun. ACM 5, 394–397 (1962)CrossRefGoogle Scholar
  25. 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)Google Scholar
  26. 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)Google Scholar
  27. 27.
    Hasegawa, A., Matsuoka, H., Nakanishi, K.: Clustering software for Linux-based HPC. NEC Res. Dev. 44(1), 60–63 (2003)Google Scholar

Copyright information

© Springer-Verlag 2006

Authors and Affiliations

  • Malay K. Ganai
    • 1
  • Aarti Gupta
    • 1
  • Zijiang Yang
    • 1
  • Pranav Ashar
    • 1
  1. 1.NEC Laboratories AmericaPrincetonUSA

Personalised recommendations