Skip to main content
Log in

SPAWN: An Iterative, Potentials-Based, Dynamic Scheduling and Partitioning Tool

  • Published:
International Journal of Parallel Programming Aims and scope Submit manuscript

Abstract

Many applications of physics modeling use regular meshes on which computations of highly variable cost over time can occur. Distributing the underlying cells over manycore architectures is a critical load balancing step that should be performed the less frequently possible. Graph partitioning tools are known to be very effective for such problems, but they exhibit scalability problems as the number of cores and the number of cells increase. We introduce a dynamic task scheduling and mesh partitioning approach inspired by physical particle interactions. Our method virtually moves cores over a 2D/3D mesh of tasks and uses a Voronoi domain decomposition to balance workload. Displacements of cores are the result of force computations using a carefully chosen pair potential. We evaluate our method against graph partitioning tools and existing task schedulers with a representative physical application, and demonstrate the relevance of our approach.

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

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12
Fig. 13
Fig. 14
Fig. 15
Fig. 16
Fig. 17
Fig. 18
Fig. 19

Similar content being viewed by others

References

  1. Fxt library for execution traces generation. https://savannah.nongnu.org/projects/fkt/

  2. Augonnet, C., Thibault, S., Namyst, R., Wacrenier, P.A.: StarPU: a unified platform for task scheduling on heterogeneous multicore architectures. Concurr. Comput. Pract. Exp. 23(2), 187–198 (2011)

    Article  Google Scholar 

  3. Blura, H.: Biological shape and visual science. J. Thcor. Biol 38, 205–287 (1973)

    Article  Google Scholar 

  4. Brostow, W., Dussault, J.P., Fox, B.L.: Construction of voronoï polyhedra. J. Comput. Phys. 29(1), 81–92 (1978)

    Article  MathSciNet  Google Scholar 

  5. Chevalier, C., Pellegrini, F.: PT-Scotch: A tool for efficient parallel graph ordering. In: 4th International Workshop on Parallel Matrix Algorithms and Applications (PMAA’06). Rennes, France (2006). https://hal.archives-ouvertes.fr/hal-00410427. Extended abstract, 2 p

  6. Devine, K., Hendrickson, B., Boman, E., John, M.S., Vaughan, C.: Design of dynamic load-balancing tools for parallel applications. In: Proceedings of the International Conference on Supercomputing, pp. 110–118. Santa Fe, New Mexico (2000)

  7. Hemmert, S.: Green hpc: From nice to necessity. Comput. Sci. Eng. 12(6), 0008-10 (2010)

    Article  Google Scholar 

  8. Hendrickson, B., Leland, R.: A multi-level algorithm for partitioning graphs. SC 95, 28 (1995)

    MATH  Google Scholar 

  9. Karypis, G., Kumar, V.: Parallel multilevel k-way partitioning scheme for irregular graphs. In: Proceedings of the 1996 ACM/IEEE Conference on Supercomputing, Supercomputing ’96. IEEE Computer Society, Washington, DC, USA (1996). https://doi.org/10.1145/369028.369103

  10. Karypis, G., Kumar, V.: Parallel Multilevel k-Way Partitioning Scheme for Irregular Graphs, Department of Computer Science, p. 96-036. University of Minnesota, Minneapolis (1996)

    Google Scholar 

  11. Karypis, G., Kumar, V.: A fast and high quality multilevel scheme for partitioning irregular graphs. SIAM J. Sci. Comput. 20(1), 359–392 (1998). https://doi.org/10.1137/S1064827595287997

    Article  MathSciNet  MATH  Google Scholar 

  12. Kukanov, A., Voss, M.J.: The foundations for scalable multi-core software in intel threading building blocks. Intel Technol. J. 11(4), 309 (2007)

    Article  Google Scholar 

  13. Okabe, A.: Spatial Tessellations: Concepts and Applications of Voronoï Diagrams. Wiley, Chichester (2000)

    Book  Google Scholar 

  14. OpenMP-Committee: Openmp application program interface 3.0. Technical report, OpenMP Architecture Review Board, http://www.openmp.org/mp-documents/spec30.pdf (2008). http://hal.inria.fr/inria-00473617

  15. Pellegrini, F.: Scotch and libScotch 5.1 User’s Guide (2008), 127 p. https://hal.archives-ouvertes.fr/hal-00410327

  16. Reem, D.: The geometric stability of voronoï diagrams with respect to small changes of the sites. In: Proceedings of the Twenty-seventh Annual Symposium on Computational Geometry, SoCG ’11, pp. 254–263. ACM, New York, NY, USA (2011). https://doi.org/10.1145/1998196.1998234

  17. Rhynsburger, D.: Analytic delineation of thiessen polygons. Geograph. Anal. 5(2), 133–144 (1973)

    Article  Google Scholar 

  18. Runtime, I.: Starpu handbook. http://starpu.gforge.inria.fr/doc/starpu.pdf

  19. Supercomputing Technologies Group, Massachusetts Institute of Technology Laboratory for Computer Science: Cilk 5.4.6 Reference Manual (2001). http://supertech.lcs.mit.edu/cilk/manual-5.4.6.pdf

  20. Ullman, J.D.: Np-complete scheduling problems. J. Comput. Syst. Sci. 10(3), 384–393 (1975). https://doi.org/10.1016/S0022-0000(75)80008-0

    Article  MathSciNet  MATH  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Jean-Charles Papin.

Additional information

Publisher's Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Papin, JC., Denoual, C., Colombet, L. et al. SPAWN: An Iterative, Potentials-Based, Dynamic Scheduling and Partitioning Tool. Int J Parallel Prog 49, 81–103 (2021). https://doi.org/10.1007/s10766-020-00677-9

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10766-020-00677-9

Keywords

Navigation