Kub: Enabling Elastic HPC Workloads on Containerized Environments

Fuente: arXiv
Saved in:
Bibliographic Details
Main Authors: Medeiros, Daniel, Wahlgren, Jacob, Schieffer, Gabin, Peng, Ivy
Format: Preprint
Published: 2024
Subjects:
Online Access:
Tags: Add Tag
No Tags, Be the first to tag this record!
_version_ 1866909347982868480
author Medeiros, Daniel
Wahlgren, Jacob
Schieffer, Gabin
Peng, Ivy
author_facet Medeiros, Daniel
Wahlgren, Jacob
Schieffer, Gabin
Peng, Ivy
contents The conventional model of resource allocation in HPC systems is static. Thus, a job cannot leverage newly available resources in the system or release underutilized resources during the execution. In this paper, we present Kub, a methodology that enables elastic execution of HPC workloads on Kubernetes so that the resources allocated to a job can be dynamically scaled during the execution. One main optimization of our method is to maximize the reuse of the originally allocated resources so that the disruption to the running job can be minimized. The scaling procedure is coordinated among nodes through remote procedure calls on Kubernetes for deploying workloads in the cloud. We evaluate our approach using one synthetic benchmark and two production-level MPI-based HPC applications -- GROMACS and CM1. Our results demonstrate that the benefits of adapting the allocated resources depend on the workload characteristics. In the tested cases, a properly chosen scaling point for increasing resources during execution achieved up to 2x speedup. Also, the overhead of checkpointing and data reshuffling significantly influences the selection of optimal scaling points and requires application-specific knowledge.
format Preprint
id arxiv_https___arxiv_org_abs_2410_10655
institution arXiv
publishDate 2024
record_format arxiv
spellingShingle Kub: Enabling Elastic HPC Workloads on Containerized Environments
Medeiros, Daniel
Wahlgren, Jacob
Schieffer, Gabin
Peng, Ivy
Distributed, Parallel, and Cluster Computing
The conventional model of resource allocation in HPC systems is static. Thus, a job cannot leverage newly available resources in the system or release underutilized resources during the execution. In this paper, we present Kub, a methodology that enables elastic execution of HPC workloads on Kubernetes so that the resources allocated to a job can be dynamically scaled during the execution. One main optimization of our method is to maximize the reuse of the originally allocated resources so that the disruption to the running job can be minimized. The scaling procedure is coordinated among nodes through remote procedure calls on Kubernetes for deploying workloads in the cloud. We evaluate our approach using one synthetic benchmark and two production-level MPI-based HPC applications -- GROMACS and CM1. Our results demonstrate that the benefits of adapting the allocated resources depend on the workload characteristics. In the tested cases, a properly chosen scaling point for increasing resources during execution achieved up to 2x speedup. Also, the overhead of checkpointing and data reshuffling significantly influences the selection of optimal scaling points and requires application-specific knowledge.
title Kub: Enabling Elastic HPC Workloads on Containerized Environments
topic Distributed, Parallel, and Cluster Computing
url https://arxiv.org/abs/2410.10655