Advertisement

Implementing YewPar: A Framework for Parallel Tree Search

  • Blair ArchibaldEmail author
  • Patrick Maier
  • Robert Stewart
  • Phil Trinder
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 11725)

Abstract

Combinatorial search is central to many applications yet hard to parallelise. We argue for improving the reuse of parallel searches, and present the design and implementation of a new parallel search framework. YewPar generalises search by abstracting search tree generation, and by providing algorithmic skeletons that support three search types, together with a set of search coordination strategies. The evaluation shows that the cost of YewPar generality is low (6.1%); global knowledge is inexpensively shared between workers; irregular tasks are effectively distributed; and YewPar delivers good runtimes, speedups and efficiency with up to 255 workers on 17 localities.

Keywords

Exact combinatorial search Parallel search HPX 

Notes

Acknowledgments

Work supported by UK EPSRC Grants: S4: Science of Sensor Systems Software (EP/N007565/1); Border Patrol: Improving Smart Device Security through Type-Aware Systems Design (EP/N028201/1); AJITPar: Adaptive Just-In-Time Parallelisation (EP/L000687); and CoDiMa (EP/M022641). We also thank Greg Michaelson and the anonymous reviewers for their helpful comments.

References

  1. 1.
    Abu-Khzam, F.N., Daudjee, K., Mouawad, A.E., Nishimura, N.: On scalable parallel recursive backtracking. J. Parallel Distrib. Comput. 84, 65–75 (2015).  https://doi.org/10.1016/j.jpdc.2015.07.006CrossRefGoogle Scholar
  2. 2.
    Archibald, B.: Skeletons for Exact Combinatorial Search at Scale. Ph.D. thesis, University of Glasgow (2018). http://theses.gla.ac.uk/id/eprint/31000
  3. 3.
    Archibald, B., Maier, P., McCreesh, C., Stewart, R.J., Trinder, P.: Replicable parallel branch and bound search. J. Parallel Distrib. Comput. 113, 92–114 (2018).  https://doi.org/10.1016/j.jpdc.2017.10.010CrossRefGoogle Scholar
  4. 4.
    Avis, D., Jordan, C.: MTS: a light framework for parallelizing tree search codes. CoRR abs/1709.07605 (2017). http://arxiv.org/abs/1709.07605
  5. 5.
    de Bruin, A., Kindervater, G.A.P., Trienekens, H.W.J.M.: Asynchronous parallel branch and bound and anomalies. In: Ferreira, A., Rolim, J. (eds.) IRREGULAR 1995. LNCS, vol. 980, pp. 363–377. Springer, Heidelberg (1995).  https://doi.org/10.1007/3-540-60321-2_29CrossRefGoogle Scholar
  6. 6.
    Chamberlain, B.L., Callahan, D., Zima, H.P.: Parallel programmability and the chapel language. IJHPCA 21(3), 291–312 (2007).  https://doi.org/10.1177/1094342007078442CrossRefGoogle Scholar
  7. 7.
    Charles, P., et al.: X10: an object-oriented approach to non-uniform cluster computing. In: Proceedings of the 20th Annual ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications, OOPSLA 2005, 16–20 October 2005, San Diego, CA, USA. pp. 519–538.  https://doi.org/10.1145/1094811.1094852
  8. 8.
    Frigo, M., Leiserson, C.E., Randall, K.H.: The implementation of the cilk-5 multithreaded language. In: PLDI. pp. 212–223 (1998).  https://doi.org/10.1145/277650.277725
  9. 9.
    Fromentin, J., Hivert, F.: Exploring the tree of numerical semigroups. Math. Comp. 85(301), 2553–2568 (2016).  https://doi.org/10.1090/mcom/3075MathSciNetCrossRefzbMATHGoogle Scholar
  10. 10.
    Johnson, D.J., Trick, M.A. (eds.): Cliques, Coloring, and Satisfiability: Second DIMACS Implementation Challenge, Workshop, 11–13 October 1993. AMS (1996)Google Scholar
  11. 11.
    Kaiser, H., Heller, T., Adelstein-Lelbach, B., Serio, A., Fey, D.: HPX: a task based programming model in a global address space. In: PGAS. pp. 6:1–6:11 (2014).  https://doi.org/10.1145/2676870.2676883
  12. 12.
    Malapert, A., Régin, J.C., Rezgui, M.: Embarrassingly parallel search in constraint programming. J. Artif. Intell. Res. 57, 421–464 (2016)MathSciNetCrossRefGoogle Scholar
  13. 13.
    McCreesh, C., Prosser, P.: The shape of the search tree for the maximum clique problem and the implications for parallel branch and bound. TOPC 2(1), 8:1–8:27 (2015).  https://doi.org/10.1145/2742359CrossRefzbMATHGoogle Scholar
  14. 14.
    Pietracaprina, A., Pucci, G., Silvestri, F., Vandin, F.: Space-Efficient Parallel Algorithms for Combinatorial Search Problems. CoRR abs/1306.2552 (2013). http://arxiv.org/abs/1306.2552
  15. 15.
    Prosser, P.: Exact algorithms for maximum clique: a computational study. Algorithms 5(4), 545–587 (2012).  https://doi.org/10.3390/a5040545MathSciNetCrossRefzbMATHGoogle Scholar

Copyright information

© Springer Nature Switzerland AG 2019

Authors and Affiliations

  1. 1.School of Computing ScienceUniversity of GlasgowGlasgowUK
  2. 2.Mathematical and Computer SciencesHeriot-Watt UniversityEdinburghUK
  3. 3.Department of ComputingSheffield Hallam UniversitySheffieldUK

Personalised recommendations