你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

CycleCloud:核心概念

在最基本的情况下,高性能计算 (HPC) 系统是由高性能文件系统提供支持并由低延迟网络互连的计算资源池。 这些计算资源通常由 HPC 计划程序(计划作业的软件应用程序)管理。

从基本基础结构单元(如虚拟机、磁盘和网络接口)在 Azure 上构建单个 HPC 系统可能很麻烦,尤其是当这些资源是临时的时 —仅在解决手头 HPC 任务所需的时间内存在时。 此外,操作员希望创建多个独立的 HPC 环境,这些环境可针对不同的业务部门、研究团队或个人进行定制。 管理这些多个 HPC 系统在操作上可能比较复杂。

什么是 CycleCloud?

Azure CycleCloud 是一种工具,可帮助在 Azure 上构建 HPC 系统。 它协调这些系统,以便根据手头的 HPC 任务灵活调整大小,而无需管理基本的 Azure 构建基块。 CycleCloud 由一组经验丰富的 HPC 专业人员为 HPC 管理员和用户设计,尤其是希望在 Azure 中构建类似于他们熟悉的内部 HPC 基础结构的 HPC 系统的用户。

业务流程关系图

在操作上,CycleCloud 是一个应用程序服务器,安装在 Azure 上的 Linux VM 中,或者安装在有权访问 Azure API 和资源的本地服务器上。 CycleCloud 获取并预配 Azure VM,以构造可以集成计划程序与用户应用程序的 CycleCloud 群集。 CycleCloud 还为许多 HPC 计划程序以及 Azure VM 上运行的 CycleCloud 代理提供自动缩放集成。

应用程序服务

此应用程序服务器提供:

  1. 用于在 Azure 上创建和管理 HPC 系统的 REST API。
  2. 允许用户管理和监视 HPC 系统的图形用户界面。
  3. 有助于将 CycleCloud 集成到现有工作流的 CLI。
  4. 缓存群集和节点状态的内部 NoSQL 数据存储。
  5. 获取和管理 Azure VM 的分配和业务流程系统
  6. 针对现有 VM 的节点监视系统,用于对状态更改发出警报。

集成

CycleCloud 还提供许多与常见计划程序与 Azure VM 的集成。 提供:

  1. 用于将预配的 VM 转换为 HPC 节点的节点准备和配置系统。
  2. 将 HPC 计划程序任务要求转换为 Azure 资源的 HPC 计划程序自动缩放。

CycleCloud 的功能

CycleCloud 面向 HPC 操作员, (管理员和用户) 谁正在 Azure 上部署 HPC 系统,并想要复制他们一直在内部运行的基础结构,从 HPC 计划程序到文件系统装入点,以便进行应用程序安装和数据访问。 这些用户特别需要支持应用程序、工作流引擎和计算管道,而无需重新调整其内部流程。

CycleCloud 提供了丰富的声明性模板语法,使用户能够描述其 HPC 系统,从群集拓扑 () 群集节点的数量和类型,到将在每个节点上部署的装入点和应用程序。 CycleCloud 旨在与 HPC 计划程序(例如 PBSPro、Slurm、IBM LSF、Grid Engine 和 HT Condor)配合使用,允许用户在每个计划程序中创建不同的队列,并将其映射到 Azure 上不同 VM 大小的计算节点。 此外,自动缩放插件与侦听每个系统中作业队列的计划程序头节点集成,并通过与应用程序服务器上运行的自动缩放 REST API 交互来相应地调整计算群集的大小。

除了预配和创建 HPC 节点外,CycleCloud 还提供一个用于准备和配置虚拟机的框架,实质上提供了一个系统,用于将裸机 VM 转换为 HPC 系统的功能组件。 通过此框架,用户可以在 VM 上执行最后一英里的配置。

此外,CycleCloud 提供以下功能:

  • 用户访问

    CycleCloud 附带内置支持,用于在 HPC 系统的每个节点上创建本地用户帐户。 使用此系统,可以通过单个管理平面控制用户访问权限,而无需部署目录服务。

  • 监视

    节点级指标收集并显示在 CycleCloud UI 中。 它们可用于监视系统上的负载,并且可以挂钩到报告和警报服务中。

  • 日志记录

    CycleCloud 提供一个系统,用于记录节点和应用程序服务器级别的活动和事件。

  • 可移植性

    系统不要求使用特定的 VM 映像或操作系统。 CycleCloud 支持 HPC 节点上的主要 Windows 和 Linux 操作系统。 此外,用户可以生成自己的 VM 映像,并在其 HPC 系统中使用该映像。

  • 基础结构即代码

    由于 CycleCloud 中创建的所有内容都是在模板和配置脚本中定义的,因此通过 CycleCloud 部署的 HPC 系统是可重复和可移植的。 这为操作员在不同的环境中部署 HPC 系统提供了一致性:沙盒、开发、测试和生产。 操作员还可以为不同的业务组或团队部署相同的 HPC 系统,以区分会计问题。

  • 松散耦合或紧密耦合的工作负载

    CycleCloud 创建的 HPC 群集不仅支持松散耦合或易并行作业,其中缩放 (群集大小) 是主要考虑因素。 CycleCloud 群集在设计时还考虑到了 Azure 的 Infiniband 主干,支持紧密耦合或基于 MPI 的工作负载,其中节点邻近性和网络延迟至关重要。 这些横向扩展和紧密耦合的概念在 CycleCloud 支持的计划程序集成中根深蒂固。