Abstract
In recent years, supercomputers have experienced significant advancements in performance and have grown in size, now comprising several thousands nodes. To unlock the full potential of these machines, efficient resource management and job scheduling—assigning parallel programs to nodes—are crucial. Traditional job scheduling approaches employ rigid jobs that use the same set of resources throughout their lifetime, resulting in significant resource under-utilization.
By employing malleable jobs that are capable of changing their number of resources during execution, the performance of supercomputers has potential to increase. However, designing algorithms for scheduling malleable jobs is challenging since it requires complex strategies to determine when and how to reassign resources among jobs while maintaining fairness.
In this work, we extend a recently proposed malleable job scheduling algorithm by introducing new strategies. Specifically, we propose three priority orders to determine which malleable job to consider for resource reassignments and the number of nodes when starting a job. Additionally, we propose three reassignment approaches to handle the delay between scheduling decisions and the actual transfer of resources between jobs. This results in nine algorithm variants.
We then evaluate the impact of deploying malleable jobs scheduled by our nine algorithm variants. For that, we simulate the scheduling of job sets containing varying proportions of rigid and malleable jobs on a hypothetical supercomputer. The results demonstrate significant improvements across several metrics. For instance, with 20% of malleable jobs, the overall completion time is reduced by 11% while maintaining high node utilization and fairness.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
References
Amdahl, G.M.: Validity of the single processor approach to achieving large scale computing capabilities. In: Proceedings of Spring Joint Computer Conference (SJCC). ACM (1967). https://doi.org/10.1145/1465482.1465560
Bernholdt, D.E., et al.: A survey of MPI usage in the US exascale computing project. Concurr. Comput. Pract. Exp. (CCPE) 32(3) (2020). https://doi.org/10.1002/cpe.4851
Chadha, M., John, J., Gerndt, M.: Extending slurm for dynamic resource-aware adaptive batch scheduling. In: Proceedings of International Conference on High Performance Computing (HiPC). IEEE (2020). https://doi.org/10.1109/HiPC50609.2020.00036
Downey, A.B.: A parallel workload model and its implications for processor allocation. In: Proceedings of International Symposium on High Performance Distributed Computing (HPDC) (1997). https://doi.org/10.1109/HPDC.1997.622368
Fecht, J., Schreiber, M., Schulz, M., Pritchard, H., Holmes, D.J.: An emulation layer for dynamic resources with MPI sessions. In: Anzt, H., Bienz, A., Luszczek, P., Baboulin, M. (eds.) High Performance Computing (ISC). LNCS, vol. 13387, pp. 147–161. Springer, Cham (2022). https://doi.org/10.1007/978-3-031-23220-6_10
Feitelson, D.G., Rudolph, L.: Toward convergence in job schedulers for parallel supercomputers. In: Feitelson, D.G., Rudolph, L. (eds.) JSSPP 1996. LNCS, vol. 1162, pp. 1–26. Springer, Heidelberg (1996). https://doi.org/10.1007/BFb0022284
Feitelson, D.G., Tsafrir, D., Krakov, D.: Experience with using the parallel workloads archive. Parallel Distrib. Comput. (JPDC) 74(10) (2014). https://doi.org/10.1016/j.jpdc.2014.06.013
Finnerty, P., Takaoka, L., Kanzaki, T., Posner, J.: Malleable APGAS programs and their support in batch job schedulers. In: Zeinalipour, D., et al. (eds.) Euro-Par 2023. LNCS, vol. 14352, pp. 89–101. Springer, Cham (2023). https://doi.org/10.1007/978-3-031-48803-0_8
Gupta, A., Acun, B., Sarood, O., Kalé, L.V.: Towards realizing the potential of malleable jobs. In: International Conference on High Performance Computing (HiPC). IEEE (2014). https://doi.org/10.1109/HiPC.2014.7116905
Huber, D., Streubel, M., Comprés, I., Schulz, M., Schreiber, M., Pritchard, H.: Towards dynamic resource management with MPI sessions and PMIx. In: Proceedings of EuroMPI. ACM (2022). https://doi.org/10.1145/3555819.3555856
Iserte, S., Mayo, R., Quintana-Ortí, E.S., Peña, A.J.: DMRlib easy-coding and efficient resource management for job malleability. Trans. Comput. (TC) 70, 1443–1457 (2020). https://doi.org/10.1109/TC.2020.3022933
Lina, D.H., Ghafoor, S., Hines, T.: Scheduling of elastic message passing applications on HPC systems. In: Klusacek, D., Julita, C., Rodrigo, G.P. (eds.) JSSPP 2022. LNCS, vol. 13592, pp. 172–191. Springer, Cham (2023). https://doi.org/10.1007/978-3-031-22698-4_9
Moody, A., Bronevetsky, G., Mohror, K., de Supinski, B.R.: Design, modeling, and evaluation of a scalable multi-level checkpointing system. In: Proceedings of International Conference for High Performance Computing, Networking, Storage and Analysis (SC). ACM (2010). https://doi.org/10.1109/SC.2010.18
Özden, T., Beringer, T., Mazaheri, A., Mohammadi, H.F., Wolf, F.: ElastiSim: a batch-system simulator for malleable workloads. In: Proceedings of International Conference on Parallel Processing (ICCP). ACM (2023). https://doi.org/10.1145/3545008.3545046
Posner, J., Fohry, C.: Transparent resource elasticity for task-based cluster environments with work stealing. In: Proceedings of International Conference on Parallel Processing (ICPP) Workshops (P2S2). ACM (2021). https://doi.org/10.1145/3458744.3473361
Prabhakaran, S., Iqbal, M., Rinke, S., Windisch, C., Wolf, F.: A batch system with fair scheduling for evolving applications. In: Proceedings of International Conference on Parallel Processing (ICPP). IEEE (2014). https://doi.org/10.1109/icpp.2014.44
Prabhakaran, S., Neumann, M., Rinke, S., Wolf, F., Gupta, A., Kale, L.V.: A batch system with efficient adaptive scheduling for malleable and evolving applications. In: Proceedings of International Parallel and Distributed Processing Symposium (IPDPS). IEEE (2015). https://doi.org/10.1109/IPDPS.2015.34
Sudarsana, R., Ribbens, C.J.: Combining performance and priority for scheduling resizable parallel applications. Parallel Distrib. Comput. (JPDC) 87, 55–66 (2016). https://doi.org/10.1016/j.jpdc.2015.09.007
Wong, A.K., Goscinski, A.M.: Evaluating the EASY-backfill job scheduling of static workloads on clusters. In: Proceedings of International Conference on Cluster Computing (CLUSTER) (2007). https://doi.org/10.1109/CLUSTR.2007.4629218
Acknowledgements
We would like to thank Taylan Özden for his work on ElastiSim and for the valuable discussions during our personal meetings.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2024 The Author(s), under exclusive license to Springer Nature Switzerland AG
About this paper
Cite this paper
Posner, J., Hupfeld, F., Finnerty, P. (2024). Enhancing Supercomputer Performance with Malleable Job Scheduling Strategies. In: Zeinalipour, D., et al. Euro-Par 2023: Parallel Processing Workshops. Euro-Par 2023. Lecture Notes in Computer Science, vol 14352. Springer, Cham. https://doi.org/10.1007/978-3-031-48803-0_14
Download citation
DOI: https://doi.org/10.1007/978-3-031-48803-0_14
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-031-48802-3
Online ISBN: 978-3-031-48803-0
eBook Packages: Computer ScienceComputer Science (R0)