Dynamic Load Balancing and Scalability Analysis of the Mandelbrot Set in a Multi-Threaded HPC Application
Resumo
This work investigates load balancing and scalability in High-Performance Computing (HPC) systems using the Mandelbrot Set as a benchmark. Due to its irregular and computationally intensive workload, the Mandelbrot Set is ideal for evaluating dynamic workload distribution strategies. We present a custom MPI-based implementation employing a client-server model with dynamic load balancing, where idle workers request new work from a coordinator. Our contributions include implementing this parallel application and a performance analysis highlighting load imbalance and system scalability. The main results indicate that the granularity factor significantly influences load balance, and its choice depends on the selected fractal region.
Referências
Dongarra, J. and Keyes, D. E. (2024). The co-evolution of computational physics and high-performance computing. Nature Reviews Physics.
Gómez, E. S. (2020). Mpi vs openmp: A case study on parallel generation of mandelbrot set. Innovation and Software, 1(2):12–26.
Jain, R. (1990). The art of computer systems performance analysis. john wiley & sons.
Mandelbrot, B. B. (1980). “fractal aspects of the iteration of z → z λ(1-z) for complex λ and z”. Annals of the New York Academy of Sciences, 357(1):249–259.
Mohammed, A., Cavelan, A., Ciorba, F. M., Cabezón, R. M., and Banicescu, I. (2020). Two-level dynamic load balancing for high performance scientific applications. In SIAM Conference on Parallel Processing for Scientific Computing.
Ozen, G., Ayguade, E., and Labarta, J. (2015). Exploring dynamic parallelism in openmp. In Proceedings of the Second Workshop on Accelerator Programming Using Directives, WACCPD ’15, New York, NY, USA. Association for Computing Machinery.
Sharma, S., Singh, S., and Sharma, M. (2008). Performance analysis of load balancing algorithms. International Journal of Civil and Environmental Engineering, 2(2):367.
Xu, C. and Lau, F. C. M. (2013). Load Balancing in Parallel Computers: Theory and Practice. Springer Publishing Company, Incorporated, 1st edition.
Yang, C.-T., Wu, C.-C., and Chang, J.-H. (2011). Performance-based parallel loop self-scheduling using hybrid openmp and mpi programming on multicore smp clusters. Concurrency and Computation: Practice and Experience, 23(8):721–744.
