🤖 AI Summary
In the context of HPC–cloud convergence, containers improve deployment portability but suffer performance degradation due to ABI compatibility constraints that hinder hardware-specific optimization. To address this, we propose XaaS (eXecution-as-a-Service), a performance-portable container framework that defers critical compilation decisions—such as architecture-specific optimizations—to deployment time via source-code and intermediate representation (IR) containerization. Our approach integrates LLM-assisted identification of HPC software specialization mechanisms with IR-level deferred specialization and compiler pipeline analysis, enabling end-to-end automated, system-wide optimization across diverse architectures. Experiments demonstrate that XaaS preserves container deployment agility while achieving performance on par with native, hand-tuned builds—effectively breaking the longstanding “portability-at-the-cost-of-performance” bottleneck of conventional containers in HPC environments.
📝 Abstract
High-performance computing (HPC) systems and cloud data centers are converging, and containers are becoming the default method of portable software deployment. Yet, while containers simplify software management, they face significant performance challenges in HPC environments as they must sacrifice hardware-specific optimizations to achieve portability. Although HPC containers can use runtime hooks to access optimized MPI libraries and GPU devices, they are limited by application binary interface (ABI) compatibility and cannot overcome the effects of early-stage compilation decisions. Acceleration as a Service (XaaS) proposes a vision of performance-portable containers, where a containerized application should achieve peak performance across all HPC systems. We present a practical realization of this vision through Source and Intermediate Representation (IR) containers, where we delay performance-critical decisions until the target system specification is known. We analyze specialization mechanisms in HPC software and propose a new LLM-assisted method for automatic discovery of specializations. By examining the compilation pipeline, we develop a methodology to build containers optimized for target architectures at deployment time. Our prototype demonstrates that new XaaS containers combine the convenience of containerization with the performance benefits of system-specialized builds.