Presentation is loading. Please wait.

Presentation is loading. Please wait.

On-The-Fly Resolve Trace Minimization Ohad Shacham and Karen Yorav IBM Haifa Research Laboratory.

Similar presentations


Presentation on theme: "On-The-Fly Resolve Trace Minimization Ohad Shacham and Karen Yorav IBM Haifa Research Laboratory."— Presentation transcript:

1 On-The-Fly Resolve Trace Minimization Ohad Shacham and Karen Yorav IBM Haifa Research Laboratory

2 Overview SAT basics Proof of unsatisfiability Why is it important? The problem Our solution Experimental results Conclusion

3 SAT Basics Question: Satisfiable? Resolution: Solution: DPLL-based SAT solvers (a  b) (¬b  c  d) (¬c  e) (¬e  g) (¬c  ¬g) (c  h) (¬c  d) (a  c  d) (a  b) (¬b  c  d) (¬c  d) (a  d) Disclaimer: Extremely simplified presentation… Conflict clause (¬c  d) (¬b  c  d) (a  b) (a  c  d) Resolve sources

4 Clause Deletion Conflict clauses help the SAT solver in finding a solution Too many clauses degrade the solver’s performance The SAT solver periodically stops the search and heuristically deletes conflict clauses

5 Resolution Graph 1 2 9 3 4 10 5 6 11 13 12 7 8 14 Conflict Clause Original Clause Empty Clause

6 Proof of Unsatisfiability 1 2 9 3 4 10 5 6 11 13 12 7 8 14 Empty Clause Conflict Clause Original Clause

7 Motivation Unsat core and proof of unsatisfiability are used in many applications: EDA Abstraction refinement McMillan’s interpolation-based model checking SAT solver decision heuristics... Other domains AI FPGA routing …

8 Resolve Trace The resolution graph is needed to generate the proof of unsatisfiability For each conflict clause we keep the list of resolve sources The set of all lists of resolve sources is called a resolve trace SAT solvers generate a huge number of conflict clauses

9 Databases Two different databases for clauses and resolve sources Clause DB – maintains clause related information Resolve Sources DB – maintains resolve sources information 1. (a  b) 2. (¬b  c  e) 3. (¬b  c) 4. (a  c  e) 5. (a  c).......... 100. (a  d) Clause DB 4 <- 1, 2 5 <- 1, 3 97 <- 4, 7, 6, 18, 53 98 <- 41, 79, 2, 33, 14 99 <- 9, 77, 1.......... 100 <- 1, 3, 96 Resolve Sources DB

10 The Resolve Trace Problem Only a fraction of conflict clauses are eventually needed for the proof of unsatisfiability But it is impossible to predict which! Even though conflict clauses are deleted, they may still appear in the proof  resolve sources of deleted clauses are maintained Resolve traces run up to GBs of memory Quota problems Aggravated by parallel execution of SAT solvers (common in formal verification)

11 Proof Of Unsatisfiability 1 2 9 3 4 10 5 6 11 13 12 7 8 14 Empty Clause Deleted Clause Conflict Clause Original Clause

12 Our Solution Identify clauses, during the SAT solver’s run, that will not take part in the proof of unsatisfiability and delete their corresponding resolve sources

13 Redundant Resolve Sources 1 2 9 3 4 10 5 6 11 13 12 7 8 14 Redundant clause Redundant resolve sources Conflict Clause Original Clause

14 Observation If none of the descendants of a clause are in the proof, then the clause itself is not in the proof either c descendants of c

15 Redundant Resolve Sources 1 2 9 3 4 10 5 6 11 13 12 7 8 14 15 Deleted Clause Conflict Clause Original Clause

16 Required Additions Maintain the resolve trace in main memory CC field for each conflict clause representing the number of direct children 1 CC 2 0 3 CC 1 2 CC 0 0 4 CC 0

17 Required actions After learning a conflict clause Increment CC field of the resolve sources of the newly created conflict clause After clause deletion Remove resolve sources of deleted clause with CC=0 Decrement CC field of the removed resolve sources

18 Running Example 1 2 3 4 5 6 7 8 9 CC Conflict Clause Original Clause Id cnt Id Cnt Deleted Clause ID CC ID CC 10 CC 0 0 1 11 CC 0 2 12 CC 0 9 CC 2 13 CC 0 1 14 CC 0 11 CC 1 12 CC 0 10 CC 0 1 0

19 Implementation Mage SAT solver Mage is integrated in IBM’s RuleBase Parallel Edition SAT-based Model Checkers: Bounded model checker Proof based abstraction refinement McMillan’s interpolation

20 Experimental Results

21

22 Conclusion Technique for identification and deletion of redundant resolve sources during a SAT solver’s run Saves hundreds of MB when applied to SAT-based model checking of real life design Ease integration of Incremental SAT Simple and easy to implement


Download ppt "On-The-Fly Resolve Trace Minimization Ohad Shacham and Karen Yorav IBM Haifa Research Laboratory."

Similar presentations


Ads by Google