Skip to main content

Constraint Solving on Hybrid Systems

  • Conference paper
  • First Online:
Book cover Declarative Programming and Knowledge Management (WFLP 2017, WLP 2017, INAP 2017)

Abstract

Applying parallelism to constraint solving seems a promising approach and it has been done with varying degrees of success. Early attempts to parallelize constraint propagation, which constitutes the core of traditional interleaved propagation and search constraint solving, were hindered by its essentially sequential nature. Recently, parallelization efforts have focussed mainly on the search part of constraint solving, as well as on local-search based solving. Lately, a particular source of parallelism has become pervasive, in the guise of GPUs, able to run thousands of parallel threads, and they have naturally drawn the attention of researchers in parallel constraint solving.

In this paper, we address challenges faced when using multiple devices for constraint solving, especially GPUs, such as deciding on the appropriate level of parallelism to employ, load balancing and inter-device communication, and present our current solutions.

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

Access this chapter

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

Notes

  1. 1.

    Intel MICs are coprocessors that combine many Intel processor cores onto a single chip with dedicated RAM.

  2. 2.

    If a device takes less than one second to explore a block of search spaces, most of that time is spent communicating with the host and initializing its data structures.

  3. 3.

    A CUDA core is a processing element capable of executing one integer or floating instruction per clock for a thread.

References

  1. Arbelaez, A., Codognet, P.: A GPU implementation of parallel constraint-based local search. In: 2014 22nd Euromicro International Conference on PDP, pp. 648–655. IEEE (2014)

    Google Scholar 

  2. Barták, R., Salido, M.A.: Constraint satisfaction for planning and scheduling problems. Constraints 16(3), 223–227 (2011)

    Article  MathSciNet  Google Scholar 

  3. Brailsford, S., Potts, C., Smith, B.: Constraint satisfaction problems: algorithms and applications. Eur. J. Oper. Res. 119, 557–581 (1999)

    Article  Google Scholar 

  4. Campeotto, F., Dal Palù, A., Dovier, A., Fioretto, F., Pontelli, E.: Exploring the use of GPUs in constraint solving. In: Flatt, M., Guo, H.-F. (eds.) PADL 2014. LNCS, vol. 8324, pp. 152–167. Springer, Cham (2014). https://doi.org/10.1007/978-3-319-04132-2_11

    Chapter  Google Scholar 

  5. Chu, G., Schulte, C., Stuckey, P.J.: Confidence-based work stealing in parallel constraint programming. In: Gent, I.P. (ed.) CP 2009. LNCS, vol. 5732, pp. 226–241. Springer, Heidelberg (2009). https://doi.org/10.1007/978-3-642-04244-7_20

    Chapter  Google Scholar 

  6. Diaz, D., Richoux, F., Codognet, P., Caniou, Y., Abreu, S.: Constraint-based local search for the costas array problem. In: Hamadi, Y., Schoenauer, M. (eds.) LION 2012. LNCS, pp. 378–383. Springer, Heidelberg (2012). https://doi.org/10.1007/978-3-642-34413-8_31

    Chapter  Google Scholar 

  7. Filho, C., Rocha, D., Costa, M., Albuquerque, P.: Using constraint satisfaction problem approach to solve human resource allocation problems in cooperative health services. Expert Syst. Appl. 39(1), 385–394 (2012)

    Article  Google Scholar 

  8. Gaster, B., Howes, L., Kaeli, D., Mistry, P., Schaa, D.: Heterogeneous Computing with OpenCL. Morgan Kaufmann Publishers Inc., San Francisco (2011)

    Google Scholar 

  9. Jefferson, C., Miguel, I., Hnich, B., Walsh, T., Gent, I.P.: CSPLib: a problem library for constraints (1999). http://www.csplib.org

  10. Jenkins, J., Arkatkar, I., Owens, J.D., Choudhary, A., Samatova, N.F.: Lessons learned from exploring the backtracking paradigm on the GPU. In: Jeannot, E., Namyst, R., Roman, J. (eds.) Euro-Par 2011. LNCS, vol. 6853, pp. 425–437. Springer, Heidelberg (2011). https://doi.org/10.1007/978-3-642-23397-5_42

    Chapter  Google Scholar 

  11. Mairy, J.-B., Deville, Y., Lecoutre, C.: Domain k-wise consistency made as simple as generalized arc consistency. In: Simonis, H. (ed.) CPAIOR 2014. LNCS, vol. 8451, pp. 235–250. Springer, Cham (2014). https://doi.org/10.1007/978-3-319-07046-9_17

    Chapter  Google Scholar 

  12. MIT: a suite of minizinc benchmarks (2017). https://github.com/MiniZinc/minizinc-benchmarks

  13. Munshi, A., Gaster, B., Mattson, T.G., Fung, J., Ginsburg, D.: OpenCL Programming Guide, 1st edn. Addison-Wesley Professional, Boston (2011)

    Google Scholar 

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

  15. NVIDIA Corporation: NVIDIA GeForce GTX 980 featuring maxwell, the most advanced GPU ever made. White paper. NVIDIA Corporation (2014)

    Google Scholar 

  16. Pedro, V.: Constraint programming on hierarchical multiprocessor systems. Ph.D. thesis, Universidade de Évora (2012)

    Google Scholar 

  17. Pedro, V., Abreu, S.: Distributed work stealing for constraint solving. In: Vidal, G., Zhou, N.F. (eds.) CICLOPS-WLPE 2010, Edinburgh, Scotland, U.K. (2010)

    Google Scholar 

  18. Rolf, C.C., Kuchcinski, K.: Load-balancing methods for parallel and distributed constraint solving. In: 2008 IEEE International Conference on Cluster Computing, pp. 304–309, September 2008

    Google Scholar 

  19. Rolf, C.C., Kuchcinski, K.: Parallel solving in constraint programming. In: MCC 2010, November 2010

    Google Scholar 

  20. Régin, J.-C., Rezgui, M., Malapert, A.: Embarrassingly parallel search. In: Schulte, C. (ed.) CP 2013. LNCS, vol. 8124, pp. 596–610. Springer, Heidelberg (2013). https://doi.org/10.1007/978-3-642-40627-0_45

    Chapter  Google Scholar 

  21. Schulte, C.: Parallel search made simple. In: Beldiceanu, N., et al. (eds.) Proceedings of TRICS: CP 2000, Singapore, September 2000

    Google Scholar 

  22. Schulte, C., Duchier, D., Konvicka, F., Szokoli, G., Tack, G.: Generic constraint development environment. http://www.gecode.org/

Download references

Acknowledgments

This work was partially funded by Fundação para a Ciência e Tecnologia (FCT) under grant UID/CEC/4668/2016 (LISP). Some of the experimentation was carried out on the khromeleque cluster of the University of Évora, which was partly funded by grants ALENT-07-0262-FEDER-001872 and ALENT-07-0262-FEDER-001876.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Pedro Roque .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2018 Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Roque, P., Pedro, V. (2018). Constraint Solving on Hybrid Systems. In: Seipel, D., Hanus, M., Abreu, S. (eds) Declarative Programming and Knowledge Management. WFLP WLP INAP 2017 2017 2017. Lecture Notes in Computer Science(), vol 10997. Springer, Cham. https://doi.org/10.1007/978-3-030-00801-7_1

Download citation

  • DOI: https://doi.org/10.1007/978-3-030-00801-7_1

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-030-00800-0

  • Online ISBN: 978-3-030-00801-7

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics