广告

容器与HPC的互惠互利

  • 浏览(109)
  • 评论(0)
  • 译者:k8s

在过去的五到六年中,软件容器技术主导了数据中心,从小型私有数据中心到大型企业数据中心和公有云。伴随着这一创新,高性能计算(HPC)和人工智能(AI)在企业内部的应用也在不断增长,以支持不同垂直行业中各种设备生成的大量数据。关注如此大量数据的关键原因是生成分析和实时可操作的洞察。

容器可以用来处理HPC工作负载,以解决传统HPC工作负载管理平台的重要缺陷——这一点得到承认并有了实例。Kubernetes和Docker容器技术已经成为可以为HPC工作负载提供动力并为大规模计算工作负载启用若干功能的框架。



容器概述

数据中心和软件技术行业的每个人都知道容器。它带来的一些好处是:

——在裸机上工作的操作系统级虚拟化。

——打包所有不同类型的依赖关系以运行可以与同一操作系统中的其他容器隔离的应用程序。

——容器带来了跨不同环境的应用程序可移植性。

——与VM相比,容器的启动速度非常快,能够为新服务快速推出软件堆栈,并加快整体交付速度。

——容器推动DevOps管道。

——支持微服务架构,进一步支持应用程序的灵活性和可伸缩性。


HPC概述

技术不断发展,许多行业(医疗保健、工业、汽车、航空等)已经可以支持每天产生大量数据的用例。例如,自动驾驶汽车每8小时产生40TB的数据,工业机械每天将产生100TB的数据,用于处理、存储和生产分析。但是要处理这么大的数据量,不可能是一个单一的系统(拥有足够的计算能力、存储和基础设施)。

HPC可以利用分布式计算和存储资源来解决大数据量的复杂问题。HPC集群通常被称为超级计算机。复杂算法用于大型数据集以生成洞察。HPC系统在并行架构中使用大量的CPU或GPU,这些CPU或GPU可以创建足够的计算资源池来执行复杂的数学算法。

目前,高性能计算机系统广泛应用于科学研究、军事行动、天体物理学、大数据分析、金融、网络安全、天气/气候和生物信息学等领域。使用HPC系统,我们可以在几分钟内而不是几小时或几天内得到数学模拟的结果。在企业的私有数据中心中,HPC被大量采用。此外,公有云供应商的订户可以在Azure、AWS和Google Cloud Platform上获得HPC。


容器如何改善HPC

HPC工作负载本质上是单体的。传统上,HPC应用程序运行于整个数据中心的大型数据集。应用程序容器化的主要优点在于容器的可移植性。我们可以打包HPC应用程序并跨集群运行以处理大量数据。

容器为微服务架构提供动力,而微服务体系结构对应用程序服务有好处。任何使用基于微服务方法构建的应用程序都倾向于拥有一系列可以打包在容器中的小服务。所有这些服务都保持其生命周期,以及独立开发、粒度扩展、打补丁和故障修复等特定于服务的需求。

以类似的方式,HPC应用程序工作负载可以获得包括扩展和开发在内的隔离管理的优势。容器的这种扩展能力非常重要,因为当数据处理需求激增时,HPC工作负载可能会面临这样的情况,并且应该在不停机的情况下运行。部署在容器中的HPC应用程序可以独立扩展以处理此类峰值。

此外,当容器用于微服务架构时,它们带来速度、可伸缩性和模块化。HPC包含一个带有大量库和软件组件的容器,以及运行高端应用程序的复杂依赖关系。在这种情况下,容器可以帮助HPC工作负载隐藏复杂性并使部署更容易。


HPC如何改进容器化

最初,容器被认为为与HPC工作流不兼容。现在,随着一些开源项目的开发,人们发明了新的方法来使用HPC工作负载的容器。其中一些项目包括Singularity、Charliecloud、Shifter和Podman等。

目前,容器主要由Kubernetes编排(它可以持续运行容器)。HPC工作负载执行并完成分配的任务,例如财务数据或基因组工作流模拟。在容器中运行HPC工作负载有利于容器本身定期执行任务,并在HPC系统需要时调用容器。


结论

为了评估容器与HPC的协同集成,已经进行了各种研究,并发布了一些开源和商业解决方案。大型企业已经采用Kubernetes和Singularity来处理HPC工作负载,基于单体的HPC必须进行分布式以进一步支持大量的数据池,而容器化对于实现动态编排、可移植性和可扩展性已经变得非常重要。随着时间的推移,我们将在容器和HPC领域看到更多的进展。

  • 分享到:
  • icon
  • icon
  • icon
  • icon
箭头