Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Upcoming SlideShare
What to Upload to SlideShare
What to Upload to SlideShare
Loading in …3
×
1 of 30

More Related Content

You Might Also Like

Related Books

Free with a 30 day trial from Scribd

See all

Cari2020 Parallel Hybridization for SAT: An Efficient Combination of Search Space Splitting and Portfolio

  1. 1. African Conference on Research in Computer Science and Applied Mathematics Thiès, Senegal Parallel Hybridization for SAT: An Efficient Combination of Search Space Splitting and Portfolio Rodrigue Konan Tchinda and Clémentin Tayou Djamegni University of Dschang, Cameroon October 2020
  2. 2. Outline 1 Background 2 Parallel Hybridization for SAT 3 Conclusion and Future Work R. Konan Tchinda & C. Tayou D. CARI’2020 2 / 30
  3. 3. Outline 1 Background 2 Parallel Hybridization for SAT 3 Conclusion and Future Work
  4. 4. Propositional Logic I Propositional variable Variable whose domain is {true, false}. Example : x1, · · · , xn Literal It is a propositional variable (positive literal) or the negation of a propositional variable (negative literal). Example : ¬x1, x1, ¬x2, x2, · · · Clause Finite disjunction of literals. Example : C = (x1 ∨ ¬x2 ∨ x3) R. Konan Tchinda & C. Tayou D. CARI’2020 4 / 30
  5. 5. Propositional Logic II CNF Formula Finite conjunction of clauses. Example : F = (x1 ∨ ¬x2 ∨ x3) ∧ (¬x2 ∨ ¬x3) Interpretation An interpretation of a CNF formula F is an assignment of truth values to its variables. Model A model for a CNF formula F is an interpretation that makes F evaluates to true, i.e. an interpretation that set at least one literal of each clause of F to true. R. Konan Tchinda & C. Tayou D. CARI’2020 5 / 30
  6. 6. The Boolean Satisfiability Problem (SAT) I Satisfiable and unsatisfiable CNF formula A CNF formula is satisfiable if there is an assignment of truth values to its variables so that at least one literal of each clause is set to true. It is unsatisfiable otherwise. Definition (SAT) Input : a propositional logic formula F (generally in CNF) ; Output : the answer to the question « is F satisfiable ? » Example F1 = (x1 ∨ x2) ∧ (¬x1) ∧ (x1 ∨ x2) is satisfiable since setting x1 = false, x2 = true makes F1 satisfied, F2 = (x1 ∨ x2) ∧ (¬x1) ∧ (x1 ∨ ¬x2) is unsatisfiable. R. Konan Tchinda & C. Tayou D. CARI’2020 6 / 30
  7. 7. Great interest for SAT I On the theoretical level Reference NP-complete problem (Cook 1971) On the practical level SAT is used in many other fields of computer science Cryptanalysis Software and hardware verification Timetable construction Graph coloring ... R. Konan Tchinda & C. Tayou D. CARI’2020 7 / 30
  8. 8. Great interest for SAT II International Competitions A SAT Competition ( SAT Race, SAT Competition, SAT Challenge) is organized every year. At the end of each competition, the best solvers are awarded. Edmund Clarke : ACM Turing Award 2007 Clearly, efficient SAT solving is a key technology for 21st century computer science. R. Konan Tchinda & C. Tayou D. CARI’2020 8 / 30
  9. 9. CDCL algorithms CDCL (Conflict-Driven Clause Learning) (Marques-Silva and Sakallah 1996) Iteratively set variables until either you find a satisfying assignment (done !) or you reach a conflict When a conflict is reached, LEARN a clause that “remembers” the reason for the conflict Return UNSAT if the new learned clause is an empty clause Restart the search from time to time R. Konan Tchinda & C. Tayou D. CARI’2020 9 / 30
  10. 10. Parallel SAT Solving Why parallelize the resolution of SAT ? Inability of sequential SAT solvers to meet the increasing performance demand ; Current limitation of microprocessor’s frequency due to physical constraints Increasing power of today microprocessors by increasing the number of cores. Parallel Solving approaches 1 Search Space Splitting : splits the search space into multiple parts and assign them to worker solvers. 2 Portfolio approach : launches multiple solvers in parallel, and the first to find a solution ends the computation. R. Konan Tchinda & C. Tayou D. CARI’2020 10 / 30
  11. 11. Search Space Splitting I The search space is divided into multiple disjoint parts. Each part is assigned to a thread for solving, If one solver finds that the formula is satisfiable, then the search stops. A formula is declared unsatisfiable when all sub-formulas have been shown unsatisfiable. implementations use a master-slave architecture with work stealing for workload balancing. Figure – Search space splitting R. Konan Tchinda & C. Tayou D. CARI’2020 11 / 30
  12. 12. Search Space Splitting II Search Space Splitting (Strength) Good speedup can be reached more frequently on satisfiable formulas. Search Space Splitting (Limits) Load balancing issue (Martins, Manquinho, and Lynce 2010) ; Using dynamic load balancing in the SAT context can bring further issues such as the ping-pong phenomenon (Jurkowiak, Li, and Utard 2001) and useless division (Audemard, Benoit Hoessen, et al. 2014) ; R. Konan Tchinda & C. Tayou D. CARI’2020 12 / 30
  13. 13. Portfolio I Run several incarnations of the same solver (with different configurations) on the input instance To be effective solvers should be tuned to use complementary configurations Information sharing : clauses, variable activities, equivalent variables ... The sharing helps improve the system over the best search strategy No load balancing needed Figure – Portfolio approach R. Konan Tchinda & C. Tayou D. CARI’2020 13 / 30
  14. 14. Portfolio II Portfolio (Strength) Portfolio has the advantage that it does not need load balancing ; Simple to implement. Portfolio (Limits) Difficulty to guarantee diversification of the search through algorithms that complement each other ; Difficult to ensure scalability (Martins, Manquinho, and Lynce 2012). R. Konan Tchinda & C. Tayou D. CARI’2020 14 / 30
  15. 15. Outline 1 Background 2 Parallel Hybridization for SAT 3 Conclusion and Future Work
  16. 16. Related Work (Hybrid Approaches) Many hybrid approaches for parallel SAT solving proposed over the years. Blochinger (Blochinger 2005) proposed to use an adaptive competition. Nishant et al. (Totla and Devarakonda 2013) proposed to use a search space splitting at the high level to divide the search space into multiple disjoint parts and assign each part to a portfolio of solvers. Martins et al. (Martins, Manquinho, and Lynce 2010) proposed to begin with an initial stage of search space splitting, switching to a portfolio approach when load balancing becomes an issue or when a cutoff is reached. R. Konan Tchinda & C. Tayou D. CARI’2020 16 / 30
  17. 17. Our Parallel Hybridization Scheme I (a) Initially, solvers of the portfolio are regularly distributed over subformulas (b) Solvers migrate in a round robin fashion from one subformula to another R. Konan Tchinda & C. Tayou D. CARI’2020 17 / 30
  18. 18. Our Parallel Hybridization Scheme II (c) Unsatisfiable subformulas are marked in order to prevent other solvers from branching to it again (d) When it remains a single subformula, it is split again R. Konan Tchinda & C. Tayou D. CARI’2020 18 / 30
  19. 19. Our Parallel Hybridization Scheme III (e) Partitioning (f) The search is stopped if the solver finds a model or if all subformulas are unsatisfiable Figure – Schematic representation of the different steps of our approach R. Konan Tchinda & C. Tayou D. CARI’2020 19 / 30
  20. 20. Strength At first, there is no need to introduce a workload balancing mechanism as in search space splitting ; Useless splitting is no longer dramatic ; The ping-pong phenomenon is avoided ; Unlike classical portfolio, the diversification is well controlled. R. Konan Tchinda & C. Tayou D. CARI’2020 20 / 30
  21. 21. Implementation Details and Experiments I We implemented our approach on top of the portfolio SAT solver PeneLoPe (Audemard, Benoıt Hoessen, et al. 2014) ; We configured each solver to use 4 cores ; For the partitioning heuristic, we used a weak portfolio (Martins, Manquinho, and Lynce 2010) to choose 3 partition variables. Thread moves are controlled through the jump a constant α (0 < α < 1) called jump factor. Table – Experiment results on the 100 hardest benchmarks of the parallel track of the SAT-Race 2015 Solvers #SAT (time) #UNSAT (time) Total PeneLoPe (SC 2014) 26 (17 639 s) 7 (5 447 s) 33 PeneLoPeDPRFolio-0.6 27 (11 826 s) 7 (4 058 s) 34 PeneLoPeDPRFolio-0.7 27 (12 161 s) 7 (4 221 s) 34 PeneLoPeDPRFolio-0.9 32 (22 504 s) 6 (3 393 s) 38 R. Konan Tchinda & C. Tayou D. CARI’2020 21 / 30
  22. 22. Implementation Details and Experiments II Figure – Cactus plot on the 100 hardest benchmarks of the SAT-Race 2015 : on the left, the cactus plot on all (satisfiable and unsatisfiable) instances. On the right, we have the cactus plot on satisfiable instances only R. Konan Tchinda & C. Tayou D. CARI’2020 22 / 30
  23. 23. Implementation Details and Experiments III Summary These results lead us to the conclusion that our solvers perform well on hard satisfiable instances. Low performances on unsatisfiable instances may be explained by the bogus split (Schulz and Blochinger 2010) issue. R. Konan Tchinda & C. Tayou D. CARI’2020 23 / 30
  24. 24. Outline 1 Background 2 Parallel Hybridization for SAT 3 Conclusion and Future Work
  25. 25. Conclusion We proposed a new combination of search space splitting and portfolio in order to enhance parallel SAT solving ; The proposed approach leverages the strength of the combined approaches while eliminating some of their weaknesses ; The experiments results showed promising improvements. R. Konan Tchinda & C. Tayou D. CARI’2020 25 / 30
  26. 26. Future Work This work opens doors to many other investigations : In the proposed parallel hybrid approach, results suggest that the jump factor α can have a significant impact on the performance of the solver. So one further research direction is to investigate the real impact of jump factor in the search process. It might also be interesting to study how to limit the negative impact of search space splitting on unsatisfiable instances. R. Konan Tchinda & C. Tayou D. CARI’2020 26 / 30
  27. 27. Some useful links 1 SAT competitions/Races/Challenges web site : http://www.satcompetition.org/, 2 Sparkle SAT Challenge : http://ada.liacs.nl/events/sparkle-sat-18/ 3 Recent news about SAT : http://www.satlive.org/, 4 StarExec, a cross community logic solving service : https://www.starexec.org R. Konan Tchinda & C. Tayou D. CARI’2020 27 / 30
  28. 28. Thanks for your kind attention ! ! ! R. Konan Tchinda & C. Tayou D. CARI’2020 28 / 30
  29. 29. References I Audemard, Gilles, Benoit Hoessen, et al. (2014). “An effective distributed d&c approach for the satisfiability problem”. In: Parallel, Distributed and Network-Based Processing (PDP), 2014 22nd Euromicro International Conference on. IEEE, pp. 183–187. Audemard, Gilles, Benoıt Hoessen, et al. (2014). “PeneLoPe in SAT Competition 2014”. In: SAT COMPETITION 2014, p. 58. Blochinger, Wolfgang (2005). “Towards Robustness in Parallel SAT Solving.” In: PARCO, pp. 301–308. Cook, Stephen A (1971). “The complexity of theorem-proving procedures”. In: Proceedings of the third annual ACM symposium on Theory of computing. ACM, pp. 151–158. Jurkowiak, Bernard, Chu Min Li, and Gil Utard (2001). “Parallelizing Satz using dynamic workload balancing”. In: Electronic Notes in Discrete Mathematics 9, pp. 174–189. R. Konan Tchinda & C. Tayou D. CARI’2020 29 / 30
  30. 30. References II Marques-Silva, JP and KA Sakallah (1996). Grasp-a new search algorithm for satisfiability. ICCAD. Martins, Ruben, Vasco Manquinho, and Inês Lynce (2010). “Improving search space splitting for parallel SAT solving”. In: Tools with Artificial Intelligence (ICTAI), 2010 22nd IEEE International Conference on. Vol. 1. IEEE, pp. 336–343. – (2012). “An overview of parallel SAT solving”. In: Constraints 17.3, pp. 304–347. Schulz, Sven and Wolfgang Blochinger (2010). “Cooperate and compete ! A hybrid solving strategy for task-parallel SAT solving on peer-to-peer desktop grids”. In: High Performance Computing and Simulation (HPCS), 2010 International Conference on. IEEE, pp. 314–323. Totla, Nishant and Aditya Devarakonda (2013). Massive Parallelization of SAT Solvers. R. Konan Tchinda & C. Tayou D. CARI’2020 30 / 30

×