Successfully reported this slideshow.
Upcoming SlideShare
×
1 of 30

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

0

Share

Rodrigue Konan Tchinda and Clémentin Tayou Djamegni

## More Related Content

See all

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 Eﬃcient 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 Satisﬁability Problem (SAT) I Satisﬁable and unsatisﬁable CNF formula A CNF formula is satisﬁable 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 unsatisﬁable otherwise. Deﬁnition (SAT) Input : a propositional logic formula F (generally in CNF) ; Output : the answer to the question « is F satisﬁable ? » Example F1 = (x1 ∨ x2) ∧ (¬x1) ∧ (x1 ∨ x2) is satisﬁable since setting x1 = false, x2 = true makes F1 satisﬁed, F2 = (x1 ∨ x2) ∧ (¬x1) ∧ (x1 ∨ ¬x2) is unsatisﬁable. 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 ﬁelds of computer science Cryptanalysis Software and hardware veriﬁcation 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, eﬃcient 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 (Conﬂict-Driven Clause Learning) (Marques-Silva and Sakallah 1996) Iteratively set variables until either you ﬁnd a satisfying assignment (done !) or you reach a conﬂict When a conﬂict is reached, LEARN a clause that “remembers” the reason for the conﬂict 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 ﬁrst to ﬁnd 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 ﬁnds that the formula is satisﬁable, then the search stops. A formula is declared unsatisﬁable when all sub-formulas have been shown unsatisﬁable. 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 satisﬁable 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 diﬀerent conﬁgurations) on the input instance To be eﬀective solvers should be tuned to use complementary conﬁgurations 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) Diﬃculty to guarantee diversiﬁcation of the search through algorithms that complement each other ; Diﬃcult 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 cutoﬀ 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) Unsatisﬁable 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 ﬁnds a model or if all subformulas are unsatisﬁable Figure – Schematic representation of the diﬀerent steps of our approach R. Konan Tchinda & C. Tayou D. CARI’2020 19 / 30
20. 20. Strength At ﬁrst, 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 diversiﬁcation 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 conﬁgured 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 (satisﬁable and unsatisﬁable) instances. On the right, we have the cactus plot on satisﬁable 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 satisﬁable instances. Low performances on unsatisﬁable 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 signiﬁcant 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 unsatisﬁable 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 eﬀective distributed d&c approach for the satisﬁability 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 satisﬁability. ICCAD. Martins, Ruben, Vasco Manquinho, and Inês Lynce (2010). “Improving search space splitting for parallel SAT solving”. In: Tools with Artiﬁcial 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