开源容器正朝着我们许多人从未预料到的方向发展。
长期以来,人们一直认为它提供了一种将应用程序与其所需的所有组件打包在一起的有效方法,其中一些还解决了当今计算机世界中最具挑战性的领域之一——高性能计算(HPC)。虽然容器可以为HPC世界带来新的效率级别,但它们也为运行类似HPC工作的企业IT组织提供了新的工作方式。
容器是如何工作的
容器为寻求分发应用程序的组织提供了许多优势。通过将应用程序的许多依赖项(库等)合并到自持续映像中,可以避免很多安装问题。操作系统发行版的差异没有影响,因此不需要准备和维护不同版本的应用程序,从而使开发人员的工作变得相当容易。
高性能计算的挑战
直到最近,强调大数据和超级计算的高性能市场才开始关注容器。这主要是因为紧密耦合的超级计算技术模型不适用于容器通常服务的松散耦合的微服务世界。从那以后,还有安全方面的担忧。例如,Docker应用程序常常将root特权授予运行它们的人——在安全性非常重要的超级计算世界中,这一问题并不能很好地工作。
当Singularity——一个专注于高性能计算的容器系统——变得可用时,一个重要的变化发生了。现在提供的Sylabs奇点是2015年在劳伦斯伯克利国家实验室(Lawrence Berkeley National Laboratory)启动的一个开源项目。
之所以出现Singularity,是因为人们对用于计算的容器有很多兴趣,但是当时常用的容器(Docker)并不支持以计算为中心的、hpc类型的用例。科学家们使用容器并在Docker Hub上共享他们的工作,但是由于Docker在HPC上不受支持,所以Singularity是为了响应用户对面向计算的技术的需求而创建的。
Singularity现在也有一个商业版本,叫做Singularity奇点职业为一个适度的每主机费用和可选的支持。
奇点如何融入
Singularity是一个以在HPC系统上运行容器为目标的系统。事实上,在这个时候,它可能在这个领域占有90%到95%的市场份额。这主要是因为它一开始就明确关注高性能计算。它诞生于劳伦斯伯克利国家实验室(Lawrence Berkeley National Laboratory),专注于大数据、科学计算和安全,这是可以预见的,尽管它的迅速成名让很多集装箱行业感到意外。
使用Singularity也非常容易。它可以导入Docker图像,即使你没有安装Docker,也不需要你是一个超级用户。事实上,Singularity容器可以将整个科学工作流程与软件、库和数据打包在一起。
奇点在SC18上的显著存在导致了它的胜利三个HPCwire奖,包括连续第三年最值得关注的5大新产品或新技术。
与Kubernetes集成
Sylabs也在致力于an与Kubernetes集成(用于自动化部署、扩展和管理容器化应用程序的开源系统)。这个项目是在SC18就在上个月。目前的概念验证版本正在邀请开发人员参与。
的奇点与库柏内兹的积分这是为了响应那些运行基于服务的计算工作的公司的迫切需求,这些工作包括流数据和实时分析——这些工作需要一个协调器。
这种集成意味着用户可以同时访问协调器和调度器。虽然许多人使用Kubernetes进行批处理作业,但它严重缺乏最简单的HPC资源管理器/调度器的特性。这种情况可能会随着时间的推移而改变,但是目前,传统的基于批处理的计算最适合于关注于hpc的资源管理器,比如Singularity支持的资源管理器。