在共享系统上安装HPC应用程序需要系统管理员为上百个应用程序构建环境模块,这是一项复杂、维护难度大、耗时长的工作。此外,将应用程序升级到最新版本需要仔细更新环境模块。
而容器极大地提高了可重复性和易用性,同时消除了耗时和容易出错的应用程序安装,在HPC中提供了简单的应用程序部署。
容器简化了系统管理员和最终用户的工作。容器基本上包含应用程序和启动应用程序所需的所有依赖项。
Docker是为微服务部署的最流行的容器技术之一,在企业和云应用程序中大量使用。然而,Docker运行时在HPC世界中的使用率很低,因为它要求用户具有根访问权来运行Docker并执行一个容器化的应用程序。HPC系统管理员认为这是一个很大的安全缺陷。此外,Docker运行时不容易支持MPI,这使得在计算量大的高性能计算中采用MPI具有挑战性。
但是,Singularity、Shifter、CharlieCloud和其他一些容器运行时被开发出来,以满足HPC的需求,包括安全性和MPI。这使得国家实验室和大学迅速采用容器。
Singularity运行时解决了两个主要的缺陷,安全性和MPI,允许HPC开发人员采用容器。此外,Singularity运行时的设计目的是加载和运行Docker格式的容器,这使得Singularity成为HPC上最受欢迎的容器运行时之一。
NVIDIA GPU Cloud (NGC)提供了一个包含Docker图像的容器注册表,其中包含超过35个HPC、HPC可视化、深度学习和数据分析容器,这些容器针对GPU进行了优化,并提供了加速性能。
让我们看看这些基于docker的容器,并展示如何在Singularity中运行高性能计算容器。
注意本视频是NVIDIA于今年10月份发布,我们本周才翻译成中文,历经两个月,视频中所讲解的版本目前已经又更新了几个版本,而且界面也有所改变,但我们依旧还是希望通过本视频让您可以大概了解如何利用Singularity运行高性能计算容器,搭建你自己的高性能环境。