Abstract
We describe Dagster, a system that implements a new approach to scheduling interdependent (Boolean) SAT search activities in high-performance computing (HPC) environments. This system allows practitioners to solve challenging problems by efficiently distributing search effort across computing cores in a customizable way. Our solver takes as input a set of disjunctive clauses (i.e., DIMACS CNF) and a labelled directed acyclic graph (DAG) structure describing how the clauses are decomposed into a set of interrelated search problems. Component problems are solved using standard systematic backtracking search, which may optionally be coupled to (stochastic dynamic) local search and/or clause-strengthening processes. We show the performance of Dagster in combinatorial case study examples, particularly the model counting of Costas arrays, and in finding solutions to large Pentomino tiling problems. We also use Dagster to exhibit a novel workflow for Bounded Model Checking of network protocols where we perform independent searches at different problem fidelities, in parallel. Low fidelity solutions trigger further independent searches for refined solutions in higher fidelity models.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
Notes
- 1.
A serial portfolio with ‘pre-solving’ and ‘solving’ stages amenable to parallel/distributed computing.
- 2.
- 3.
Sourcecode: Zenodo [11], and GitHub, https://github.com/ANU-HPC/dagster.
- 4.
References
Audemard, G., Lagniez, J.-M., Szczepanski, N., Tabary, S.: A distributed version of Syrup. In: Gaspers, S., Walsh, T. (eds.) SAT 2017. LNCS, vol. 10491, pp. 215–232. Springer, Cham (2017). https://doi.org/10.1007/978-3-319-66263-3_14
Baldoni, R., Coppa, E., D’Elia, D.C., Demetrescu, C., Finocchi, I.: A survey of symbolic execution techniques. ACM Comput. Surv. 51(3), 1–39 (2018)
Balyo, T., Sanders, P., Sinz, C.: HordeSat: a massively parallel portfolio SAT solver. In: Theory and Applications of Satisfiability Testing - SAT 2015 (2015)
Biere, A.: Lingeling, Plingeling, PicoSAT and PrecoSAT at SAT Race 2010. FMV Technical Report 10/1, Johannes Kepler University, Linz, Austria (2010)
Biere, A.: Splatz, Lingeling, PLingeling, Treengeling, YalSAT. In: Proceedings of the SAT Competition, pp. 44–45 (2016)
Biere, A., Cimatti, A., Clarke, E.M., Strichman, O., Zhu, Y.: Bounded model checking. Adv. Comput. 58, 117–148 (2003)
Biere, A., Fleury, M.: Chasing target phases. In: 11th Workshop on Pragmatics of SAT (POS 2020) (2020)
Bradley, A.R.: SAT-based model checking without unrolling. In: Jhala, R., Schmidt, D. (eds.) VMCAI 2011. LNCS, vol. 6538, pp. 70–87. Springer, Heidelberg (2011). https://doi.org/10.1007/978-3-642-18275-4_7
Brafman, R.I., Domshlak, C.: Factored planning: how, when, and when not. In: 21st National Conference on Artificial Intelligence and 18th Innovative Applications of Artificial Intelligence Conference, pp. 809–814. AAAI Press (2006)
Brown, C.P., Cenkl, M., Games, R.A., Rushanan, J.J., Moreno, O., Pei, P.: New enumeration results for Costas arrays. In: IEEE International Symposium on Information Theory (1993)
Burgess, M.A.: Dagster - parallel structured search - source code (2022). https://doi.org/10.5281/zenodo.7016083
Cai, S., Zhang, X.: Deep cooperation of CDCL and local search for SAT. In: Li, C.-M., Manyà, F. (eds.) SAT 2021. LNCS, vol. 12831, pp. 64–81. Springer, Cham (2021). https://doi.org/10.1007/978-3-030-80223-3_6
Clarke, E., Kroening, D., Lerda, F.: A tool for checking ANSI-C programs. In: Jensen, K., Podelski, A. (eds.) TACAS 2004. LNCS, vol. 2988, pp. 168–176. Springer, Heidelberg (2004). https://doi.org/10.1007/978-3-540-24730-2_15
Cordeiro, L.C., Fischer, B., Marques-Silva, J.: SMT-based bounded model checking for embedded ANSI-C software. IEEE Trans. Software Eng. 38(4), 957–974 (2012)
Drakakis, K., Iorio, F., Rickard, S., Walsh, J.: Results of the enumeration of Costas arrays of order 29. Adv. Math. Commun. 5(3), 547–553 (2011)
Drakakis, K., et al.: Results of the enumeration of Costas arrays of order \(27\). IEEE Trans. Inf. Theory 54(10), 4684–4687 (2008)
Eén, N., Sörensson, N.: An extensible SAT-solver. In: Giunchiglia, E., Tacchella, A. (eds.) SAT 2003. LNCS, vol. 2919, pp. 502–518. Springer, Heidelberg (2004). https://doi.org/10.1007/978-3-540-24605-3_37
Falke, S., Merz, F., Sinz, C.: The bounded model checker LLBMC. In: ASE, pp. 706–709. IEEE (2013)
Frioux, L.L., Baarir, S., Sopena, J., Kordon, F.: PaInleSS: a framework for parallel SAT solving. In: Theory and Applications of Satisfiability Testing - SAT 2017 (2017)
Gadelha, M.R., Menezes, R.S., Cordeiro, L.C.: ESBMC 6.1: automated test case generation using bounded model checking. Int. J. Softw. Tools Technol. Transf. 23(6), 857–861 (2021)
Gil, L., Flores, P.F., Silveira, L.M.: PMSat: a parallel version of MiniSAT. J. Satisfiability Boolean Model. Comput. 6(1–3), 71–98 (2009)
Habet, D., Paris, L., Terrioux, C.: A tree decomposition based approach to solve structured SAT instances. In: 2009 21st IEEE International Conference on Tools with Artificial Intelligence, pp. 115–122. IEEE Computer Society (2009)
Hamadi, Y., Wintersteiger, C.: Seven challenges in parallel SAT solving. In: AAAI Conference on Artificial Intelligence (2012)
Heisinger, M., Fleury, M., Biere, A.: Distributed cube and conquer with Paracooba. In: Pulina, L., Seidl, M. (eds.) SAT 2020. LNCS, vol. 12178, pp. 114–122. Springer, Cham (2020). https://doi.org/10.1007/978-3-030-51825-7_9
Hosseini-Khayat, S.: A lightweight security protocol for ultra-low power ASIC implementation for wireless implantable medical devices. In: 2011 5th International Symposium on Medical Information and Communication Technology, pp. 6–9 (2011)
Huang, J.: A case for simple SAT solvers. In: Bessière, C. (ed.) CP 2007. LNCS, vol. 4741, pp. 839–846. Springer, Heidelberg (2007). https://doi.org/10.1007/978-3-540-74970-7_62
Huang, J.: The effect of restarts on the efficiency of clause learning. In: 20th International Joint Conference on Artificial Intelligence (IJCAI), pp. 2318–2323 (2007)
Ivancic, F., Yang, Z., Ganai, M.K., Gupta, A., Ashar, P.: Efficient SAT-based bounded model checking for software verification. Theoret. Comput. Sci. 404(3), 256–274 (2008)
Kroening, D., Tautschnig, M.: CBMC – C bounded model checker. In: Ábrahám, E., Havelund, K. (eds.) TACAS 2014. LNCS, vol. 8413, pp. 389–391. Springer, Heidelberg (2014). https://doi.org/10.1007/978-3-642-54862-8_26
Lagniez, J., Marquis, P., Szczepanski, N.: DMC: a distributed model counter. In: Lang, J. (ed.) Proceedings of the Twenty-Seventh International Joint Conference on Artificial Intelligence, IJCAI 2018, Stockholm, Sweden, 13–19 July 2018, pp. 1331–1338. ijcai.org (2018)
Message Passing Interface Forum: MPI: A Message-Passing Interface Standard Version 3.1, June 2015
Moskewicz, M.W., Madigan, C.F., Zhao, Y., Zhang, L., Malik, S.: Chaff: engineering an efficient SAT solver. In: Proceedings of the 38th Design Automation Conference, DAC 2001, Las Vegas, NV, USA, 18–22 June 2001, pp. 530–535. ACM (2001)
Pham, D.N., Thornton, J., Gretton, C., Sattar, A.: Combining adaptive and dynamic local search for satisfiability. J. Satisfiability Boolean Model. Comput. 4(2–4), 149–172 (2008)
Russo, J.C., Erickson, K.G., Beard, J.K.: Costas array search technique that maximizes backtrack and symmetry exploitation. In: 44th Annual Conference on Information Sciences and Systems (CISS), pp. 1–8. IEEE (2010)
Schreiber, D., Sanders, P.: Scalable SAT solving in the cloud. In: Theory and Applications of Satisfiability Testing - SAT 2021 (2021)
Walsh, T.: General symmetry breaking constraints. In: Benhamou, F. (ed.) CP 2006. LNCS, vol. 4204, pp. 650–664. Springer, Heidelberg (2006). https://doi.org/10.1007/11889205_46
Wieringa, S., Heljanko, K.: Concurrent clause strengthening. In: Theory and Applications of Satisfiability Testing - SAT 2013 (2013)
Xu, L., Hutter, F., Hoos, H.H., Leyton-Brown, K.: SATzilla: portfolio-based algorithm selection for SAT. J. Artif. Intell. Res. 32, 565–606 (2008)
Acknowledgements
Contributions to the Dagster project were made by Eamon Barrett—specifically, functionality related to decision diagrams—and Marshall Clifton—specifically, the clause strengthening subsystem—during their undergraduate studies at the Australian National University. This research was undertaken with the assistance of resources from the National Computational Infrastructure (NCI Australia), an NCRIS enabled capability supported by the Australian Government.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2022 The Author(s), under exclusive license to Springer Nature Switzerland AG
About this paper
Cite this paper
Burgess, M.A., Gretton, C., Milthorpe, J., Croak, L., Willingham, T., Tiu, A. (2022). Dagster: Parallel Structured Search with Case Studies. In: Khanna, S., Cao, J., Bai, Q., Xu, G. (eds) PRICAI 2022: Trends in Artificial Intelligence. PRICAI 2022. Lecture Notes in Computer Science, vol 13629. Springer, Cham. https://doi.org/10.1007/978-3-031-20862-1_6
Download citation
DOI: https://doi.org/10.1007/978-3-031-20862-1_6
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-031-20861-4
Online ISBN: 978-3-031-20862-1
eBook Packages: Computer ScienceComputer Science (R0)