Cache Performance Study of Portfolio-Based Parallel CDCL SAT Solvers

Parallel SAT solvers are becoming mainstream. Their performance has made them win the past two SAT competitions consecutively and are in the limelight of research and industry. The problem is that it is not known exactly what is needed to make them perform even better; that is, how to make them solve more problems in less time. Also, it is also not know how well they scale in massive multi-core environments which, predictably, is the scenario of comming new hardware. In this paper we show that cache contention is a main culprit of a slowing down in scalability, and provide empirical results that for some type of searches, physically sharing the clause Database between threads is beneficial.

[1]  Vasco M. Manquinho,et al.  Parallel search for maximum satisfiability , 2012, AI Commun..

[2]  J. Davenport Editor , 1960 .

[3]  Adnan Darwiche,et al.  RSat 2.0: SAT Solver Description , 2006 .

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

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

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

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

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

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

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

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

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

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

[14]  David Zuckerman,et al.  Optimal Speedup of Las Vegas Algorithms , 1993, Inf. Process. Lett..

[15]  Claude Castelluccia,et al.  Extending SAT Solvers to Cryptographic Problems , 2009, SAT.

[16]  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).

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

[18]  Armin Biere Lingeling and Friends at the SAT Competition 2011 , 2011 .

[19]  Cesare Tinelli,et al.  Solving SAT and SAT Modulo Theories: From an abstract Davis--Putnam--Logemann--Loveland procedure to DPLL(T) , 2006, JACM.

[20]  Eugene Goldberg,et al.  BerkMin: A Fast and Robust Sat-Solver , 2002, Discret. Appl. Math..

[21]  Herb Sutter,et al.  The Free Lunch Is Over A Fundamental Turn Toward Concurrency in Software , 2013 .

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

[23]  Joao Marques-Silva,et al.  GRASP: A Search Algorithm for Propositional Satisfiability , 1999, IEEE Trans. Computers.

[24]  G. S. Tseitin On the Complexity of Derivation in Propositional Calculus , 1983 .

[25]  Hantao Zhang,et al.  An Efficient Algorithm for Unit Propagation , 1996 .