Skip to the content.

LSF、SLURM、OPENPBS 等 HPC 调度器对比

HPC 工作负载一直都与模拟有关。科学家和工程师将在大规模并行集群上用软件对复杂系统进行建模,以预测现实世界的结果。金融风险管理、计算化学、地震建模和在软件中模拟车祸都是很好的例子。

随着 HPC 应用程序变得更加多样化,用于调度和管理工作负载的技术也在不断发展。本文从生态、架构、功能点、应用案例出发,横向对比时下流行的调度器。

LSF

IBM Spectrum LSF(Load Sharing Facility)是 IBM 为分布式高性能计算(HPC)开发的工作负载管理平台、作业调度程序。LSF 提供一种方法来创建由许多较小的系统组成的功能强大的计算系统,以提高生产率并降低运营成本,使有限的资源供应与需求相匹配。

生态

  1. IBM Spectrum LSF
  2. IBM Spectrum LSF 数据管理器
  3. IBM Spectrum LSF 应用中心
  4. IBM Spectrum LSF 流程管理器
  5. IBM Spectrum MPI
  6. IBM Spectrum LSF 许可调度程序
  7. IBM Spectrum LSF Explorer
  8. IBM Spectrum LSF RTM
  9. IBM Spectrum LSF 资源连接器

1、IBM Spectrum LSF

IBM Spectrum LSF ( LSF ) 是一个功能强大的工作负载管理平台,适用于要求严苛的分布式 HPC 环境。它提供了一套全面的智能、策略驱动的调度功能,可以充分利用您的计算基础设施资源并确保最佳的应用程序性能。

2、IBM Spectrum LSF 数据管理器

配置、管理和使用LSF 数据管理器,使您的应用程序能够访问完成计算所需的数据,而不受与应用程序相关的数据位置的阻碍。LSF 数据管理器通过将所需的数据文件尽可能靠近您的应用程序来解决数据局部性问题。您可以将来自外部源存储库的输入数据暂存到集群执行主机,并在作业完成后将输出数据异步暂存到外部目标存储库。

3、IBM Spectrum LSF 应用中心

IBM Spectrum LSF Application Center(“ LSF Application Center ”)为集群用户和管理员提供了一个灵活、易于使用的界面。作为IBM Spectrum LSF(“ LSF ”)的附加模块, LSF Application Center使用户能够与直观的、自记录的标准化界面进行交互。

4、IBM Spectrum LSF 流程管理器

设计、记录和运行复杂的计算工作流。IBM Spectrum LSF 流程管理器 (“ LSF 流程管理器”)使您能够设计和自动化计算或分析流程,捕获和保护可重复的最佳实践。使用直观的图形界面,轻松记录工作流程步骤和依赖关系,并自动执行容易出现人为错误的冗长重复性任务。

5、IBM Spectrum MPI

IBM Spectrum MPI (Message Passing Interface)  广泛用于高性能计算 HPC 行业。它被认为是开发可扩展的并行应用程序的标准之一。

IBM Spectrum MPI 包含高级 CPU 关联特性、网络接口库的动态选择、卓越的工作负载管理器集成和改进的性能。它支持广泛的行业标准平台、互连和开放 API,以帮助确保并行应用程序几乎可以在任何地方运行。

6、IBM Spectrum LSF 许可调度程序

IBM Spectrum LSF License Scheduler ( LSF License Scheduler ) 使在同一设计中心或全球范围内的项目团队和部门之间共享许可证变得容易。借助分配和监控许可证的工具,许可证所有者可以共享未使用的许可证,同时仍确保在需要时立即访问许可证。通过更有效的共享,所有用户都会感知到更大的许可证池。

License Scheduler 支持灵活的分层共享策略,以反映业务的需求。在安静时期,当许可证没有争用时,可以将许可证分配给任何需要它们的人,从而保持高利用率和吞吐量。在繁忙时期,许可证的供应可以根据政策分配给最重要的时间或收入关键项目。

7、IBM Spectrum LSF Explorer

IBM Spectrum LSF Explorer是用于IBM Spectrum LSF 集群的轻量级数据分析解决方案,允许业务和技术用户快速创建和查看报告和仪表板。

IBM Spectrum LSF Explorer使用 Elasticsearch 快速存储、索引和查询数据。

借助丰富、交互式和可扩展的可视化功能,您可以生成有关计算环境执行情况或项目、线路或业务消耗的资源的报告。

8、IBM Spectrum LSF RTM

RTM 是工作负载和资源感知的,提供对LSF集群的完全可见性。它提供了全面的工作负载监控、报告和管理工具。使用RTM,您可以监控和绘制集群中的LSF资源(包括网络、磁盘、应用程序和其他)。RTM以图形或报告格式 显示与资源相关的信息,例如提交的作业数量、单个作业的详细信息(例如负载平均、CPU 使用率、作业所有者)或运行作业的主机。

9、IBM Spectrum LSF 资源连接器

IBM Spectrum LSF功能的资源连接器使LSF 集群能够从受支持的资源提供者那里借用资源。

LSF 资源连接器插件支持以下资源提供程序:

架构

功能点

  1. 调度策略
  2. 队列
  3. 作业(Job)

1、调度策略

为了解决多样化的问题,LSF 允许在同一个集群中使用多个调度策略。LSF 有几种队列调度策略,例如独占、抢占、公平共享和分层公平共享。

2、队列

LSF 按以下顺序考虑调度作业:

3、作业

作业启动后,系统、LSF 用户或 LSF 管理员可以将其终止、暂停或恢复。LSF 作业控制操作会导致作业状态发生变化。LSF 支持作业控制的以下默认操作:

应用案例

社区版

IBM Spectrum LSF Suite Community Edition是一款用于高性能计算的免费、完全集成的解决方案,具有集群供应和管理、工作负载调度、以应用程序为中心的门户和 MPI 库(仅限 x86-64)。该软件可以使用本机安装程序或包含的集群管理器进行安装。

LSF Suite Community Edition 的安装和运行仅限于 10 台主机,包括动态添加的主机。每台主机必须是单插槽或双插槽节点,并且总共有多达 64 个内核。不支持其他节点。

LSF Suite Community Edition 支持系统中的 2,500 个活动(已启动和待处理)作业。

LSF Suite Community Edition 中的 LSF 多集群功能具有以下限制:

LSF Application Center 仅限 10 个用户同时登录。移动用户没有限制。

在 LSF Suite Community Edition 中,每个主机的 GPU 数量限制为一个。

GPU 自动检测在 LSF Suite 社区版中默认启用,并且无法更改。这意味着使用传统 ELIM 方法的 GPU 收集被禁用。

LSF Suite Community Edition 中禁用了以下 LSF 组件和功能:

Slurm

架构

功能点

  1. 调度
  2. 队列
  3. 作业

1、调度

通用资源 (GRES) 调度:Slurm 支持定义和调度任意通用资源 (GRES) 的能力。通过可扩展的插件机制,为特定的 GRES 类型启用了其他内置功能,包括图形处理单元 (GPU) 和 CUDA 多进程服务 (MPS) 设备

gang 调度:Slurm 支持时间分片的 gang 调度,其中两个或多个作业被分配给同一分区中的相同资源,并且这些作业交替挂起,以让一个作业在配置的时间段内一次拥有对资源的专用访问权限。

回填:Slurm 的回填调度程序会考虑每个正在运行的作业。然后,它会按优先级顺序考虑待处理的作业,确定每个作业将在何时何地开始,同时考虑 作业抢占、 群调度、 通用资源 (GRES) 要求、内存要求等的可能性。

抢占:Slurm 支持作业抢占,即“停止”一个或多个“低优先级”作业以让“高优先级”作业运行的行为。

2、队列

SLURM有许多不同的队列(又名分区)可供选择,具体取决于资源需求。每个队列都有各种各样的约束,例如作业大小限制、作业时间限制、允许使用它的用户等。

3、作业

应用案例

OpenBPS

功能点

  1. 调度策略
  2. 队列
  3. 作业(Job)

1、调度策略

2、队列

执行队列

  3、作业

作业优先级

饥饿的工作被赋予了一个特殊的优先级,称为饥饿。成为饥饿工作所需的默认时间是 24 小时。

应用案例

其他

阿里云高性能计算 E-HPC

支持PBS、Slurm等多种HPC行业常见的调度器,可通过控制台直接设置调度策略并提交作业到调度器,同时提供基于Web的SSH命令行操作。

华为云高性能计算

CCScheduler是华为全自研的调度器,提供大规模集群下的高资源利用率、高吞吐量的作业调度能力 多调度器支持,业界首个提供异构调度器统一管理能力的高性能解决方案,支持HPC统一调度,华为智能网卡、SSD和GPU加速卡,加速高性能计算应用,提升客户应用性能表现。

【HPC】鲲鹏HPC解决方案介绍

腾讯云高性能计算解决方案

无需关注资源和调度平台,用户更专注于产品研究和创新。

参考