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.
Article PDF
Similar content being viewed by others
Avoid common mistakes on your manuscript.
References
Cook, S.A.: The complexity of theorem proving procedures. In: 3rd ACM Symposium on Theory of Computing, pp. 151–158. Ohio (1971)
Braunstein A., Mézard M., Zecchina R.: Survey propagation: an algorithm for satisfiability. Random Struct. Algorithms 27(2), 201–226 (2005)
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
Biere, A., Heljanko, K., Junttila, T., Latvala, T., Schuppan, V.: Linear encodings of bounded LTL model checking. Logic. Method Computer Sci. 2, (2006)
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)
Davis M., Logemann G., Loveland D.: A machine program for theorem-proving. J. Assoc. Comput. Mach. 5, 394–397 (1962)
Bacchus, F., Winter, J.: Effective preprocessing with hyper-resolution and equality reduction. (Online). Available: citeseer.ist.psu.edu/bacchus03effective.html (2003)
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
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)
Vander-Swalmen, P., Dequen, G., Krajecki, M.: On multi-threaded satisfiability solving with openmp. In: IWOMP, pp. 146–157 (2008)
Hoos, H.H., Stützle, T.: Stochastic local search : foundations and applications (The Morgan Kaufmann Series in Artificial Intelligence). Morgan Kaufmann, September 2004
Dequen G., Dubois O.: An efficient approach to solving random-satproblems. J. Autom. Reasoning. 37(4), 261–276 (2006)
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)
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
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)
Chrabakh W., Wolski R.: Gridsat: design and implementation of a computational grid application. J. Grid Comput. 4(2), 177–193 (2006)
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)
Feldman, Y., Dershowitz, N., Hanna, Z.: Parallel multithreaded satisfiability solver: design and implementation (2004)
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)
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)
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)
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)
Wand, Y.T., Morris, R.J.: Load sharing in distributed systems. IEEE Trans. Computers 202–217 (1985)
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
Author information
Authors and Affiliations
Corresponding author
Rights 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
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10766-009-0097-6