Skip to main content
Log in

A Collaborative Approach for Multi-Threaded SAT Solving

  • Published:
International Journal of Parallel Programming Aims and scope Submit manuscript

Abstract

The last decade progresses have led the Satisfiability Problem (sat) to be a great and competitive practical approach to solve a wide range of industrial and academic problems. Thanks to these progresses, the size and difficulty of the sat instances has grown significantly. Among the recent solvers, a few are parallel and most of them use the message passing paradigm. In a previous work by Vander-Swalmen et al. (IWOMP, 146–157, 2008), we presented a fine grain parallel sat solver designed for shared memory using OpenMP and named mtss, for Multi Threaded Sat Solver. mtss extends the “guiding path” notion and uses a collaborative approach where a rich thread is in charge of the search-tree evaluation and where a set of poor threads yield logical or heuristics information to simplify the rich task. In this paper, we extend the poor thread abilities of mtss and present extensive comparative results on random 3-sat problems. These new experimentations show that fine grained techniques associated to poor tasks within the framework of mtss can achieve very interesting speedup on multi-core processors.

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. Cook, S.A.: The complexity of theorem proving procedures. In: 3rd ACM Symposium on Theory of Computing, pp. 151–158. Ohio (1971)

  2. Braunstein A., Mézard M., Zecchina R.: Survey propagation: an algorithm for satisfiability. Random Struct. Algorithms 27(2), 201–226 (2005)

    Article  MATH  Google Scholar 

  3. Kautz, H., Selman, B.: Pushing the envelope: planning, propositional logic and stochastic search. In: Proceedings of the 30th National Conference on Artificial Intelligence and the 8th Innovative Applications of Artificial Intelligence Conference, pp. 1194–1201. AAAI Press / MIT Press, Menlo Park, 4–8 August 1996

  4. Biere, A., Heljanko, K., Junttila, T., Latvala, T., Schuppan, V.: Linear encodings of bounded LTL model checking. Logic. Method Computer Sci. 2, (2006)

  5. Potlapally N.R., Raghunathan A., Ravi S., Jha N.K., Lee R.B.: Aiding side-channel attacks on cryptographic software with satisfiability-based analysis. IEEE Trans. VLSI Syst. 15(4), 465–470 (2007)

    Article  Google Scholar 

  6. Davis M., Logemann G., Loveland D.: A machine program for theorem-proving. J. Assoc. Comput. Mach. 5, 394–397 (1962)

    MATH  MathSciNet  Google Scholar 

  7. Bacchus, F., Winter, J.: Effective preprocessing with hyper-resolution and equality reduction. (Online). Available: citeseer.ist.psu.edu/bacchus03effective.html (2003)

  8. Zhang, L., Madigan, C., Moskewicz, M., Malik, S.: Efficient conflict driven learning in a boolean satisfiability solver. In: Proceedings of ICCAD, San Jose, Nov 2001

  9. Habbas, Z., Krajecki, M., Singer, D.: Decomposition techniques for parallel resolution of constraint satisfaction problems in shared memory: a comparative study. Intern. J. Comput. Sci. Eng. (IJCSE). 1(2/3/4):192–206, inderscience Publishers, ISSN : 1742–7185 (2005)

  10. Vander-Swalmen, P., Dequen, G., Krajecki, M.: On multi-threaded satisfiability solving with openmp. In: IWOMP, pp. 146–157 (2008)

  11. Hoos, H.H., Stützle, T.: Stochastic local search : foundations and applications (The Morgan Kaufmann Series in Artificial Intelligence). Morgan Kaufmann, September 2004

  12. Dequen G., Dubois O.: An efficient approach to solving random-satproblems. J. Autom. Reasoning. 37(4), 261–276 (2006)

    Article  MATH  MathSciNet  Google Scholar 

  13. Zhang H., Bonacina M.P., Hsiang J.: Psato: a distributed propositional prover and its application to quasigroup problems. J. Symb. Comput. 21(4–6), 543–560 (1996)

    Article  MATH  MathSciNet  Google Scholar 

  14. Jurkowiak, B., Li, C.M., Utard, G.: Parallelizing Satz using dynamic workload balancing. In: Proceedings of Workshop on Theory and Application of Satisfiability Testing (Sat’2001), pp. 205–211. Boston, June 2001

  15. Mitchell, D., Selman, B., Levesque, H.J.: Hard and easy distribution of SAT problems. In: Proceedings of 10th National Conference on Artificial Intelligence, pp. 459–465. AAAI (1992)

  16. Chrabakh W., Wolski R.: Gridsat: design and implementation of a computational grid application. J. Grid Comput. 4(2), 177–193 (2006)

    Article  MATH  Google Scholar 

  17. Singer, D., Monnet, A.: JaCk-SAT: A new parallel scheme to solve the satisfiability problem (SAT) based on join-and-check. In: Proceedings of Parallel Processing and Applied Mathematics, Gdansk, (2007)

  18. Feldman, Y., Dershowitz, N., Hanna, Z.: Parallel multithreaded satisfiability solver: design and implementation (2004)

  19. Lewis, M., Schubert, T., Becker, B.: Multithreaded sat solving. In: ASP-DAC ’07: Proceedings of the 2007 Conference on Asia South Pacific Design Automation, pp. 926–931. Washington, DC, USA: IEEE Computer Society (2007)

  20. Silva, J.P.M., Sakallah, K.A.: Grasp a new search algorithm for satisfiability. In: ICCAD ’96: Proceedings of the 1996 IEEE/ACM International Conference on Computer-aided design, pp. 220–227. Washington, DC, USA: IEEE Computer Society (1996)

  21. Chu, G., Stuckey, P.J.: Pminisat: a parallelization of minisat 2.0. Tech. Rep. (Online). Available: http://www-sr.informatik.uni-tuebingen.de/sat-race-2008/descriptions/solver_32.pdf (2008)

  22. Hamadi, Y., Jabbour, S., Sais, L.: Manysat a multicore sat solver (first rank at the sat race 2008 competition). Tech. Rep. (Online). Available: http://www-sr.informatik.uni-tuebingen.de/sat-race-2008/descriptions/solver_24.pdf (2008)

  23. Wand, Y.T., Morris, R.J.: Load sharing in distributed systems. IEEE Trans. Computers 202–217 (1985)

  24. Jaillet, C., Krajecki, M.: Parallel programming with openmp: a new memory allocation model avoiding cache faults. In: International Workshop on OpenMP 2007 (IWOMP2007). Tsinghua University, Beijing, China, jun 2007, short paper

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Pascal Vander-Swalmen.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Vander-Swalmen, P., Dequen, G. & Krajecki, M. A Collaborative Approach for Multi-Threaded SAT Solving. Int J Parallel Prog 37, 324–342 (2009). https://doi.org/10.1007/s10766-009-0097-6

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10766-009-0097-6

Keywords

Navigation