你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
从最根本上而言,高性能计算 (HPC) 系统由高性能文件系统提供支持、由低延迟网络实现互联的计算资源池。 HPC 计划程序、计划作业的软件应用程序通常管理这些计算资源。
从基本基础结构单元(例如虚拟机、磁盘和网络接口)在 Azure 上生成单个 HPC 系统可能会很麻烦,尤其是在这些资源暂时存在时,这些资源仅在解决 HPC 任务所需的时间存在时。 此外,你可能想要创建针对各种业务部门、研究团队或个人定制的多个独立的 HPC 环境。 管理这些多个 HPC 系统可能非常复杂。
什么是 CycleCloud?
Azure CycleCloud 是一款可帮助在 Azure 上构建 HPC 系统的工具。 它协调这些系统,以便根据 HPC 任务弹性调整大小,而无需管理基本的 Azure 构建基块。 一个由经验丰富的 HPC 专业人员组成的团队为 HPC 管理员和用户设计了 CycleCloud,尤其是希望在 Azure 中构建类似于其内部 HPC 基础结构的 HPC 系统的用户。
从作上看,CycleCloud 是在 Azure 上的 Linux VM 或有权访问 Azure API 和资源的本地服务器上安装的应用程序服务器。 CycleCloud 获取和预配 Azure VM 来构建可以集成计划程序和用户应用程序的 CycleCloud 群集。 CycleCloud 还为许多 HPC 计划程序提供自动缩放集成,以及一个可以在 Azure VM 上运行的 CycleCloud 代理。
应用程序服务器
该应用程序服务器提供:
- 一个用于在 Azure 上创建和管理 HPC 系统的 REST API。
- 用于管理和监视 HPC 系统的图形用户界面。
- 一个促进将 CycleCloud 集成进现有工作流当中的 CLI。
- 一个用于缓存群集和节点状态的内部 NoSQL 数据存储。
- 获取和管理 Azure 虚拟机的分配和编排系统。
- 一个针对于现有 VM,用于警报状态变更的节点监控系统。
集成
CycleCloud 还提供与常见计划程序与 Azure VM 的集成。 这些集成提供:
- 一个用于将预配的虚拟机转换为 HPC 节点的节点准备和配置系统。
- 针对 HPC 计划程序的自动缩放,这些 HPC 计划程序会将其任务要求转换为 Azure 资源。
CycleCloud 可以执行的操作
CycleCloud 面向在 Azure 上部署 HPC 系统的 HPC作员(管理员和用户)。 他们希望将内部运行的基础结构从 HPC 计划程序复制到文件系统装入点,以便进行应用程序安装和数据访问。 这些用户特别寻求对应用程序、工作流引擎和计算管道的支持,而无需重新准备其内部进程。
CycleCloud 提供了丰富的声明性模板化语法,可用于描述 HPC 系统。 可以定义群集拓扑,其中包括在每个节点上部署的群集节点数和类型、装入点和应用程序。 CycleCloud 旨在与 HPC 计划程序(如 PBSPro、Slurm、IBM LSF、网格引擎和 HT Condor)配合使用。 可以在每个计划程序中创建不同的队列,并将其映射到 Azure 上不同 VM 大小的计算节点。 此外,自动缩放插件将与计划程序头节点集成。 它们通过与应用程序服务器上运行的自动缩放 REST API 交互来侦听每个系统中的作业队列并调整计算群集的大小。
除了预配和创建 HPC 节点外,CycleCloud 还提供用于准备和配置虚拟机的框架。 它提供了一个系统,用于将裸机 VM 转换为 HPC 系统的功能组件。 通过此框架,可以在 VM 上执行最后一英里的配置。
此外,CycleCloud 还提供以下功能:
用户访问
CycleCloud 内置支持在 HPC 系统的每个节点上创建本地用户帐户。 使用此系统,无需部署目录服务即可通过单个管理平面控制用户访问。
监视
在 CycleCloud UI 中收集和显示节点级别指标。 这些指标可用于监视系统上的负载。 可以将它们挂钩到报告和警报服务中。
日志记录
CycleCloud 提供用于记录在节点和应用程序服务器级别发生的活动和事件的系统。
可移植性
系统不要求使用特定的虚拟机镜像或操作系统。 CycleCloud 支持 HPC 节点上的主流 Windows 和 Linux 操作系统。 此外,还可以生成自己的 VM 映像并在 HPC 系统中使用它。
基础结构即代码
由于 CycleCloud 中创建的所有内容都是在模板和配置脚本中定义的,因此可以通过 CycleCloud 可重复且可移植的方式部署 HPC 系统。 此方法为在不同环境中部署 HPC 系统的作员提供一致性:沙盒、开发、测试和生产。 操作员还可以为不同的业务群组或团队部署相同的 HPC 系统,将会计问题区分开来。
松散耦合或紧密耦合的工作负载
CycleCloud 创建的 HPC 群集不仅旨在支持以规模(群集大小)为主要关注点的松散耦合作业或易于并行的作业。 CycleCloud 群集在设计时考虑了 Azure 的 InfiniBand 主干,支持紧密耦合或基于 MPI 的工作负载,这些工作负载对节点邻近度和网络延迟要求极为关键。 这些横向扩展且紧密耦合的概念已融入到 CycleCloud 支持的计划程序集成中。