Search papers, labs, and topics across Lattice.
This paper explores adapting the Charm++ parallel runtime system for cloud-native HPC to address the challenges of running HPC applications on dynamic, heterogeneous cloud infrastructure. They demonstrate that rate-aware load balancing in Charm++ improves performance on heterogeneous CPU/GPU cloud instances and mitigates performance degradation from network contention and processor variability. The authors also extend a resource management framework to support GPU and CPU spot instances with minimal interruption overhead, enabling efficient and cost-effective HPC on the cloud.
Charm++'s asynchronous, message-driven paradigm enables HPC applications to thrive in the chaotic cloud by dynamically adapting to resource volatility and heterogeneity.
The ongoing convergence of HPC and cloud computing presents a fundamental challenge: HPC applications, designed for static and homogeneous supercomputers, are ill-suited for the dynamic, heterogeneous, and volatile nature of the cloud. Traditional parallel programming models like MPI struggle to leverage key cloud advantages, such as resource elasticity and low-cost spot instances, while also failing to address challenges like performance variability and processor heterogeneity. This paper demonstrates how the asynchronous, message-driven paradigm of the Charm++ parallel runtime system can bridge this gap. We present a set of tools and strategies that enable HPC applications to run efficiently and resiliently on dynamic cloud infrastructure across both CPU and GPU resources. Our work makes two key contributions. First, we demonstrate that rate-aware load balancing in Charm++ improves performance for applications running on heterogeneous CPU and GPU instances on the cloud. We further demonstrate how core Charm++ principles mitigate performance degradation from common cloud challenges like network contention and processor performance variability, which are exacerbated by the tightly coupled, globally synchronized nature of many science and engineering applications. Second, we extend an existing resource management framework to support GPU and CPU spot instances with minimal interruption overhead. Together, these contributions provide a robust framework for adapting HPC applications to achieve efficient, resilient, and cost-effective performance on the cloud.