Hardware Acceleration of A Boolean Satisfiability Solver

Slides:



Advertisements
Similar presentations
Automated Theorem Proving
Advertisements

Presented by Monissa Mohan 1.  A highly optimized BCP algorithm  Two watched literals  Fast Backtracking  Efficient Decision Heuristic  Focused on.
P-Optimal CSP Solvers Applied to Software Security P-Optimal CSP Solvers Applied to Software Security Ahmed Abdel Mohsen and Karl Lieberherr College of.
Saleem Sabbagh & Najeeb Darawshy Supervisors: Mony Orbach, Technion & Ilia Averbouch, IBM Started at: Winter 2012 Duration: Semester.
Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License:
UIUC CS 497: Section EA Lecture #2 Reasoning in Artificial Intelligence Professor: Eyal Amir Spring Semester 2004.
Effective Propositional Reasoning CSE 473 – Autumn 2003.
SAT and Model Checking. Bounded Model Checking (BMC) A.I. Planning problems: can we reach a desired state in k steps? Verification of safety properties:
ECE 667 Synthesis & Verification - SAT 1 ECE 667 ECE 667 Synthesis and Verification of Digital Systems Boolean SAT CNF Representation Slides adopted (with.
Boolean Satisfiability Solvers Wonhong Nam
1 Boolean Satisfiability in Electronic Design Automation (EDA ) By Kunal P. Ganeshpure.
Heuristics for Efficient SAT Solving As implemented in GRASP, Chaff and GSAT.
On-The-Fly Resolve Trace Minimization Ohad Shacham and Karen Yorav IBM Haifa Research Laboratory.
Presented by Ed Clarke Slides borrowed from P. Chauhan and C. Bartzis
GRASP-an efficient SAT solver Pankaj Chauhan. 6/19/ : GRASP and Chaff2 What is SAT? Given a propositional formula in CNF, find an assignment.
Efficient SAT Solving for Non- clausal Formulas using DPLL, Graphs, and Watched-cuts Himanshu Jain Edmund M. Clarke.
State-of-the-art in SAT solvers
GRASP SAT solver Presented by Constantinos Bartzis Slides borrowed from Pankaj Chauhan J. Marques-Silva and K. Sakallah.
SAT Algorithms in EDA Applications Mukul R. Prasad Dept. of Electrical Engineering & Computer Sciences University of California-Berkeley EE219B Seminar.
1 Abstraction Refinement for Bounded Model Checking Anubhav Gupta, CMU Ofer Strichman, Technion Highly Jet Lagged.
Knowledge Representation II (Inference in Propositional Logic) CSE 473 Continued…
ENGG3190 Logic Synthesis “Boolean Satisfiability” Winter 2014 S. Areibi School of Engineering University of Guelph.
GRASP: A Search Algorithm for Propositional Satisfiability EE878C Homework #2 2002/11/1 KAIST, EECS ICS Lab Lee, Dongsoo.
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.
Application of Formal Verification Methods to the analysis of Bearings-only Ballistic Missile Interception Algorithms Eli Bendersky Michael Butvinnik Supervisor:
SAT Solver Math Foundations of Computer Science. 2 Boolean Expressions  A Boolean expression is a Boolean function  Any Boolean function can be written.
Boolean Satisfiability and SAT Solvers
Large-scale Hybrid Parallel SAT Solving Nishant Totla, Aditya Devarakonda, Sanjit Seshia.
MBSat Satisfiability Program and Heuristics Brief Overview VLSI Testing B Marc Boulé April 2001 McGill University Electrical and Computer Engineering.
Solvers for the Problem of Boolean Satisfiability (SAT) Will Klieber Aug 31, 2011 TexPoint fonts used in EMF. Read the TexPoint manual before you.
Embedding Constraint Satisfaction using Parallel Soft-Core Processors on FPGAs Prasad Subramanian, Brandon Eames, Department of Electrical Engineering,
FPGA PLB Evaluation using Quantified Boolean Satisfiability Andrew C. Ling M.A.Sc. Candidate University of Toronto Deshanand P. Singh Ph.D. Altera Corporation.
1 The Theory of NP-Completeness 2 Cook ’ s Theorem (1971) Prof. Cook Toronto U. Receiving Turing Award (1982) Discussing difficult problems: worst case.
Explorations in Artificial Intelligence Prof. Carla P. Gomes Module Logic Representations.
PhD Projects Rahul Santhanam University of Edinburgh.
On the Relation between SAT and BDDs for Equivalence Checking Sherief Reda Rolf Drechsler Alex Orailoglu Computer Science & Engineering Dept. University.
First-Order Logic and Inductive Logic Programming.
Boolean Satisfiability Present and Future
SAT 2009 Ashish Sabharwal Backdoors in the Context of Learning (short paper) Bistra Dilkina, Carla P. Gomes, Ashish Sabharwal Cornell University SAT-09.
Nikolaj Bjørner Microsoft Research DTU Winter course January 2 nd 2012 Organized by Flemming Nielson & Hanne Riis Nielson.
1 Propositional Logic Limits The expressive power of propositional logic is limited. The assumption is that everything can be expressed by simple facts.
CSE 6311 – Spring 2009 ADVANCED COMPUTATIONAL MODELS AND ALGORITHMS Lecture Notes – Feb. 3, 2009 Instructor: Dr. Gautam Das notes by Walter Wilson.
Satisfiability and SAT Solvers CS 270 Math Foundations of CS Jeremy Johnson.
Custom Computing Machines for the Set Covering Problem Paper Written By: Christian Plessl and Marco Platzner Swiss Federal Institute of Technology, 2002.
SAT Solving As implemented in - DPLL solvers: GRASP, Chaff and
1 Boolean Satisfiability (SAT) Class Presentation By Girish Paladugu.
Knowledge Repn. & Reasoning Lecture #9: Propositional Logic UIUC CS 498: Section EA Professor: Eyal Amir Fall Semester 2005.
Computability Examples. Reducibility. NP completeness. Homework: Find other examples of NP complete problems.
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.
Chapter 10 NP-Complete Problems.
Inference and search for the propositional satisfiability problem
Hard Problems Introduction to NP
First-Order Logic and Inductive Logic Programming
Logic Synthesis CNF Satisfiability.
Lecture 2 Propositional Logic
Heuristics for Efficient SAT Solving
LPSAT: A Unified Approach to RTL Satisfiability
NP-Completeness Proofs
Emergence of Intelligent Machines: Challenges and Opportunities
Canonical Computation without Canonical Data Structure
Introduction to the Boolean Satisfiability Problem
ECE 667 Synthesis and Verification of Digital Circuits
Canonical Computation Without Canonical Data Structure
Clark Barrett Analysis of Computer Systems Group
DLL Algorithm.
Introduction to the Boolean Satisfiability Problem
NP-Complete Problems.
CSE 6408 Advanced Algorithms.
Canonical Computation without Canonical Data Structure
GRASP-an efficient SAT solver
Presentation transcript:

Hardware Acceleration of A Boolean Satisfiability Solver Xander Chin Braiden Brousseau Bill Teng Hardware Acceleration of A Boolean Satisfiability Solver

Motivation SAT Solvers are core computational engine for major applications EDA: testing and verification, logic synthesis, technology mapping, … AI: knowledge base deduction, automatic theorem proving, … Software SAT Solvers has improved a lot in the last ten years, but performance is saturating Further speed it up through hardware acceleration! EDA - Electronic design automation

SAT in a Nutshell (a very tiny nutshell) Given a boolean formula, find variable assignments such that the formula is true or prove that no satisfying assignment exists Conjunctive Normal Form: e.g. φ(a,b,c) = (a+b)(a’+b+c) literal clause NP – Complete For n variables, there are 2n possible truth assignments to be checked

Algorithmic Pruning X4 X2 X3 X1 1 S U S Resolve Conflict !

Some Solver Techniques Propagation Literal watches – literal to clause mapping Decision heuristics – which variable should be assigned next? Pruning Conflict analysis – which assignments will never work? Non-chronological backtracking – undoing failed decisions quickly

Flexibility of Software Software can easily implement complex pruning techniques that would be extremely difficult in hardware New pruning techniques are demonstrating only incremental gains Some of the complex techniques must be omitted in hardware We must still implement the core techniques

Hardware Architecture Parts of SAT are memory-bound Random access data patterns to clauses Hardware acceleration by streaming burst accesses to memory to maximize bandwidth and custom intermediate caching Pipeline Direction DDR Memory Bound Logic Memory Bound Logic Memory Bound Logic Custom Cache Custom Cache Custom Cache microBlaze Processor

Conclusions Trade-off between Critical to performance! High-level complex algorithms in software Low-level algorithms in hardware Critical to performance! Novel new software algorithms could potentially outperform our hardware system System flexibility with soft-processor Core techniques not likely going away any time soon