Skip to main content

Dagster: Parallel Structured Search with Case Studies

  • Conference paper
  • First Online:
  • 1234 Accesses

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 13629))

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.

This is a preview of subscription content, log in via an institution.

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   79.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   99.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

Notes

  1. 1.

    A serial portfolio with ‘pre-solving’ and ‘solving’ stages amenable to parallel/distributed computing.

  2. 2.

    For example, in AI planning, automatic problem decomposition is available using factoring techniques [9], and also using obligation approaches in [8].

  3. 3.

    Sourcecode: Zenodo [11], and GitHub, https://github.com/ANU-HPC/dagster.

  4. 4.

    https://github.com/ThomWillingham/bmc-summer2122.

References

  1. 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

    Chapter  Google Scholar 

  2. 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)

    Article  Google Scholar 

  3. Balyo, T., Sanders, P., Sinz, C.: HordeSat: a massively parallel portfolio SAT solver. In: Theory and Applications of Satisfiability Testing - SAT 2015 (2015)

    Google Scholar 

  4. Biere, A.: Lingeling, Plingeling, PicoSAT and PrecoSAT at SAT Race 2010. FMV Technical Report 10/1, Johannes Kepler University, Linz, Austria (2010)

    Google Scholar 

  5. Biere, A.: Splatz, Lingeling, PLingeling, Treengeling, YalSAT. In: Proceedings of the SAT Competition, pp. 44–45 (2016)

    Google Scholar 

  6. Biere, A., Cimatti, A., Clarke, E.M., Strichman, O., Zhu, Y.: Bounded model checking. Adv. Comput. 58, 117–148 (2003)

    Article  Google Scholar 

  7. Biere, A., Fleury, M.: Chasing target phases. In: 11th Workshop on Pragmatics of SAT (POS 2020) (2020)

    Google Scholar 

  8. 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

    Chapter  Google Scholar 

  9. 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)

    Google Scholar 

  10. 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)

    Google Scholar 

  11. Burgess, M.A.: Dagster - parallel structured search - source code (2022). https://doi.org/10.5281/zenodo.7016083

    Article  Google Scholar 

  12. 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

    Chapter  Google Scholar 

  13. 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

    Chapter  MATH  Google Scholar 

  14. 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)

    Article  Google Scholar 

  15. 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)

    Article  MathSciNet  MATH  Google Scholar 

  16. Drakakis, K., et al.: Results of the enumeration of Costas arrays of order \(27\). IEEE Trans. Inf. Theory 54(10), 4684–4687 (2008)

    Article  MathSciNet  MATH  Google Scholar 

  17. 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

    Chapter  Google Scholar 

  18. Falke, S., Merz, F., Sinz, C.: The bounded model checker LLBMC. In: ASE, pp. 706–709. IEEE (2013)

    Google Scholar 

  19. 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)

    Google Scholar 

  20. 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)

    Google Scholar 

  21. 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)

    MathSciNet  MATH  Google Scholar 

  22. 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)

    Google Scholar 

  23. Hamadi, Y., Wintersteiger, C.: Seven challenges in parallel SAT solving. In: AAAI Conference on Artificial Intelligence (2012)

    Google Scholar 

  24. 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

    Chapter  MATH  Google Scholar 

  25. 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)

    Google Scholar 

  26. 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

    Chapter  Google Scholar 

  27. 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)

    Google Scholar 

  28. 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)

    Article  MathSciNet  MATH  Google Scholar 

  29. 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

    Chapter  Google Scholar 

  30. 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)

    Google Scholar 

  31. Message Passing Interface Forum: MPI: A Message-Passing Interface Standard Version 3.1, June 2015

    Google Scholar 

  32. 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)

    Google Scholar 

  33. 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)

    Article  MATH  Google Scholar 

  34. 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)

    Google Scholar 

  35. Schreiber, D., Sanders, P.: Scalable SAT solving in the cloud. In: Theory and Applications of Satisfiability Testing - SAT 2021 (2021)

    Google Scholar 

  36. 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

    Chapter  Google Scholar 

  37. Wieringa, S., Heljanko, K.: Concurrent clause strengthening. In: Theory and Applications of Satisfiability Testing - SAT 2013 (2013)

    Google Scholar 

  38. 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)

    Article  MATH  Google Scholar 

Download references

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

Authors

Corresponding author

Correspondence to Mark Alexander Burgess .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2022 The Author(s), under exclusive license to Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

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)

Publish with us

Policies and ethics