large-scale hybrid parallel sat solving

18
Large-scale Hybrid Parallel SAT Solving Nishant Totla, Aditya Devarakonda, Sanjit Seshia

Upload: denise

Post on 22-Feb-2016

63 views

Category:

Documents


0 download

DESCRIPTION

Large-scale Hybrid Parallel SAT Solving. Nishant Totla , Aditya Devarakonda , Sanjit Seshia. Motivation. SAT solvers have had immense gains in efficiency over the last decade. Yet, many instances are still beyond the reach of modern solvers - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Large-scale Hybrid Parallel SAT Solving

Large-scale Hybrid Parallel SAT SolvingNishant Totla, Aditya Devarakonda, Sanjit Seshia

Page 2: Large-scale Hybrid Parallel SAT Solving

MotivationSAT solvers have had immense gains in

efficiency over the last decade

Yet, many instances are still beyond the reach of modern solvers

Some hard instances still take a long time to solve

Source: http://cacm.acm.org/magazines/2009/8/34498-boolean-satisfiability-from-theoretical-hardness-to-practical-success/fulltext

Algorithmic/heuristic gains have been going down, so parallelization is the next step

Multicore hardware is now more easily accessible

Page 3: Large-scale Hybrid Parallel SAT Solving

Parallel SAT Solving : Divide-and-Conquer

SAT solvers look for a satisfying assignment in a search space

Divided parts of this space can be assigned to each parallel worker

Challenges:Difficult to get the division of search space rightSharing information becomes tricky

Page 4: Large-scale Hybrid Parallel SAT Solving

Parallel SAT Solving : Portfolios

SAT solvers are very sensitive to parameter tuningMultiple solvers can be initialized differently and

run on the same problem instanceLearned clauses can be shared as the search

progressesChallenges:

Difficult to scale to large number of processorsSharing overheads quickly increase with scaling

Portfolio solvers have performed better in practice

Page 5: Large-scale Hybrid Parallel SAT Solving

ObjectivesBuild a parallel SAT solver that

Scales to a large number of coresDemonstrates parallel scalingProvides speedups over existing solversSolves instances that existing solvers cannotUses high-level domain-specific information

Page 6: Large-scale Hybrid Parallel SAT Solving

Our approachWe combine the two approaches to create a

more versatile and configurable solverA top-level divide-and-conquer is performed

along with portfolios assigned to each sub-space

Page 7: Large-scale Hybrid Parallel SAT Solving

Solver SetupAll experiments are run on the Hopper system at

the NERSC Center. Hopper is a Cray XE6 systemEach node has 24 cores with shared memory

Portfolios run within a single nodeSearch space can be divided across nodes

Page 8: Large-scale Hybrid Parallel SAT Solving

Why is this a good idea?A hybrid approach is essential for efficient

computation on high-performance computers with a clear hierarchy of parallelismWithin a node – shared memory approach is

efficientAcross nodes – distributed memory approach is

efficientOur solver is highly configurable – it can emulate

full divide-and-conquer, full portfolio

Page 9: Large-scale Hybrid Parallel SAT Solving

Scaling Plots

ManySAT and Plingeling scale poorly within a node

(Negative slope is better)

Page 10: Large-scale Hybrid Parallel SAT Solving

Solver OperationSay we want to run a solver that divides the

search space into 8, with 12 workers per portfolio

¬x1¬,x2, ¬x3

Pick 3 variables to form the guiding path (say x1,x2,x3)

¬x1,x2, ¬x3 ¬x1, ¬x2,x3 ¬x1,x2,x3

x1, ¬x2, ¬x3 x1,x2, ¬x3 x1,¬x2,x3 x1,x2,x3

Initialize portfolios with parameter configurations ψi

ψ1 ψ2 ψ3 ψ4

ψ5 ψ6 ψ7 ψ8

Page 11: Large-scale Hybrid Parallel SAT Solving

Idle workersSome portfolios may finish faster than othersSuch portfolios should help other running ones

by “stealing” some work

¬x1¬,x2, ¬x3

¬x1,x2, ¬x3 ¬x1, ¬x2,x3 ¬x1,x2,x3

x1, ¬x2, ¬x3 x1,x2, ¬x3 x1,¬x2,x3 x1,x2,x3

ψ1 ψ2 ψ3 ψ4

ψ5 ψ6 ψ7 ψ8x1,x2, ¬x3 x1,¬x2,x3 x1,x2,x3

ψ6 ψ7 ψ8

Page 12: Large-scale Hybrid Parallel SAT Solving

Work StealingIdle workers together ask (say) the 5th portfolio

for more work

¬x1¬,x2, ¬x3

¬x1,x2, ¬x3 ¬x1, ¬x2,x3 ¬x1,x2,x3

x1, ¬x2, ¬x3 x1,x2, ¬x3 x1,¬x2,x3 x1,x2,x3

ψ1 ψ2 ψ3 ψ4

ψ5 ψ6 ψ7 ψ8x1,x2, ¬x3 x1,¬x2,x3 x1,x2,x3

ψ6 ψ7 ψ8

If the 5th portfolio agrees, it further divides its search space and delegates some work

x1, ¬x2, ¬x3

ψ5x1,x2, ¬x3x4, ¬x5

x1,¬x2,x3¬x4,x5

x1,x2,x3x4,x5

ψ6 ψ7 ψ8x1, ¬x2, ¬x3

¬x4, ¬x5

ψ5

Page 13: Large-scale Hybrid Parallel SAT Solving

DetailsChoosing the guiding path

Randomly Internal variable ordering heuristics of the solver

(such as VSIDS)Use domain specific information

Configuring portfoliosCarefully crafted, depending on knowledge of

structure of the instanceLearn based on dynamic behavior of the instance

Page 14: Large-scale Hybrid Parallel SAT Solving

ExperimentsWe run experiments on application instances

From previous SAT competitionsFrom model checking problems (self-generated)

Scaling experiments: ( 1 | 3 | 6 | 12 | 24 ) workers/portfolioUpto 768 total workers

Testing different ways to create guiding pathsTesting different portfolio configurations

Page 15: Large-scale Hybrid Parallel SAT Solving

Results : Easy Instances*Our technique performs poorly on easy

instancesLarge scale parallelism has significant

overheads

*Results without work-stealing

Page 16: Large-scale Hybrid Parallel SAT Solving

Results : Hard Instances*Mixed results. Depends on the guiding path

Random – 0.5 to 0.7x average scalingSolver heuristic based – 0.6 to 0.9x average

scaling

Example (Hard SAT instance; 12 workers/portfolio)Splitting on the right variables can do better - 0.6

to 1.9x average scalingTotal cores Time taken

384 (12 x 32) 1984.0

768 (12 x 64) 511.0

*Results without work-stealing

Page 17: Large-scale Hybrid Parallel SAT Solving

Improvements : In Progress

Work-stealingGuiding paths

Use high-level information from problem domainFor example, non-deterministic inputs in model

checking, or backbone variablesPortfolio configurations

Currently crafted manuallyCan be tuned to the instance using machine

learning

Page 18: Large-scale Hybrid Parallel SAT Solving

Thank You!