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.
Similar content being viewed by others
References
Fxt library for execution traces generation. https://savannah.nongnu.org/projects/fkt/
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)
Blura, H.: Biological shape and visual science. J. Thcor. Biol 38, 205–287 (1973)
Brostow, W., Dussault, J.P., Fox, B.L.: Construction of voronoï polyhedra. J. Comput. Phys. 29(1), 81–92 (1978)
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
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)
Hemmert, S.: Green hpc: From nice to necessity. Comput. Sci. Eng. 12(6), 0008-10 (2010)
Hendrickson, B., Leland, R.: A multi-level algorithm for partitioning graphs. SC 95, 28 (1995)
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
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)
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
Kukanov, A., Voss, M.J.: The foundations for scalable multi-core software in intel threading building blocks. Intel Technol. J. 11(4), 309 (2007)
Okabe, A.: Spatial Tessellations: Concepts and Applications of Voronoï Diagrams. Wiley, Chichester (2000)
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
Pellegrini, F.: Scotch and libScotch 5.1 User’s Guide (2008), 127 p. https://hal.archives-ouvertes.fr/hal-00410327
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
Rhynsburger, D.: Analytic delineation of thiessen polygons. Geograph. Anal. 5(2), 133–144 (1973)
Runtime, I.: Starpu handbook. http://starpu.gforge.inria.fr/doc/starpu.pdf
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
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
Author information
Authors and Affiliations
Corresponding author
Additional information
Publisher's Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Rights and permissions
About this article
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
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10766-020-00677-9