Skip to main content

Self-splitting of Workload in Parallel Computation

  • Conference paper
Integration of AI and OR Techniques in Constraint Programming (CPAIOR 2014)

Abstract

Parallel computation requires splitting a job among a set of processing units called workers. The computation is generally performed by a set of one or more master workers that split the workload into chunks and distribute them to a set of slave workers. In this setting, communication among workers can be problematic and/or time consuming. Tree search algorithms are particularly suited for being applied in a parallel fashion, as different nodes can be processed by different workers in parallel. In this paper we propose a simple mechanism to convert a sequential tree-search code into a parallel one. In the new paradigm, called SelfSplit, each worker is able to autonomously determine, without any communication with the other workers, the job parts it has to process. Computational results are reported, showing that SelfSplit can achieve an almost linear speedup for hard Constraint Programming applications, even when 64 workers are considered.

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

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Dean, J., Ghemawat, S.: MapReduce: simplified data processing on large clusters. CACM 51(1), 107–113 (2008)

    Article  Google Scholar 

  2. Grama, A., Kumar, V.: State of the art in parallel search techniques for discrete optimization problems. IEEE Trans. Knowl. Data Eng. 11(1), 28–35 (1999)

    Article  Google Scholar 

  3. Michel, L., See, A., Hentenryck, P.V.: Transparent parallelization of constraint programming. INFORMS Journal on Computing 21(3), 363–382 (2009)

    Article  Google Scholar 

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

    Chapter  Google Scholar 

  5. Bordeaux, L., Hamadi, Y., Samulowitz, H.: Experiments with massively parallel constraint solving. In: Boutilier, C. (ed.) IJCAI 2009, pp. 443–448 (2009)

    Google Scholar 

  6. Gent, I.P., Jefferson, C., Miguel, I., Moore, N.C., Nightingale, P., Prosser, P., Unsworth, C.: A preliminary review of literature on parallel constraint solving. In: Proceedings PMCS 2011 Workshop on Parallel Methods for Constraint Solving (2011)

    Google Scholar 

  7. Shinano, Y., Heinz, S., Vigerske, S., Winkler, M.: Fiberscip – a shared memory parallelization of scip. Technical report, ZIB (2013)

    Google Scholar 

  8. Koch, T., Ralphs, T.K., Shinano, Y.: Could we use a million cores to solve an integer program? Mathematical Methods of Operations Research 76(1), 67–93 (2012)

    Article  MathSciNet  Google Scholar 

  9. Achterberg, T., Wunderling, R.: Mixed integer programming: Analyzing 12 years of progress. In: Facets of Combinatorial Optimization, pp. 449–481 (2013)

    Google Scholar 

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

    Chapter  Google Scholar 

  11. Moisan, T., Gaudreault, J., Quimper, C.-G.: Parallel discrepancy-based search. In: Schulte, C. (ed.) CP 2013. LNCS, vol. 8124, pp. 30–46. Springer, Heidelberg (2013)

    Chapter  Google Scholar 

  12. Harvey, W.D., Ginsberg, M.L.: Limited discrepanc search. In: IJCAI 1995, pp. 607–615 (1995)

    Google Scholar 

  13. Gecode Team: Gecode: Generic constraint development environment (2012), Available at http://www.gecode.org

  14. Fischetti, M., Toth, P.: An additive bounding procedure for the asymmetric travelling salesman problem. Mathematical Programming 53, 173–197 (1992)

    Article  MathSciNet  Google Scholar 

  15. Fischetti, M., Lodi, A., Toth, P.: Exact methods for the asymmetric traveling salesman problem. In: The traveling Salesman Problem and Its Variations, pp. 169–205. Springer, US (2004)

    MATH  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2014 Springer International Publishing Switzerland

About this paper

Cite this paper

Fischetti, M., Monaci, M., Salvagnin, D. (2014). Self-splitting of Workload in Parallel Computation. In: Simonis, H. (eds) Integration of AI and OR Techniques in Constraint Programming. CPAIOR 2014. Lecture Notes in Computer Science, vol 8451. Springer, Cham. https://doi.org/10.1007/978-3-319-07046-9_28

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-07046-9_28

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-07045-2

  • Online ISBN: 978-3-319-07046-9

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics