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

Slides:



Advertisements
Similar presentations
The Synthesis of Cyclic Circuits with SAT and Interpolation By John Backes and Marc Riedel ECE University of Minnesota.
Advertisements

Hybrid BDD and All-SAT Method for Model Checking Orna Grumberg Joint work with Assaf Schuster and Avi Yadgar Technion – Israel Institute of Technology.
Achieving Examination Success
Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License:
LIBRA: Lightweight Data Skew Mitigation in MapReduce
Proofs from SAT Solvers Yeting Ge ACSys NYU Nov
Using Parallel Genetic Algorithm in a Predictive Job Scheduling
IBM Labs in Haifa © 2005 IBM Corporation Adaptive Application of SAT Solving Techniques Ohad Shacham and Karen Yorav Presented by Sharon Barner.
Automatic Tuning1/33 Boosting Verification by Automatic Tuning of Decision Procedures Domagoj Babić joint work with Frank Hutter, Holger H. Hoos, Alan.
On the Potential of Automated Algorithm Configuration Frank Hutter, University of British Columbia, Vancouver, Canada. Motivation for automated tuning.
ECE 647 TERM PROJECT MiniSAT parallelization Shahadat Hossain Saud Wasly.
3/25  Monday 3/31 st 11:30AM BYENG 210 Talk by Dana Nau Planning for Interactions among Autonomous Agents.
FORMAL LANGUAGES, AUTOMATA AND COMPUTABILITY Read sections 7.1 – 7.3 of the book for next time.
08/1 Foundations of AI 8. Satisfiability and Model Construction Davis-Putnam, Phase Transitions, GSAT Wolfram Burgard and Bernhard Nebel.
ECE Synthesis & Verification1 ECE 667 Spring 2011 Synthesis and Verification of Digital Systems Verification Introduction.
1 Polynomial Time Reductions Polynomial Computable function : For any computes in polynomial time.
Analysis of Algorithms CS 477/677
Search in the semantic domain. Some definitions atomic formula: smallest formula possible (no sub- formulas) literal: atomic formula or negation of an.
1 CS 4700: Foundations of Artificial Intelligence Carla P. Gomes Module: Satisfiability (Reading R&N: Chapter 7)
SAT Solving Presented by Avi Yadgar. The SAT Problem Given a Boolean formula, look for assignment A for such that.  A is a solution for. A partial assignment.
1 Combinatorial Problems in Cooperative Control: Complexity and Scalability Carla Gomes and Bart Selman Cornell University Muri Meeting March 2002.
Complexity Classes Kang Yu 1. NP NP : nondeterministic polynomial time NP-complete : 1.In NP (can be verified in polynomial time) 2.Every problem in NP.
DNA Computing on a Chip Mitsunori Ogihara and Animesh Ray Nature, vol. 403, pp Cho, Dong-Yeon.
Performance Tuning on Multicore Systems for Feature Matching within Image Collections Xiaoxin Tang*, Steven Mills, David Eyers, Zhiyi Huang, Kai-Cheung.
1 Paper Review for ENGG6140 Memetic Algorithms By: Jin Zeng Shaun Wang School of Engineering University of Guelph Mar. 18, 2002.
Boolean Satisfiability and SAT Solvers
ROBUST RESOURCE ALLOCATION OF DAGS IN A HETEROGENEOUS MULTI-CORE SYSTEM Luis Diego Briceño, Jay Smith, H. J. Siegel, Anthony A. Maciejewski, Paul Maxwell,
Tonga Institute of Higher Education Design and Analysis of Algorithms IT 254 Lecture 8: Complexity Theory.
Computational Complexity Theory Lecture 2: Reductions, NP-completeness, Cook-Levin theorem Indian Institute of Science.
Shared Memory Parallelization of Decision Tree Construction Using a General Middleware Ruoming Jin Gagan Agrawal Department of Computer and Information.
Week 10Complexity of Algorithms1 Hard Computational Problems Some computational problems are hard Despite a numerous attempts we do not know any efficient.
Parallelizing MiniSat I-Ting Angelina Lee Justin Zhang May 05, Final Project Presentation.
More on Adaptivity in Grids Sathish S. Vadhiyar Source/Credits: Figures from the referenced papers.
Explorations in Artificial Intelligence Prof. Carla P. Gomes Module Logic Representations.
LDK R Logics for Data and Knowledge Representation Propositional Logic: Reasoning First version by Alessandro Agostini and Fausto Giunchiglia Second version.
Schreiber, Yevgeny. Value-Ordering Heuristics: Search Performance vs. Solution Diversity. In: D. Cohen (Ed.) CP 2010, LNCS 6308, pp Springer-
On the Relation between SAT and BDDs for Equivalence Checking Sherief Reda Rolf Drechsler Alex Orailoglu Computer Science & Engineering Dept. University.
Boolean Satisfiability Present and Future
AI Lecture 17 Planning Noémie Elhadad (substituting for Prof. McKeown)
CS 3343: Analysis of Algorithms Lecture 25: P and NP Some slides courtesy of Carola Wenk.
SAT 2009 Ashish Sabharwal Backdoors in the Context of Learning (short paper) Bistra Dilkina, Carla P. Gomes, Ashish Sabharwal Cornell University SAT-09.
Review of Propositional Logic Syntax
Advanced Computer Networks Lecture 1 - Parallelization 1.
Balance and Filtering in Structured Satisfiability Problems Henry Kautz University of Washington joint work with Yongshao Ruan (UW), Dimitris Achlioptas.
CS6045: Advanced Algorithms NP Completeness. NP-Completeness Some problems are intractable: as they grow large, we are unable to solve them in reasonable.
NPC.
Custom Computing Machines for the Set Covering Problem Paper Written By: Christian Plessl and Marco Platzner Swiss Federal Institute of Technology, 2002.
Young CS 331 D&A of Algo. NP-Completeness1 NP-Completeness Reference: Computers and Intractability: A Guide to the Theory of NP-Completeness by Garey and.
SAT Solving As implemented in - DPLL solvers: GRASP, Chaff and
1 Boolean Satisfiability (SAT) Class Presentation By Girish Paladugu.
Computability Examples. Reducibility. NP completeness. Homework: Find other examples of NP complete problems.
The NP class. NP-completeness Lecture2. The NP-class The NP class is a class that contains all the problems that can be decided by a Non-Deterministic.
Solving Weakened Cryptanalysis Problems for the Bivium Keystream Generator in the Volunteer Computing Project Oleg Zaikin, Alexander Semenov,
1 Intro to AI Local Search. 2 Intro to AI Local search and optimization Local search: –use single current state & move to neighboring states Idea: –start.
Hybrid BDD and All-SAT Method for Model Checking
Hardware Acceleration of A Boolean Satisfiability Solver
Inference and search for the propositional satisfiability problem
CS 4700: Foundations of Artificial Intelligence
Oleg Zaikin, Alexander Semenov, Mikhail Posypkin
Parallelism in SAT Solvers
Canonical Computation without Canonical Data Structure
ECE 667 Synthesis and Verification of Digital Circuits
Canonical Computation Without Canonical Data Structure
Massive Parallelization of SAT Solvers
CIS 488/588 Bruce R. Maxim UM-Dearborn
NP-COMPLETE Prof. Manjusha Amritkar Assistant Professor Department of Information Technology Hope Foundation’s International Institute of Information.
CSE 6408 Advanced Algorithms.
NP-Completeness Reference: Computers and Intractability: A Guide to the Theory of NP-Completeness by Garey and Johnson, W.H. Freeman and Company, 1979.
Canonical Computation without Canonical Data Structure
CSE 589 Applied Algorithms Spring 1999
Presentation transcript:

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

SAT Solving Given a propositional logic formula in conjunctive normal form (CNF), does there exist a satisfying assignment? (x 1 ∨ x 2 ∨ x 3 ) ∧ (¬x 1 ∨ x 3 ) ∧ (¬x 2 ∨ x 4 ) The problem is NP Complete Modern applications in various fields like verification and AI routinely turn up instances that have millions of variables and clauses Clause 1Clause 2Clause 3 x 1 =F, x 1 =T, x 1 =T, x 1 =T

Motivation SAT 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: Algorithmic/heuristic gains have been going down, so parallelization is the next step Multicore hardware is now more easily accessible

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 right Sharing information becomes tricky

Parallel SAT Solving : Portfolios SAT solvers are very sensitive to parameter tuning Multiple solvers can be initialized differently and run on the same problem instance Learned clauses can be shared as the search progresses Challenges: Difficult to scale to large number of processors Sharing overheads quickly increase with scaling Portfolio solvers have performed better in practice

Objectives Build a parallel SAT solver that Scales to a large number of cores Demonstrates parallel scaling Provides speedups over existing solvers Solves instances that existing solvers cannot Uses high-level domain-specific information

Our approach We combine the two approaches to create a more versatile and configurable solver A top-level divide-and-conquer is performed along with portfolios assigned to each sub-space

Solver Setup All experiments are run on the Hopper system at the NERSC Center. Hopper is a Cray XE6 system Each node has 24 cores with shared memory Portfolios run within a single node Search space can be divided across nodes

Why is this a good idea? A hybrid approach is essential for efficient computation on high-performance computers with a clear hierarchy of parallelism Within a node – shared memory approach is efficient Across nodes – distributed memory approach is efficient Our solver is highly configurable – it can emulate full divide-and-conquer, full portfolio

Scaling Plots ManySAT and Plingeling scale poorly within a node (Negative slope is better)

Solver Operation Say we want to run a solver that divides the search space into 8, with 12 workers per portfolio ¬x 1 ¬, x 2, ¬x 3 Pick 3 variables to form the guiding path (say x 1,x 2,x 3 ) ¬x 1, x 2, ¬x 3 ¬x 1, ¬x 2, x 3 ¬x 1, x 2, x 3 x 1, ¬x 2, ¬x 3 x 1, x 2, ¬x 3 x 1, ¬x 2, x 3 x 1, x 2, x 3 Initialize portfolios with parameter configurations ψ i ψ1ψ1 ψ2ψ2 ψ3ψ3 ψ4ψ4 ψ5ψ5 ψ6ψ6 ψ7ψ7 ψ8ψ8

Idle workers Some portfolios may finish faster than others Such portfolios should help other running ones by “stealing” some work ¬x 1 ¬, x 2, ¬x 3 ¬x 1, x 2, ¬x 3 ¬x 1, ¬x 2, x 3 ¬x 1, x 2, x 3 x 1, ¬x 2, ¬x 3 x 1, x 2, ¬x 3 x 1, ¬x 2, x 3 x 1, x 2, x 3 ψ1ψ1 ψ2ψ2 ψ3ψ3 ψ4ψ4 ψ5ψ5 ψ6ψ6 ψ7ψ7 ψ8ψ8 x 1, x 2, ¬x 3 x 1, ¬x 2, x 3 x 1, x 2, x 3 ψ6ψ6 ψ7ψ7 ψ8ψ8

Work Stealing Idle workers together ask (say) the 5 th portfolio for more work ¬x 1 ¬, x 2, ¬x 3 ¬x 1, x 2, ¬x 3 ¬x 1, ¬x 2, x 3 ¬x 1, x 2, x 3 x 1, ¬x 2, ¬x 3 x 1, x 2, ¬x 3 x 1, ¬x 2, x 3 x 1, x 2, x 3 ψ1ψ1 ψ2ψ2 ψ3ψ3 ψ4ψ4 ψ5ψ5 ψ6ψ6 ψ7ψ7 ψ8ψ8 x 1, x 2, ¬x 3 x 1, ¬x 2, x 3 x 1, x 2, x 3 ψ6ψ6 ψ7ψ7 ψ8ψ8 If the 5 th portfolio agrees, it further divides its search space and delegates some work x 1, ¬x 2, ¬x 3 ψ5ψ5 x 1, x 2, ¬x 3 x 4, ¬x 5 x 1, ¬x 2, x 3 ¬x 4, x 5 x 1, x 2, x 3 x 4, x 5 ψ6ψ6 ψ7ψ7 ψ8ψ8 x 1, ¬x 2, ¬x 3 ¬x 4, ¬x 5 ψ5ψ5

Details Choosing the guiding path Randomly Internal variable ordering heuristics of the solver (such as VSIDS) Use domain specific information Configuring portfolios Carefully crafted, depending on knowledge of structure of the instance Learn based on dynamic behavior of the instance

Experiments We run experiments on application instances From previous SAT competitions From model checking problems (self-generated) Scaling experiments: ( 1 | 3 | 6 | 12 | 24 ) workers/portfolio Upto 768 total workers Testing different ways to create guiding paths Testing different portfolio configurations

Results : Easy Instances* Our technique performs poorly on easy instances Large scale parallelism has significant overheads *Results without work-stealing

Results : Hard Instances* Mixed results. Depends on the guiding path Random – 0.5 to 0.7x average scaling Solver heuristic based – 0.6 to 0.9x average scaling Example (Hard SAT instance; 12 workers/portfolio) Splitting on the right variables can do better to 1.9x average scaling Total coresTime taken 384 (12 x 32) (12 x 64)511.0 *Results without work-stealing

Improvements : In Progress Work-stealing Guiding paths Use high-level information from problem domain For example, non-deterministic inputs in model checking, or backbone variables Portfolio configurations Currently crafted manually Can be tuned to the instance using machine learning

Thank You!