Nothing Special   »   [go: up one dir, main page]

Skip to main content

Shared SAT Solvers and SAT Memory in Distributed Business Applications

  • Conference paper
  • First Online:
Digital Business and Intelligent Systems (Baltic DB&IS 2022)

Part of the book series: Communications in Computer and Information Science ((CCIS,volume 1598))

Abstract

We propose a software architecture where SAT solvers act as a shared network resource for distributed business applications. There can be multiple parallel SAT solvers running either on dedicated hardware (a multi-processor system or a system with a specific GPU) or in the cloud. In order to avoid complex message passing between network nodes, we introduce a novel concept of the shared SAT memory, which can be accessed (in the read/write mode) from multiple different SAT solvers and modules implementing the business logic. As a result, our architecture allows for the easy generation, diversification, and solving of SAT instances from existing high-level programming languages without the need to think about the network. We demonstrate our architecture on the use case of transforming the integer factorization problem to SAT.

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

Access this chapter

Subscribe and save

Springer+ Basic
$34.99 /Month
  • Get 10 units per month
  • Download Article/Chapter or eBook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 69.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 89.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

Institutional subscriptions

Similar content being viewed by others

Notes

  1. 1.

    Given a Boolean formula F, determine whether there exists an assignment for all Boolean variables used in F such that F evaluates to true.

  2. 2.

    For SAT, the proof could consist of assignments for the variables and a polynomial algorithm for evaluating the SAT formula.

  3. 3.

    Institute of Mathematics and Computer Science, University of Latvia.

  4. 4.

    Such as Nvidia T4 16 GB GPU (used in our experiments).

  5. 5.

    MapleSAT has multiple configurations. It is based on MiniSAT [10]; see https://sites.google.com/a/gsd.uwaterloo.ca/maplesat/maplesat.

  6. 6.

    https://github.com/arminbiere/lingeling.

  7. 7.

    If interface I is a set of web methods \(m_1, m_2, \dots ,\) and the object o is included in web memory classes \(C_1, C_2, \dots \), then o implements I, iff \(\forall m_i\exists C_j:\) ClassName(\(C_j\)).methodName(\(m_i\)) \(\in \) Code Space.

  8. 8.

    This implies that web I/O devices must be implemented in a thread-safe way.

  9. 9.

    In this paper, we cover CNF only.

  10. 10.

    https://satcompetition.github.io.

  11. 11.

    Technically, in order to avoid copying of clauses, the common part with the original SAT memory is factored out and stored only once.

  12. 12.

    Direct memory access.

  13. 13.

    The extension of the HTTP protocol for highly-efficient bi-directional communication via the network.

  14. 14.

    For the sake of clarity, we omitted the web kernel and some steps of Fig. 2.

  15. 15.

    The Davis–Putnam–Logemann–Loveland algorithm.

  16. 16.

    Conflict-driven clause-learning.

  17. 17.

    Variable State Independent Decaying Sum.

  18. 18.

    In 2022, it is available at https://github.com/joebebel/toughsat.git; older references point to https://toughsat.appspot.com/, which is no more available.

References

  1. Aho, A.V., Hopcroft, J.E., Ullman, J.D.: The Design and Analysis of Computer Algorithms. Addison-Wesley Series in Computer Science and Information Processing. Addison-Wesley, Reading (1974)

    Google Scholar 

  2. Andrews, M., Whittaker, J.A.: How to Break Web Software: Functional and Security Testing of Web Applications and Web Services. Addison-Wesley Professional, Boston (2006)

    Google Scholar 

  3. Audemard, G., Simon, L.: On the glucose SAT solver. Int. J. Artif. Intell. Tools 27(01), 1840001 (2018)

    Article  Google Scholar 

  4. Balyo, T., Sanders, P., Sinz, C.: HordeSat: a massively parallel portfolio SAT solver, May 2015. https://doi.org/10.1007/978-3-319-24318-4_12

  5. Bebel, J.: Harder SAT Instances from Factoring with Karatsuba and Espresso. In: Proceedings of SAT Race 2019. University of Helsinki (2019)

    Google Scholar 

  6. Biere, A., Heule, M., Maaren, H.V. (eds.): Handbook of Satisfiability. Frontiers in Artificial Intelligence and Applications, vol. 336, 2nd edn. IOS Press, Amsterdam; Washington, DC (2021). oCLC: on1250382566

    Google Scholar 

  7. Boulanger, J.L. (ed.): Formal Methods Applied to Complex Systems: Implementation of the B Method. Computer Engineering Series, ISTE; Wiley, London: Hoboken, New Jersey (2014)

    Google Scholar 

  8. Braunstein, A., Mezard, M., Zecchina, R.: Survey propagation: an algorithm for satisfiability. Random Struct. Algorithms 27, 201–226 (2005)

    Article  MathSciNet  Google Scholar 

  9. Eggersglüss, S., Eggersglüß, S., Drechsler, R.: High Quality Test Pattern Generation and Boolean Satisfiability. Springer, New York (2012). https://doi.org/10.1007/978-1-4419-9976-4

    Book  MATH  Google Scholar 

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

  11. Folino, G., Pizzuti, C., Spezzano, G.: Parallel hybrid method for SAT that couples genetic algorithms and local search. IEEE Trans. Evol. Comput. 5(4), 323–334 (2001)

    Article  Google Scholar 

  12. Hamadi, Y., Jabbour, S., Sais, L.: ManySAT: a parallel SAT solver. JSAT 6, 245–262 (2009)

    MATH  Google Scholar 

  13. Huang, J.: Universal booleanization of constraint models. In: Stuckey, P.J. (ed.) CP 2008. LNCS, vol. 5202, pp. 144–158. Springer, Heidelberg (2008). https://doi.org/10.1007/978-3-540-85958-1_10

    Chapter  Google Scholar 

  14. Knuth, D.E.: The Art of Computer Programming, Volume 2: Seminumerical Algorithms, vol. 2, 3rd edn. Addison-Wesley, Reading (1997)

    Google Scholar 

  15. Kozlovičs, S.: The web computer and its operating system: a new approach for creating web applications. In: Proceedings of the 15th International Conference on Web Information Systems and Technologies (WEBIST 2019), Vienna, Austria, pp. 46–57. SCITEPRESS (2019)

    Google Scholar 

  16. Kozlovičs, S.: webAppOS: creating the illusion of a single computer for web application developers. In: Bozzon, A., Domínguez Mayo, F.J., Filipe, J. (eds.) WEBIST 2019. LNBIP, vol. 399, pp. 1–21. Springer, Cham (2020). https://doi.org/10.1007/978-3-030-61750-9_1

    Chapter  Google Scholar 

  17. Li, K., Hudak, P.: Memory coherence in shared virtual memory systems. ACM Trans. Comput. Syst. 7(4), 321–359 (1989)

    Article  Google Scholar 

  18. Malik, S., Zhang, L.: Boolean satisfiability: from theoretical hardness to practical success. Commun. ACM 52(8), 76–82 (2009)

    Article  Google Scholar 

  19. Moskewicz, M., Madigan, C., Zhao, Y., Zhang, L., Malik, S.: Chaff: engineering an efficient SAT solver. In: Proceedings of the 38th Design Automation Conference (IEEE cat. No. 01CH37232), pp. 530–535 (2001)

    Google Scholar 

  20. Nethercote, N., Stuckey, P.J., Becket, R., Brand, S., Duck, G.J., Tack, G.: MiniZinc: towards a standard CP modelling language. In: Bessière, C. (ed.) CP 2007. LNCS, vol. 4741, pp. 529–543. Springer, Heidelberg (2007). https://doi.org/10.1007/978-3-540-74970-7_38

    Chapter  Google Scholar 

  21. Ozolins, E., Freivalds, K., Draguns, A., Gaile, E., Zakovskis, R., Kozlovics, S.: Goal-aware neural SAT solver. In: Proceedings of the 2022 International Joint Conference on Neural Networks (IJCNN 2022) (2022)

    Google Scholar 

  22. Rintanen, J.: Planning as satisfiability: heuristics. Artif. Intell. 193, 45–86 (2012)

    Article  MathSciNet  Google Scholar 

  23. West, D.: Object Thinking. Microsoft Professional. Microsoft, Redmond (2004)

    Google Scholar 

  24. Zhou, N.-F., Kjellerstrand, H.: The Picat-SAT compiler. In: Gavanelli, M., Reppy, J. (eds.) PADL 2016. LNCS, vol. 9585, pp. 48–62. Springer, Cham (2016). https://doi.org/10.1007/978-3-319-28228-2_4

    Chapter  Google Scholar 

Download references

Acknowledgements

Research supported by the Latvian Council of Science, Project No. 2021/1-0479 “Combinatorial Optimization with Deep Neural Networks”.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Sergejs Kozlovičs .

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

Kozlovičs, S. (2022). Shared SAT Solvers and SAT Memory in Distributed Business Applications. In: Ivanovic, M., Kirikova, M., Niedrite, L. (eds) Digital Business and Intelligent Systems. Baltic DB&IS 2022. Communications in Computer and Information Science, vol 1598. Springer, Cham. https://doi.org/10.1007/978-3-031-09850-5_14

Download citation

  • DOI: https://doi.org/10.1007/978-3-031-09850-5_14

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-031-09849-9

  • Online ISBN: 978-3-031-09850-5

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics