【论文】略读笔记66-前沿-大规模超算自动镜像/配置分发部署

【论文】略读笔记66-前沿-大规模超算自动镜像/配置分发部署

Fre5h1nd Lv5

📖《Efficient and Automated Deployment Architecture for OpenStack in TianHe SuperComputing Environment》

2022 年发表于 CCF-A 类期刊 TPDS。

🎯需求

  • 近年来,随着全球金融危机和公共安全事件(如 COVID-19)的大规模爆发,高性能计算被广泛应用于风险预测、疫苗研发等领域。
    • 随着信息社会的快速发展,对信息处理能力的更高要求使得高性能计算成为科学研究不可或缺的工具。例如,地震波的频率范围可达 10Hz 左右。因此,三维地震波传播和破裂动力学模拟依赖于高性能计算。
    • 此外,高性能计算也越来越多地渗透到一些传统行业,如石油行业,在提高生产效率、降低生产成本方面取得了巨大成效。
    • 在突发金融危机和公共安全事件(如 COVID-19 的大规模爆发)中,高性能计算也发挥了重要作用。海量计算能力为疫情监测和病毒溯源分析提供了支持。
  • 在高性能计算基础设施应对计算需求瞬间爆炸的场景中,如何通过快速构建计算集群来提供大规模灵活的计算能力分配和调整是一个关键问题。
    • 无论是应对 COVID-19 等突发事件的瞬时计算需求,还是科学计算,大规模基础设施计算能力的快速分配和灵活调整都是高性能计算应用领域的关键问题。为用户提供独立管理计算资源的灵活服务策略,为用户提供可动态扩展的计算资源,并相应调整计算能力配置,已成为部署高性能计算环境的重要课题。
    • 高性能计算云作为一种基于云计算的高性能计算资源管理与服务模式,可以解决上述用户服务问题。云计算作为一种技术手段,通过虚拟化技术对底层资源进行整合。它为用户提供了可动态扩展的高性能计算资源,尤其适用于一些需要高峰值计算性能的科学计算。此外,它还为不同规模的异构应用提供服务,以获得更高的吞吐量,提高计算资源的利用率。因此,高性能云可以满足高性能计算对资源按需访问和高效执行的要求。
    • 同时,利用高性能计算云的巨大计算能力,可以灵活完成大规模数据分析任务,如基因组数据分析、自然语言处理和图像处理深度学习。高性能计算云还能进行数据密集型计算,满足分布式异构处理对低延迟和高吞吐量的要求。此外,它还能为医疗和金融企业的 IT 架构提供基础设施即服务(IaaS)。总之,要快速构建一个能提供灵活计算能力的高性能计算云中心,它是不可或缺的。

🚧现状

  • OpenStack是一种云操作系统,可管理整个数据中心的大型计算、存储和网络资源池。它通过一个仪表板进行操作,让管理员能够控制,同时授权用户通过网络界面提供资源。
    • 然而,现有的 OpenStack 集群部署解决方案难以适应,无法满足大规模部署场景的实现。此外,繁琐且容易出错的部署过程通常会受到各种组件的影响。
      • 图 1 是 OpenStack 项目的变化趋势。我们可以观察到,OpenStack 的组件正在逐步复杂化。2010 年发布的 OpenStack 奥斯汀版本只有两个组件,即 nova 和 swift。目前,最新的 OpenStack 版本 Wallaby 于 2021 年 4 月发布。虽然它提升了安全性能,加强了开源基础设施在云原生领域的应用,但其核心组件数量高达 29 个。利用 OpenStack 构建计算中心,可以在大规模高性能计算基础设施上灵活分配计算资源,是满足用户需求的盈利方式。因此,构建适合大规模环境的高效 OpenStack 部署解决方案迫在眉睫。
        图1
  • 现有的大规模部署解决方案都是基于传统的部署方法,采用组件源代码逐步部署或第三方插件部署的方式。这些操作会带来的主要问题归纳如下。
    • 1)完成度低。随着部署规模的扩大,组件被逐个部署到各个指定节点。由于组件之间存在错综复杂的依赖关系,部署的复杂性和难度都会大大增加,部署过程中极易出错。
    • 2)效率低。OpenStack 组件通常为 2- 3G,数据量相当大。在大规模集群容器化部署过程中,需要将所需组件的容器镜像从存储库拉到本地节点。受限于节点带宽性能,网络瓶颈就会出现,导致网络带宽拥塞。整个集群部署过程中的网络延迟非常大,极大地影响了部署效率。
    • 数百个节点上部署大规模 OpenStack 云计算集群是一项艰巨的任务。它涉及大量软件的安装和组件间依赖关系的处理。更复杂的是在异构集群服务器硬件、操作系统和网络中设置许多配置参数。因此,以往的解决方案通常局限于小型数据中心和小规模集群。
  • 总结而言,面临的巨大挑战是如何减少过长的镜像分发时间避免配置缺陷
  • 尽管文献中对大规模计算的资源管理和平台优化进行了广泛研究,但对于在竞争激烈的高性能计算市场中如何高效、自动地部署大规模计算集群却鲜有分析研究。

🛩创新

  • 本文设计了一种在大规模环境中高效、通用的部署架构,以克服上述难题。
    • 1)我们设计了一种基于 OpenStack 云平台的智能分布式注册表部署(IDRD)架构,该架构利用多个注册表的容器化部署自动放置分布式镜像存储库。IDRD 架构基于 Kolla-Ansible 的集成部署,通过脚本自动安装组件,降低了部署复杂度提高了部署成功率
    • 2)我们提出了一种节点负载优先算法,以解决 IDRD 架构中多个注册表位置的问题。将注册表放在合适的位置,可以减少集群节点拉取镜像时的网络拥塞,提高集群部署效率。在此基础上,我们设计了一种基于需求密度的集群算法,可以优化 IDRD 的全局性能,改善大规模集群的负载均衡。
    • 3)我们在天河超算环境中部署了不同集群规模的 IDRD,并评估了网络负载性能、安装效率和成功率。广泛的实验结果表明,所提出的 IDRD 架构可以缓解网络拥塞。它可以提供大规模计算集群的部署,并在降低操作难度的同时显著提高部署效率。

📊效果

  • 大量实验结果表明,IDRD 能有效减少 30% - 50% 的组件图像分发时间,显著提高大规模集群部署的效率。

⛳️未来机会/开放性问题

  • 在未来的工作中,我们将进一步考虑在部署过程中实现镜像压缩,以减少网络拥塞。

🧠疑问

  1. 超算具体用于什么地方?
    1. 地震波等力学模拟:高频率震动,海量信息
    2. 疫情监测、病毒溯源:涉及大量人、物,海量复杂信息
    3. 石油领域:不懂
  2. 云的特点和优点是什么?
    1. 特点:基于虚拟化的统一管理
    2. 优点:灵活+海量
  3. OpenStack连数百个节点都无法支持?
  4. 核心逻辑:超算需要对大规模资源快速分配和灵活调整 -> 云能满足这一特点 -> 现有OpenStack工具的流程和组件过于复杂,不适合大规模 -+- 现有其他工具面向大量复杂组件的依赖关系、软件安装、配置参数分发时存在时间长、易出错两大问题 -> 智能分布式注册表架构(分布式镜像分发) -+- 节点负载优先算法(确定每个镜像服务器最优位置)
  5. 本质是一个镜像/配置分发问题的解决方案,但文中没有考虑数据一致性问题带来的代价。


  • 希望这篇博客对你有帮助!如果你有任何问题或需要进一步的帮助,请随时提问。
  • 如果你喜欢这篇文章,欢迎动动小手 给我一个follow或star。

🗺参考文献

[1] B. Jiang, Z. Tang, X. Xiao, J. Yao, R. Cao and K. Li, “Efficient and Automated Deployment Architecture for OpenStack in TianHe SuperComputing Environment,” in IEEE Transactions on Parallel and Distributed Systems, vol. 33, no. 8, pp. 1811-1824, 1 Aug. 2022, doi: 10.1109/TPDS.2021.3127128.

  • 标题: 【论文】略读笔记66-前沿-大规模超算自动镜像/配置分发部署
  • 作者: Fre5h1nd
  • 创建于 : 2024-10-08 10:29:21
  • 更新于 : 2024-10-08 11:22:51
  • 链接: https://freshwlnd.github.io/2024/10/08/literature/literatureNotes66/
  • 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。
评论