论文标题

自我缩放群集和可重复的容器,以实现科学计算

Self-Scaling Clusters and Reproducible Containers to Enable Scientific Computing

论文作者

Vaillancourt, Peter Z., Coulter, J. Eric, Knepper, Richard, Barker, Brandon

论文摘要

诸如Docker之类的容器技术已成为许多软件行业实践的关键组成部分,尤其是与可重复性和可移植性有关的软件行业实践。容器化哲学影响了科学计算社区,该社区已开始采用甚至开发 - 奇异性(例如奇异性)。利用容器的科学软件通常会带来不同于行业遇到的挑战,并且需要不同的方法。 HPC尤其如此。随着HPC在云中越来越多的选项(包括由NSF资助的云项目),有强大的动机寻求解决方案,这些解决方案可以以便携式且可重复的方式为各种计算基础架构开发和部署科学软件。 Cloud Services提供的灵活性使虚拟的HPC群集可以按需扩展,并且XSEDE项目中的Cyber​​infrastructure资源集成团队开发了一套工具,该工具在云中提供了可扩展的基础架构。现在,我们提出了一种解决方案,该解决方案在具有MPI能力的Docker容器中使用NIX软件包管理器,该容器已转换为奇异性。它在每个图像中提供了一致的安装,依赖关系和环境,它们在科学计算基础架构中可再现和便携。我们使用jetstream和Aristotle Red Red Cloud OpenStack Clouds中的SLURM调度程序在自缩放的虚拟群集中演示了这些容器的实用程序。我们得出结论,该技术可作为模板,可用于XSEDE计算环境,其他奇异性HPC环境和云计算环境中使用的科学软件应用程序容器。

Container technologies such as Docker have become a crucial component of many software industry practices especially those pertaining to reproducibility and portability. The containerization philosophy has influenced the scientific computing community, which has begun to adopt - and even develop - container technologies (such as Singularity). Leveraging containers for scientific software often poses challenges distinct from those encountered in industry, and requires different methodologies. This is especially true for HPC. With an increasing number of options for HPC in the cloud (including NSF-funded cloud projects), there is strong motivation to seek solutions that provide flexibility to develop and deploy scientific software on a variety of computational infrastructures in a portable and reproducible way. The flexibility offered by cloud services enables virtual HPC clusters that scale on-demand, and the Cyberinfrastructure Resource Integration team in the XSEDE project has developed a set of tools which provides scalable infrastructure in the cloud. We now present a solution which uses the Nix package manager in an MPI-capable Docker container that is converted to Singularity. It provides consistent installations, dependencies, and environments in each image that are reproducible and portable across scientific computing infrastructures. We demonstrate the utility of these containers with cluster benchmark runs in a self-scaling virtual cluster using the Slurm scheduler deployed in the Jetstream and Aristotle Red Cloud OpenStack clouds. We conclude this technique is useful as a template for scientific software application containers to be used in the XSEDE compute environment, other Singularity HPC environments, and cloud computing environments.

扫码加入交流群

加入微信交流群

微信交流群二维码

扫码加入学术交流群,获取更多资源