An overview of parallel SAT solving

Boolean satisfiability (SAT) solvers are currently very effective in practice. However, there are still many challenging problems for SAT solvers. Nowadays, extra computational power is no longer coming from higher processor frequencies. At the same time, multicore architectures are becoming predominant. Exploiting this new architecture is essential for the evolution of SAT solvers. Due to the increasing interest in parallel SAT solving, it is important to give an overview of what has been done so far. This paper presents an overview of parallel SAT solving and it is expected to be a valuable document for researchers in this field. This overview covers the main topics of parallel SAT solving, namely, different approaches and a variety of clause sharing strategies. Additionally, an evaluation of multicore SAT solvers is presented, showing the evolution of multicore SAT solvers over the last years.

[1]  Georg Ringwelski,et al.  Boosting distributed constraint satisfaction , 2011, J. Heuristics.

[2]  Nachum Dershowitz,et al.  Parallel Multithreaded Satisfiability Solver: Design and Implementation , 2005, PDMC.

[3]  Joao Marques-Silva,et al.  Lazy Decomposition for Distributed Decision Procedures , 2011, PDMC.

[4]  Leslie G. Valiant,et al.  NP is as easy as detecting unique solutions , 1985, STOC '85.

[5]  Lakhdar Sais,et al.  ManySAT: a Parallel SAT Solver , 2009, J. Satisf. Boolean Model. Comput..

[6]  Joao Marques-Silva,et al.  Using Randomization and Learning to Solve Hard Real-World Instances of Satisfiability , 2000, CP.

[7]  Armin Biere Lingeling, Plingeling, PicoSAT and PrecoSAT at SAT Race 2010 , 2010 .

[8]  Lawrence Ryan Efficient algorithms for clause-learning SAT solvers , 2004 .

[9]  Ewald Speckenmeyer,et al.  A fast parallel SAT-solver — efficient workload balancing , 2005, Annals of Mathematics and Artificial Intelligence.

[10]  Vasco M. Manquinho,et al.  Improving Search Space Splitting for Parallel SAT Solving , 2010, 2010 22nd IEEE International Conference on Tools with Artificial Intelligence.

[11]  Lakhdar Sais,et al.  Vivifying Propositional Clausal Formulae , 2008, ECAI.

[12]  Igor L. Markov,et al.  Low-latency SAT Solving on Multicore Processors with Priority Scheduling and XOR Partitioning , .

[13]  Krzysztof Kuchcinski,et al.  Combining parallel search and parallel consistency in constraint programming , 2010, CP 2010.

[14]  Sharad Malik,et al.  Chaff: engineering an efficient SAT solver , 2001, Proceedings of the 38th Design Automation Conference (IEEE Cat. No.01CH37232).

[15]  Yves Deville,et al.  A Distributed Arc-Consistency Algorithm , 1995, Sci. Comput. Program..

[16]  Gilles Audemard,et al.  Predicting Learnt Clauses Quality in Modern SAT Solvers , 2009, IJCAI.

[17]  Hector J. Levesque,et al.  A New Method for Solving Hard Satisfiability Problems , 1992, AAAI.

[18]  Bernd Becker,et al.  Picoso - A Parallel Interval Constraint Solver , 2009, PDPTA.

[19]  Peter J. Stuckey,et al.  PMiniSat - A parallelization of MiniSat 2.0 , 2008 .

[20]  Adnan Darwiche,et al.  On the power of clause-learning SAT solvers as resolution engines , 2011, Artif. Intell..

[21]  Armin Biere,et al.  PicoSAT Essentials , 2008, J. Satisf. Boolean Model. Comput..

[22]  Stephan Kottler,et al.  A parallel portfolio SAT solver with lockless physical clause sharing , 2011 .

[23]  Makoto Yokoo,et al.  Distributed constraint satisfaction for formalizing distributed problem solving , 1992, [1992] Proceedings of the 12th International Conference on Distributed Computing Systems.

[24]  Inês Lynce,et al.  Local Search for Unsatisfiability , 2006, SAT.

[25]  Lakhdar Sais,et al.  Deterministic Parallel DPLL , 2011, J. Satisf. Boolean Model. Comput..

[26]  Mary Sheeran,et al.  A Tutorial on Stålmarck's Proof Procedure for Propositional Logic , 2000, Formal Methods Syst. Des..

[27]  Sharad Malik,et al.  Cache Performance of SAT Solvers: a Case Study for Efficient Implementation of Algorithms , 2003, SAT.

[28]  Patrick Prosser,et al.  A Preliminary Review of Literature on Parallel Constraint Solving , 2011 .

[29]  Bernd Becker,et al.  Multithreaded SAT Solving , 2007, 2007 Asia and South Pacific Design Automation Conference.

[30]  Stephan Kottler,et al.  SAT Solving with Reference Points , 2010, SAT.

[31]  V. Jacobson,et al.  Congestion avoidance and control , 1988, CCRV.

[32]  Makoto Yokoo,et al.  Adopt: asynchronous distributed constraint optimization with quality guarantees , 2005, Artif. Intell..

[33]  Gilles Dequen,et al.  Toward Easy Parallel SAT Solving , 2009, 2009 21st IEEE International Conference on Tools with Artificial Intelligence.

[34]  Maria Paola Bonacina,et al.  PSATO: a Distributed Propositional Prover and its Application to Quasigroup Problems , 1996, J. Symb. Comput..

[35]  Oliver Vornberger,et al.  Distributed game tree search , 1990 .

[36]  Albert Oliveras,et al.  Practical algorithms for unsatisfiability proof and core generation in SAT solvers , 2010, AI Commun..

[37]  Bart Selman,et al.  Backdoors To Typical Case Complexity , 2003, IJCAI.

[38]  Kazunori Ueda,et al.  c-sat: A Parallel SAT Solver for Clusters , 2009, SAT.

[39]  Hantao Zhang,et al.  SATO: An Efficient Propositional Prover , 1997, CADE.

[40]  Bernd Becker,et al.  PaMiraXT: Parallel SAT Solving with Threads and Message Passing , 2009, J. Satisf. Boolean Model. Comput..

[41]  Bart Selman,et al.  Boosting Combinatorial Search Through Randomization , 1998, AAAI/IAAI.

[42]  Peter J. Stuckey,et al.  Cache Conscious Data Structures for Boolean Satisfiability Solvers , 2009, J. Satisf. Boolean Model. Comput..

[43]  Donald W. Loveland,et al.  A machine program for theorem-proving , 2011, CACM.

[44]  Gilles Dequen,et al.  A Collaborative Approach for Multi-Threaded SAT Solving , 2009, International Journal of Parallel Programming.

[45]  Youssef Hamadi,et al.  Disolver : A Distributed Constraint Solver , 2003 .

[46]  Simon Kasif,et al.  On the Parallel Complexity of Discrete Relaxation in Constraint Satisfaction Networks , 1990, Artif. Intell..

[47]  David Zuckerman,et al.  Optimal speedup of Las Vegas algorithms , 1993, [1993] The 2nd Israel Symposium on Theory and Computing Systems.

[48]  Toniann Pitassi,et al.  Clause Learning Can Effectively P-Simulate General Propositional Resolution , 2008, AAAI.

[49]  B A Huberman,et al.  Cooperative Solution of Constraint Satisfaction Problems , 1991, Science.

[50]  Eugene Goldberg A Decision-Making Procedure for Resolution-Based SAT-Solvers , 2008, SAT.

[51]  Sharad Malik,et al.  Validating SAT solvers using an independent resolution-based checker: practical implementations and other applications , 2003, 2003 Design, Automation and Test in Europe Conference and Exhibition.

[52]  Armin Biere,et al.  Effective Preprocessing in SAT Through Variable and Clause Elimination , 2005, SAT.

[53]  Inês Lynce,et al.  Efficient data structures for backtrack search SAT solvers , 2005, Annals of Mathematics and Artificial Intelligence.

[54]  J. P. Marques,et al.  GRASP : A Search Algorithm for Propositional Satisfiability , 1999 .

[55]  Wolfgang Küchlin,et al.  PaSAT - Parallel SAT-Checking with Lemma Exchange: Implementation and Applications , 2001, Electron. Notes Discret. Math..

[56]  Youssef Hamadi Optimal Distributed Arc-Consistency , 1999, CP.

[57]  Adnan Darwiche,et al.  A Lightweight Component Caching Scheme for Satisfiability Solvers , 2007, SAT.

[58]  Eugene Goldberg,et al.  BerkMin: A Fast and Robust Sat-Solver , 2002 .

[59]  Fabio Somenzi,et al.  On-the-Fly Clause Improvement , 2009, SAT.

[60]  Fahiem Bacchus,et al.  Effective Preprocessing with Hyper-Resolution and Equality Reduction , 2003, SAT.

[61]  Alan Bundy,et al.  Concurrent-distributed programming techniques for SAT using DPLL-stålmarck , 2009, 2009 International Conference on High Performance Computing & Simulation.

[62]  Inês Lynce,et al.  Conflict-Driven Clause Learning SAT Solvers , 2009, Handbook of Satisfiability.

[63]  Daniel Singer,et al.  JaCk-SAT: A New Parallel Scheme to Solve the Satisfiability Problem (SAT) Based on Join-and-Check , 2007, PPAM.

[64]  Ilkka Niemelä,et al.  A Distribution Method for Solving SAT in Grids , 2006, SAT.

[65]  Dhiraj K. Pradhan,et al.  Recursive Learning: An attractive alternative to the decision tree for test generation in digital ci , 1992, Proceedings International Test Conference 1992.

[66]  Lakhdar Sais,et al.  Diversification and Intensification in Parallel SAT Solving , 2010, CP.

[67]  Lintao Zhang On Subsumption Removal and On-the-Fly CNF Simplification , 2005, SAT.

[68]  Bernd Becker,et al.  PaMira - A Parallel SAT Solver with Knowledge Sharing , 2005, 2005 Sixth International Workshop on Microprocessor Test and Verification.

[69]  Wolfgang Küchlin,et al.  Parallel propositional satisfiability checking with distributed dynamic learning , 2003, Parallel Comput..

[70]  Allen Van Gelder Autarky Pruning in Propositional Model Elimination Reduces Failure Redundancy , 1999 .

[71]  Bart Selman,et al.  Local search strategies for satisfiability testing , 1993, Cliques, Coloring, and Satisfiability.

[72]  Wolfgang Blochinger Towards Robustness in Parallel SAT Solving , 2005, PARCO.

[73]  Youssef Hamadi,et al.  A Concurrent Portfolio Approach to SMT Solving , 2009, CAV.

[74]  Jack Dongarra,et al.  MPI: The Complete Reference , 1996 .

[75]  Bernd Becker,et al.  PaQuBE: Distributed QBF Solving with Advanced Knowledge Sharing , 2009, SAT.

[76]  Eugene Goldberg Determinization of Resolution by an Algorithm Operating on Complete Assignments , 2006, SAT.

[77]  Burkhard Monien,et al.  A Distributed Algorithm to Evaluate Quantified Boolean Formulae , 2000, AAAI/IAAI.

[78]  Lakhdar Sais,et al.  Control-Based Clause Sharing in Parallel SAT Solving , 2009, IJCAI.

[79]  Slawomir Pilarski,et al.  SAT with partial clauses and back-leaps , 2002, DAC '02.

[80]  Norbert Manthey Parallel SAT Solving-Using More Cores , 2011 .

[81]  Wolfgang Blochinger,et al.  Parallel SAT Solving on Peer-to-Peer Desktop Grids , 2010, 2010 International Conference on High Performance Computing & Simulation.

[82]  Hilary Putnam,et al.  A Computing Procedure for Quantification Theory , 1960, JACM.

[83]  Bernd Becker,et al.  QmiraXT - A Multithreaded QBF Solver , 2009, MBMV.

[84]  Makoto Yokoo,et al.  The Distributed Constraint Satisfaction Problem: Formalization and Algorithms , 1998, IEEE Trans. Knowl. Data Eng..

[85]  Daniel Singer Parallel Resolution of the Satisfiability Problem: A Survey , 2006 .

[86]  Paulo F. Flores,et al.  PMSat: a parallel version of MiniSAT , 2008, J. Satisf. Boolean Model. Comput..

[87]  Arnaud Lallouet,et al.  A Parallel Solving Algorithm for Quantified Constraints Problems , 2010, 2010 22nd IEEE International Conference on Tools with Artificial Intelligence.

[88]  Victor R. Lesser,et al.  Solving distributed constraint optimization problems using cooperative mediation , 2004, Proceedings of the Third International Joint Conference on Autonomous Agents and Multiagent Systems, 2004. AAMAS 2004..

[89]  Lakhdar Sais,et al.  A Generalized Framework for Conflict Analysis , 2008, SAT.

[90]  Krzysztof Kuchcinski,et al.  Load-balancing methods for parallel and distributed constraint solving , 2008, 2008 IEEE International Conference on Cluster Computing.

[91]  Gil Utard,et al.  Parallelizing Satz Using Dynamic Workload Balancing , 2001, Electron. Notes Discret. Math..

[92]  Youssef Hamadi,et al.  Improving Parallel Local Search for SAT , 2011, LION.

[93]  Youssef Hamadi Interleaved Backtracking in Distributed Constraint Networks , 2002, Int. J. Artif. Intell. Tools.

[94]  Lucas Bordeaux,et al.  Experiments with Massively Parallel Constraint Solving , 2009, IJCAI.

[95]  Sean Forman NagSAT; A Randomized Complete, Parallel Solver for 3-SAT , 2002 .

[96]  Peter J. Stuckey,et al.  Confidence-Based Work Stealing in Parallel Constraint Programming , 2009, CP.

[97]  Zaher S. Andraus,et al.  Advances and Insights into Parallel SAT Solving , .

[98]  Daniel Le Berre,et al.  The Sat4j library, release 2.2 , 2010, J. Satisf. Boolean Model. Comput..

[99]  Wolfgang Küchlin,et al.  ZetaSAT - Boolean SATisfiability solving on Desktop Grids , 2005, CCGrid 2005. IEEE International Symposium on Cluster Computing and the Grid, 2005..

[100]  Oliver Kullmann,et al.  Investigations on autark assignments , 2000, Discret. Appl. Math..

[101]  Niklas Sörensson,et al.  An Extensible SAT-solver , 2003, SAT.

[102]  Roberto J. Bayardo,et al.  Using CSP Look-Back Techniques to Solve Real-World SAT Instances , 1997, AAAI/IAAI.

[103]  Bernd Becker,et al.  Comparison of knowledge sharing strategies in a parallel QBF solver , 2009, 2009 International Conference on High Performance Computing & Simulation.

[104]  Marius-Calin Silaghi,et al.  Asynchronous Search with Aggregations , 2000, AAAI/IAAI.

[105]  Sharad Malik,et al.  Efficient conflict driven learning in a Boolean satisfiability solver , 2001, IEEE/ACM International Conference on Computer Aided Design. ICCAD 2001. IEEE/ACM Digest of Technical Papers (Cat. No.01CH37281).

[106]  R. Wolski,et al.  GridSAT: A Chaff-based Distributed SAT Solver for the Grid , 2003, ACM/IEEE SC 2003 Conference (SC'03).

[107]  Andrea Roll Criticality and Parallelism in GSAT , 2001, Electron. Notes Discret. Math..