This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Resolution and Parallelizability:Barriers to the Efficient Parallelization of SAT Solvers
George Katsirelos MIAT, INRA, Toulouse, FranceAshish Sabharwal IBM Watson Research Center, USAHorst SamulowitzLaurent Simon Univ. Paris-Sud, LRI/CNRS, Orsay, France
Approach: Proof Complexity (applied here to Typically Generated Proofs)
Proof Complexity [Cook & Reckhov, 1979]: Study the nature (e.g., size, depth, width, “shape”, etc.) of Proofs of Unsatisfiability
– Resolution Graph of Conflict-Directed-Clause-Learning (CDCL) SAT Solvers
Runtime(any SAT solver, F) minproofs Size(Resolution proof of F)
– Note: Insights applicable also to Satisfiable instances!• Solvers prove a lot of sub-formulas to be unsatisfiable before hitting the first solution• Formal characterization [Achlioptas et al, 2001 & 2004]
Study of Proofs has provided strong insights into CDCL SAT solvers
– What does “clause learning” bring?
– What do “restarts” add?
[Beame et al, 2004; Buss et al, 2008, 2012; Hertel et al, 2008; Pipatsrisawat et al, 2011]
6 AAAI 2013 | Katsirelos, Samulowitz, Sabharwal, Simon
Refutation(F) = Resolution Proof that derives the empty (“false”) clause
Depth of the proof clearly limits the amount of potential parallelization
– Chain of dependencies
– Theorem: Certain “pebbling” style instances have large depth
However, proofdepth bound on parallelization is very crude
– Does not explain poor performance with small k (e.g., 8, 32, … processors)
How does a typical sequential SAT solver proof look like?
– Setup for Experiments:• Sequential Glucose 2.1 extended with proof output• GluSatX10: using SatX10 to run a k-processor version of Sequential Glucose
– Working Assumption: Proofs produced by GluSatX10 on k cores look “similar”to proofs produced by Sequential Glucose
AAAI 2013 | Katsirelos, Samulowitz, Sabharwal, Simon
http://x10-lang.org/satx10 [IBM Teams: X10 and SAT/CSP]
** simplified statements; see paper for more formal notions
A New Systematic Study of Parallelism in the Context of Searchthrough the Lens of Proof Complexity
– Focus on understanding rather than on engineering
Main Findings:
A. Typical Sequential Refutations Contain Surprisingly Narrow Bottlenecks
B. Typical Sequential Refutations are Not Parallelizable Beyond a Few Processors, even in the best case of offline ‘schedule speedup’ produced in hindsight
C. Observed Runtime Speedup with k processors weakly correlates withBest-Case Schedule Speedup of a Sequential Proof produced in hindsight
Open Question: Can we design SAT solvers that generate Proofs that are inherently More Parallelizable?
Caveat: assumption that proofs generated by GluSatX10 on k cores look “similar” to proofs generated by Sequential Glucose
17 AAAI 2013 | Katsirelos, Samulowitz, Sabharwal, Simon