Parallelizing modern SAT solvers for clusters such as Beowulf is an important challenge both in terms of performance scalability and stability. This paper describes a SAT Solver c-sat, a parallelization of MiniSat using MPI. It employs a layered master-worker architecture, where the masters handle lemma exchange, deletion of redundant lemmas and the dynamic partitioning of search trees, while the workers do search using different decision heuristics and random number seeds. With careful tuning, c-sat showed good speedup over MiniSat with reasonably small communication overhead on various clusters. On an eight-node cluster with two Dual-Core Opterons on each node (32 PEs), c-sat ran at least 23 times faster than MiniSat using 31 PEs (geometric mean; at least 31 times for satisfiable problems) for 189 large-scale problems from SAT Competition and two SAT-Races.


Execution Time Communication Overhead Total Runtime Total Execution Time Decision Heuristic 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Blochinger, W., Sinz, C., Küchlin, W.: Parallel Propositional Satisfiability Checking with Distributed Dynamic Learning. Parallel Computing 29, 969–994 (2003)CrossRefGoogle Scholar
  2. 2.
    Blochinger, W.: Towards Robustness in Parallel SAT Solving. In: Proc. ParCo 2005, John von Neumann Institute for Computing, pp. 301–308 (2006)Google Scholar
  3. 3.
    Eén, N., Sörensson, N.: An Extensible SAT-solver. In: Giunchiglia, E., Tacchella, A. (eds.) SAT 2003. LNCS, vol. 2919, pp. 502–518. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  4. 4.
    Gil, L., Flores, P., Silveira, L.M.: PMSat: a Parallel Version of MiniSAT. JSAT 6, 71–98 (2008)MathSciNetzbMATHGoogle Scholar
  5. 5.
    Hamadi, Y., Jabbour, S., Sais, L.: ManySat: Solver Description. Technical Report MSR-TR-2008-83, Microsoft Research (2008)Google Scholar
  6. 6.
    Hyvärinen, A., Junttila, T., Niemelä, I.: Incorporating Learning in Grid-Based Randomized SAT Solving. In: Dochev, D., Pistore, M., Traverso, P. (eds.) AIMSA 2008. LNCS, vol. 5253, pp. 247–261. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  7. 7.
    Inoue, K., Soh, T., Ueda, S., Sasaura, Y., Banbara, M., Tamura, N.: A Competitive and Cooperative Approach to Propositional Satisfiability. Discrete Applied Mathematics 154(16), 2291–2306 (2006)MathSciNetCrossRefzbMATHGoogle Scholar
  8. 8.
    Lewis, M., Schubert, T., Becker, B.: Multithreaded SAT Solving. In: Proc. 12th Asia and South Pacific Design Automation Conference, pp. 926–931 (2007)Google Scholar
  9. 9.
    Plaza, S., Kountainis, I., Andraus, Z., Bertacco, V., Mudge, T.: Advanced and Insights into Parallel SAT Solving. In: Proc. 15th Int. Workshop on Logic & Synthesis (IWLS 2006), pp. 188–194 (2006)Google Scholar
  10. 10.
  11. 11.
    Singer, D.: Parallel Resolution of the Satisfiability Problem: A Survey. In: Talbi, E.-G. (ed.) Parallel Combinatorial Optimization, ch. 5. Wiley, Chichester (2006)Google Scholar
  12. 12.
    Zhang, H.: On Subsumption Removal and On-the-Fly CNF Simplification. In: Bacchus, F., Walsh, T. (eds.) SAT 2005, vol. 3569, pp. 482–489. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  13. 13.
    Zhang, H., Bonacina, M.P., Hsiang, J.: PSATO: a Distributed Propositional Prover and Its Application to Quasigroup Problems. J. Symb. Comput. 21(4), 543–560 (1996)MathSciNetCrossRefzbMATHGoogle Scholar
  14. 14.
    Zhang, L., Malik, S.: The Quest for Efficient Boolean Satisfiability Solvers. In: Brinksma, E., Larsen, K.G. (eds.) CAV 2002. LNCS, vol. 2404, pp. 17–36. Springer, Heidelberg (2002)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2009

Authors and Affiliations

  • Kei Ohmura
    • 1
  • Kazunori Ueda
    • 1
  1. 1.Dept. of Computer Science and EngineeringWaseda UniversityTokyoJapan

Personalised recommendations