HPC云的集装箱
了解三大集装箱平台:码头,奇点和移位器
几年前,当集装箱的炒作是巅峰时,可以偏原于认为虚拟化是死亡的。微血管是新的虚拟机管理程序,而集装箱编排平台都是愤怒。容器提供了缩放云服务的优势,但如果您在HPC集群上运行MPI应用程序,您可能会想知道所有大惊小怪的内容。bob电竞官方快进到今天,容器已经进入了HPC主流。随着HPC用户拥抱云计算,需要快速,可靠的应用程序部署和跨主机和云的可移植性,容器的好处清晰。
使用微服务架构,腕表小,简单可分离。应用程序架构师可能会部署由Kubernetes等编排框架管理的每个主机管理的数十个或甚至数百个品种大小的容器。相比之下,在HPC中,容器往往是允许的,包含单片应用程序,其中包含预先存在的库和系统软件的尺寸通常几个千兆字节。bob电竞官方HPC站点往往持续更少的每个主机的大容器,并且挑战较少关于编排,更多关于使容器与HPC工具,中间件和其他非容集装箱工作负载无缝工作。
在本文中,我们对比三种HPC友好的集装箱解决方案(Docker,奇点和变速器)进行了鲜明对比,并在解决方案时提供一些观点。
容器上的一个底漆
大多数读者可能熟悉集装箱的基础知识,但对于那些新的主题,我们提供快速底漆。容器是另一种包装和隔离共享主机的工作负载方式。与利用OS托管或裸机管理程序的虚拟机不同,以支持多个独立的操作系统,容器利用OS级虚拟化利用Linux内核功能,如命名空间和cgroups。
对于Linux管理员,一个容器最好被认为是在共享Linux内核上运行的流程集合。主机操作系统上的特权用户看到了所有进程,但从容器中,每个容器都会出现运行其自己的操作系统。由于管理容器涉及在运行的操作系统实例上简单地启动或停止进程,因此开销低。与需要引导操作系统实例开始的虚拟机不同,可以在秒内以秒为单位启动或停止容器,具体取决于其大小。
HPC中的容器
在HPC中,容器的用例与企业用例不同。虽然这种情况在未来可能会改变,但正如上面所解释的,HPC应用程序往往是单片bob电竞官方的。在某种程度上,应用程序利用了并行性,它bob电竞官方们是通过多线程应用程序利用多个处理器线程和内核,像MPI这样的消息传递库来实现节点级并行性(并行作业)的快速消息传递,或者工作负载管理器能够在共享集群上调度大量离散作业。对于HPC用户来说,容器化的价值主要在于封装应用程序并使其可移植。bob电竞官方集装箱化的高性能计算应用正在成为一个bob电竞官方新兴的市场UberCloud开创了便携式、容器化应用程序的理念。bob电竞官方所以,不要再拖延了,让我们来看看集装箱平台。
码头工人
操作系统级虚拟化的想法已经存在很长时间了,但是开源的发布码头工人2013年发生了翻天覆地的变化。Docker提供了一组用于构建和管理容器映像的标准工具、一组用于管理容器的运行时工具和一组工具,以及一个可访问internet的存储库(Docker Hub.)。这些创新使开发人员可以轻松打包和共享集装箱化应用程序。bob电竞官方Docker获得了这种普及,这一词几乎已经成为集装箱的代名词。在一些圈子里,开发人员谈论docckerizing他们的应用程bob电竞官方序。提取和运行Docker映像与运行“Docker Pull”一样简单,然后在安装Docker引擎上的任何主机上的“Docker Run”。
Docker Inc.提供开源Docker社区版本以及商业支持的Docker发动机。码头工人的企业提供Docker引擎以及开发人员工具,注册服务,策略和治理工具,生命周期管理等。Docker自己的码头可以部署Docker容器码头工人云或各种公共云,包括Amazon Web Services、Microsoft Azure、谷歌Cloud等。
对于运行Altair网格引擎的用户来说,Altair网格引擎的增强功能易于运行Docker工作负载。用户可以从Altair网格引擎集群上的指定Docker Image发送和运行Docker容器中的作业。通过这种集成,Docker工作负载与任何其他作业一样,支持暂停,恢复和杀害作业,处理输入,输出和错误文件,限制资源消耗和管理作业级计费。
HPC管理员有时表达关于Docker的一个问题是每个主机上的Docker守护程序需要以root身份运行,可能导致安全问题。虽然真实,安全考虑因素已经被Docker团队解决了。用户可以通过正确配置Docker守护进程来避免潜在的问题,并将容器中的root重新映射到主机操作系统中的非root uid,如Docker文件.
奇点
在HPC圈中获得普及的第二个集装箱平台是奇点的。奇点开始作为2015年由Greg Kutzer或Lawrence Berkeley国家实验室领导的开源项目。虽然年轻人比Docker,奇点出发,以解决对HPC特定的一些挑战,并已被几个高调的实验室接受。截至2018年,季度估计有25,000个安装,包括TACC,San Diego Super Computer Center和Oak Ridge国家实验室等顶级HPC中心。2018年2月,Sylabs Inc.是由Singularity的关键开发者创立的。Sylabs提供Singularity Pro,一个商业支持的Singularity版本奇点注册服务服务类似于Docker Hub。
奇点使用包含所有依赖项的单个图像文件格式。这使得奇点的容器比Docker容器更灵活。相比之下,Docker通过Docker系统管理场景后面管理的图层的运行时构造容器。Docker中的每个图层都是包含包含该图层的文件的tar存档。奇点是灵活的,允许用户使用奇点的本机格式的Docker格式图像或图像。
奇点还提供了容器在推出它们的Linux用户ID下运行的优势,SiveStepping某些用户在Linux主机上以root运行的Docker守护程序运行。奇点工作负载使得它们可以通过脚本如常规Linux命令推出(奇点运行Analysis.img.)使它们直截了当地与工作负载管理人员集成。奇点在运行MPI应用方面也具有优势。bob电竞官方启用MPI的奇点图像可以直接从MPIRUN命令行启动,并且集装箱化应用程序可以直接访问GPU和并行文件系统等资源。bob电竞官方虽然在Altair网发动机上运行奇点,但今年7月,[Altair]和Sylabs Inc.宣布合作,以进一步改进奇点集装箱在Altair网发动机集群上的整合。
换档器
类似于奇点,换档器从HPC社区中出现 - 具体nersc.在其HPC环境中提供将容器部署的可扩展方式提供可扩展方式。与其他集装箱平台一样,移位器具有自己的图像格式,但可以从Docker,虚拟机或Chos中的任何图像创建换档器图像(用于创建科学Linux环境的实用程序)。
使用具有换档器的Docker图像时,图像仍然驻留在DockerHub(或私人图像注册表)中,但是通过移位器网关自动转换为变速器的本地格式。像奇点,移位器侧面涉及Docker中的根升级攻击。移位器容器在启动它们的用户的用户ID下运行。MPI应bob电竞官方用程序也支持换档器,但实施是MPICH中心。
比较点 | 码头工人 | 奇点 | 换档器 |
取向 | 企业,微服务,通用 | 为HPC,单片工作负载而构建 | 为高性能计算需要@ NERSC和大型实验室运行Cray系统。 |
文件格式 | dockerfile格式 | 本机.IMG格式,但可用于从多种格式转换的工具(tar,tar.gz,squashfs,dockerhub) | 本机移位器文件格式(从DockerHub,VM或CHOS图像创建) |
注册表 | DockerHub. | 奇点集线器和/或ockerhub | DockerHub通过变速器网关 |
MPI的支持 | Altair网格引擎简化了Docker上的平行作业 | 是的,多个MPI实现 | 以mpich为中心,但也可以使用其他方法 |
Infiniband支持 | 是的 | 是的 | 是的 |
设置要求 | 成熟的生态系统,易于安装 | 也易于安装 | 由于移位网关,稍微复杂一点 |
许可 | 开源或商业版本 | 开源或商业版本 | 开源 |
工作负载经理 | 与Altair网格引擎的强大集成 | 易于与多个工作负载管理器集成,宣布了额外的UGE支持 | 有关一些文档GitHub.,但集成主要留给用户 |
学习更多 | http://docker.com. | http://sylab.io | https://github.com/dansc/shifter. |
可以找到更详细的比较这里.