Parallel SAT Solving: Past, Present and Future PCR 2017, Gothenburg, - - PowerPoint PPT Presentation

parallel sat solving past present and future
SMART_READER_LITE
LIVE PREVIEW

Parallel SAT Solving: Past, Present and Future PCR 2017, Gothenburg, - - PowerPoint PPT Presentation

Parallel SAT Solving: Past, Present and Future PCR 2017, Gothenburg, Sweden Carsten Sinz Institute for Theoretical Informatics (ITI) Karlsruhe Institute of Technology (KIT) 06.08.2017 1 Outline Guided by Historical Development Search


slide-1
SLIDE 1

Parallel SAT Solving: Past, Present and Future

PCR 2017, Gothenburg, Sweden

Carsten Sinz

Institute for Theoretical Informatics (ITI) Karlsruhe Institute of Technology (KIT) 06.08.2017

1

slide-2
SLIDE 2

Carsten Sinz • Parallel SAT Solving: Past, Present and Future • PCR 2017, Gothenburg, Sweden • 06.08.2017

Outline

  • Guided by Historical Development
  • Search Space Splitting Approach
  • Portfolio Approach
  • Empirical Observations
  • Parallel Solvers in the SAT Competition
  • Current and Future Approaches

2

slide-3
SLIDE 3

Carsten Sinz • Parallel SAT Solving: Past, Present and Future • PCR 2017, Gothenburg, Sweden • 06.08.2017

SAT: Combinatorial Search

Search Space

3

slide-4
SLIDE 4

Carsten Sinz • Parallel SAT Solving: Past, Present and Future • PCR 2017, Gothenburg, Sweden • 06.08.2017

Sequential DPLL Algorithm

4

slide-5
SLIDE 5

Carsten Sinz • Parallel SAT Solving: Past, Present and Future • PCR 2017, Gothenburg, Sweden • 06.08.2017

DPLL: Search Tree & Splitting

5

x ¬x ¬y y

  • Splitting similar to DPLL recursion

step

  • F|x,¬y, e.g., describes a fraction of

the search space

  • Splitting Schedule
  • When and how to split
  • Static vs Dynamic Splitting
  • Static: computed before solving

process starts; typically with „over- saturation“

  • Dynamic: splitting interleaved with

solving F|x,¬y F F|x,y F|¬x

slide-6
SLIDE 6

Carsten Sinz • Parallel SAT Solving: Past, Present and Future • PCR 2017, Gothenburg, Sweden • 06.08.2017

Splitting Tree with Non-Overlapping Formulas

6

slide-7
SLIDE 7

Carsten Sinz • Parallel SAT Solving: Past, Present and Future • PCR 2017, Gothenburg, Sweden • 06.08.2017

Guiding Paths [Zhang:96]

  • Guiding Path
  • Describes state in DPLL search
  • Trail plus, for each entry, whether

backtracking is needed (B) or not (N)

  • Can be used for dynamic search

space splitting, e.g.:

  • ((x,B),(y,N),(¬z,B)) splits into


((x,N),(y,N),(¬z,B)) and
 ((¬x,N))

7

((x,B),(y,N),(¬z,B))

slide-8
SLIDE 8

Carsten Sinz • Parallel SAT Solving: Past, Present and Future • PCR 2017, Gothenburg, Sweden • 06.08.2017

Dynamic Splitting: Focus on Workload Management

8

slide-9
SLIDE 9

Carsten Sinz • Parallel SAT Solving: Past, Present and Future • PCR 2017, Gothenburg, Sweden • 06.08.2017

Search Space Splitting Solvers

  • Early days of parallel SAT solving
  • Böhm, Speckenmeyer (1996): A Fast Parallel SAT-Solver - Efficient

Workload Balancing

  • Speckenmeyer (1988): Is average superlinear speedup possible?
  • Zhang, Bonacina, Hsiang (1996): PSATO: a distributed propositional prover

and its application to quasigroup problems

  • With clause learning and clause exchange
  • Sinz, Blochinger, Küchlin (2001): PaSAT - parallel SAT-checking with lemma

exchange: Implementation and applications

  • Schubert, Lewis, Becker (2005): PaMira - A Parallel SAT Solver with

Knowledge Sharing

9

slide-10
SLIDE 10

Carsten Sinz • Parallel SAT Solving: Past, Present and Future • PCR 2017, Gothenburg, Sweden • 06.08.2017

PaSAT: Run-Time Observations

10

SAT UNSAT

slide-11
SLIDE 11

Carsten Sinz • Parallel SAT Solving: Past, Present and Future • PCR 2017, Gothenburg, Sweden • 06.08.2017

Portfolio Approach

  • Basic Idea
  • Run several solvers (without search space splitting, independently) in

parallel

  • SAT Competition 2011
  • ppfolio// wins 11 medals, best solver in competition
  • „ppfolio is essentially equivalent to typing


solver1 & solver2 & ... solvern &“

  • Extensions
  • Current solvers also exchange learned clauses and have evolved

diversification strategies

11

slide-12
SLIDE 12

Carsten Sinz • Parallel SAT Solving: Past, Present and Future • PCR 2017, Gothenburg, Sweden • 06.08.2017

Portfolio Solvers

  • Early portfolio solvers
  • Hamadi, Jabbour, Sais (2008): ManySAT Solver Description
  • Xu, Hutter, Hoos, Leyton-Brown: SATzilla: Portfolio-based Algorithm

Selection for SAT

  • Roussel (2011): Description of ppfolio
  • Current portfolio solvers
  • Biere (2010-): plingeling, clingeling, treengeling
  • Balyo, Sanders, Sinz (2015): HordeSat: A Massively Parallel Portfolio SAT

Solver

12

slide-13
SLIDE 13

Carsten Sinz • Parallel SAT Solving: Past, Present and Future • PCR 2017, Gothenburg, Sweden • 06.08.2017

Diversification & Clause Exchange

13

  • Random 3-SAT, only satisfiable instances
slide-14
SLIDE 14

Carsten Sinz • Parallel SAT Solving: Past, Present and Future • PCR 2017, Gothenburg, Sweden • 06.08.2017

Diversification & Clause Exchange

14

  • Random 3-SAT, only unsatisfiable instances
slide-15
SLIDE 15

Carsten Sinz • Parallel SAT Solving: Past, Present and Future • PCR 2017, Gothenburg, Sweden • 06.08.2017

HordeSAT: Massive Parallelization

15

[545 instances from SAT Competitions 2011 & 2014 Application Track]

slide-16
SLIDE 16

Carsten Sinz • Parallel SAT Solving: Past, Present and Future • PCR 2017, Gothenburg, Sweden • 06.08.2017

HordeSAT: Massive Parallelization

16

slide-17
SLIDE 17

Carsten Sinz • Parallel SAT Solving: Past, Present and Future • PCR 2017, Gothenburg, Sweden • 06.08.2017

Why Parallelization? Power Wall

17

slide-18
SLIDE 18

Carsten Sinz • Parallel SAT Solving: Past, Present and Future • PCR 2017, Gothenburg, Sweden • 06.08.2017

Parallel SAT in the SAT Competitions

  • 2009: First Parallel Track
  • „Multi-threading is everywehere except in our solvers“
  • „Solvers are expected to be deterministic“
  • 4 solvers submitted (plus variants): ManySAT, satake, ttsth and gNovelty
  • 4 cores (partially 16 cores)
  • 2010: SAT-Race, only industrial instances
  • 5 solvers participating, 8 cores
  • „Solvers are expected to be non-deterministic“: 3 runs per solver and

instance, high deviation in run-time

  • 2011: No separation between sequential and parallel solvers
  • Two rankings: wall clock and CPU time
  • 2017 SAT Competition
  • 48 threads, 56 GB per solver

18

slide-19
SLIDE 19

Carsten Sinz • Parallel SAT Solving: Past, Present and Future • PCR 2017, Gothenburg, Sweden • 06.08.2017

Current Trends and Future Directions

  • Current Trends
  • Refined approaches for portfolio solvers (diversification & clause sharing)
  • Cube-and-Conquer (especially for hard instances)
  • Future Directions
  • Integrating sub-solvers in portfolio
  • Based on SAT sweeping / sampling, e.g. equivalence detection
  • Based on abstraction?
  • Still mostly open: make use of GPUs

19