Abstract
Load imbalance is a critical problem that degrades the performance of parallelized applications in massively parallel processing. Although an MPI/OpenMP implementation is widely used for parallelization, users must maintain load balancing at the process level and thread (core) level for effective parallelization. In this paper, we propose dynamic core binding (DCB) to processes for reducing the computation time and energy consumption of applications. Using the DCB approach, an unequal number of cores is bound to each process, and load imbalance among processes is mitigated at the core level. This approach is not only improving parallel performance but also reducing power consumption by reducing the number of using cores without increasing the computational time. Although load balancing among nodes cannot be handled by DCB, we also examine how to solve this problem by mapping processes to nodes. In our numerical evaluations, we implemented a DCB library and applied it to the lattice \(\mathcal {H}\)-matrixes. Based on the numerical evaluations, we achieved a 58% performance improvement and 77% energy consumption reduction for the applications using the lattice \(\mathcal {H}\)-matrix.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
Attiya, I., et al.: Job scheduling in cloud computing using a modified Harris hawks optimization and simulated annealing algorithm. Comput. Intell. Neurosci. 2020 (2020)
Corbalan, J., et al.: Dynamic load balancing of MPI+OpenMP applications. In: 2004 International Conference on Parallel Processing, ICPP 2004, vol. 1, pp. 195–202 (2004)
Curtis-Maury, M., et al.: Online power-performance adaptation of multithreaded programs using hardware event-based prediction. In: Proceedings of the 20th Annual International Conference on Supercomputing, pp. 157–166 (2006)
Curtis-Maury, M., et al.: Prediction-based power-performance adaptation of multithreaded scientific codes. IEEE Trans. Parallel Distrib. Syst. 19(10), 1396–1410 (2008)
Garcia, M., Corbalan, J., Badia, R.M., Labarta, J.: A dynamic load balancing approach with SMPSuperscalar and MPI. In: Keller, R., Kramer, D., Weiss, J.-P. (eds.) Facing the Multicore - Challenge II. LNCS, vol. 7174, pp. 10–23. Springer, Heidelberg (2012). https://doi.org/10.1007/978-3-642-30397-5_2
Garza-Santisteban, F., et al.: A simulated annealing hyper-heuristic for job shop scheduling problems. In: 2019 IEEE Congress on Evolutionary Computation (CEC), pp. 57–64 (2019)
Grant, R.E., et al.: Standardizing power monitoring and control at exascale. Computer 49(10), 38–46 (2016)
Hiroshi, N., et al.: Third generation digital annealer technology (2021). https://www.fujitsu.com/jp/documents/digitalannealer/researcharticles/DA_WP_EN_20210922. pdf
Ida, A.: Lattice \(\cal{H} \)-matrices on distributed-memory systems. In: IEEE International Parallel and Distributed Processing Symposium (IPDPS), pp. 389–398 (2018)
Iwashita, T., et al.: Software framework for parallel BEM analyses with H-matrices using MPI and OpenMP. Procedia Comput. Sci. 108, 2200–2209 (2017)
Klinkenberg, J., et al.: CHAMELEON: reactive load balancing for hybrid MPI+ OpenMP task-parallel applications. J. Parallel Distrib. Comput. 138, 55–64 (2020)
Korte, B.H., et al.: J. Comb. Optim. 1 (2011)
Li, D., et al.: Strategies for energy-efficient resource management of hybrid programming models. IEEE Trans. Parallel Distrib. Syst. 24(1), 144–157 (2012)
Nakajima, K., et al.: Communication-computation overlapping with dynamic loop scheduling for preconditioned parallel iterative solvers on multicore and manycore clusters. In: 2017 46th International Conference on Parallel Processing Workshops (ICPPW), pp. 210–219 (2017)
Suleman, M.A., et al.: Feedback-driven threading: power-efficient and high-performance execution of multi-threaded workloads on CMPs. ACM SIGPLAN Not. 43(3), 277–286 (2008)
Zaman, M., et al.: PyQUBO: Python library for mapping combinatorial optimization problems to QUBO form. IEEE Trans. Comput. 71(4), 838–850 (2022)
Acknowledgment
This work was supported by JSPS KAKENHI Grant Number 18K18059, 21H03447, and 19H05662. This work is also supported by “Joint Usage/Research Center for Interdisciplinary Large-scale Information Infrastructures (JHPCN)” in Japan (Project ID: jh230058).
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2023 The Author(s), under exclusive license to Springer Nature Switzerland AG
About this paper
Cite this paper
Kawai, M., Ida, A., Hanawa, T., Nakajima, K. (2023). Dynamic Core Binding for Load Balancing of Applications Parallelized with MPI/OpenMP. In: Mikyška, J., de Mulatier, C., Paszynski, M., Krzhizhanovskaya, V.V., Dongarra, J.J., Sloot, P.M. (eds) Computational Science – ICCS 2023. ICCS 2023. Lecture Notes in Computer Science, vol 10475. Springer, Cham. https://doi.org/10.1007/978-3-031-36024-4_30
Download citation
DOI: https://doi.org/10.1007/978-3-031-36024-4_30
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-031-36023-7
Online ISBN: 978-3-031-36024-4
eBook Packages: Computer ScienceComputer Science (R0)