[论文解读] Design and Performance Characterization of RADICAL-Pilot on Titan
本文提出 RADICAL-Pilot (RP),一种可移植的、基于 Python 的 Pilot 系统,旨在在如 Titan 等领导级超算系统上实现数千个 MPI 任务的可扩展执行。该研究对 RP 在 131,000 核和 4,096 个任务规模下的性能与可扩展性进行了表征,识别出 OpenMPI 中的 ORTE 是主要性能瓶颈,并观察到在超过 131,000 核后失败率上升,优化后 RP 的可扩展性仅受系统软件限制。
Many extreme scale scientific applications have workloads comprised of a large number of individual high-performance tasks. The Pilot abstraction decouples workload specification, resource management, and task execution via job placeholders and late-binding. As such, suitable implementations of the Pilot abstraction can support the collective execution of large number of tasks on supercomputers. We introduce RADICAL-Pilot (RP) as a portable, modular and extensible Python-based Pilot system. We describe RP's design, architecture and implementation. We characterize its performance and show its ability to scalably execute workloads comprised of thousands of MPI tasks on Titan--a DOE leadership class facility. Specifically, we investigate RP's weak (strong) scaling properties up to 131K (65K) cores and 4096 (16384) 32 core tasks. RADICAL-Pilot can be used stand-alone, as well as integrated with other tools as a runtime system.
研究动机与目标
- 为应对在领导级 HPC 系统上可扩展执行由数千个异构 MPI 任务组成的大型工作负载的日益增长的需求。
- 表征 RADICAL-Pilot (RP) 在奥克 Ridge 领导力计算设施的 Titan 超算系统上的性能与可扩展性行为。
- 在极端规模工作负载下,识别并定位 RP 架构中的性能瓶颈,特别是任务启动与调度方面。
- 针对同质 MPI 任务优化 RP 内部调度器,以提升吞吐量与可扩展性。
- 通过将 RP 作为运行时系统与工作流及应用工具集成,实现复杂科学工作负载的生产级执行。
提出的方法
- RADICAL-Pilot (RP) 实现为一个模块化、可扩展的基于 Python 的 Pilot 系统,通过作业占位符和延迟绑定,将工作负载定义、资源管理与任务执行解耦。
- 该系统采用多级调度方法,由中央 Agent 模块协调跨 HPC 资源的任务执行,利用 Titan 上的 SLURM 调度器。
- 集成 RADICAL-Analytics 的专用性能分析与内省堆栈,实现对 RP 各子系统中细粒度性能监控与开销归因。
- 实现了一种专用优化调度器,以替代通用内部调度器,通过用直接查找替代通用搜索逻辑,减少开销。
- 在 Titan 上开展了实验,使用最多 4,096 个任务的工作负载,每个任务需 32 个核心,扩展至 131,000 个核心,以评估弱可扩展性与强可扩展性行为。
- 进行了系统级性能分析与故障分析,以隔离瓶颈,特别是 OpenMPI 运行时环境(ORTE)中的瓶颈,以理解大规模下的任务启动速率抖动与故障率。
实验结果
研究问题
- RQ1在 Titan 上执行数千个 MPI 任务的工作负载时,RADICAL-Pilot 的弱可扩展性与强可扩展性行为如何?
- RQ2在大规模下,RADICAL-Pilot 的主要运行时开销来源是什么?如何定位并缓解这些开销?
- RQ3RP 中默认通用调度器的性能与专为同质 MPI 任务优化的调度器相比如何?
- RQ4RADICAL-Pilot 的可扩展性在多大程度上受系统软件限制,特别是 OpenMPI 中的 ORTE?
- RQ5在 Titan 上使用超过 131,000 个核心时,ORTE 中故障率升高的原因是什么?
主要发现
- RADICAL-Pilot 在弱可扩展性下成功扩展至 131,000 核与 4,096 个任务,性能与可扩展性最终受限于系统软件,而非 RP 内部设计。
- 任务启动速率主要受 OpenMPI 运行时环境(ORTE)开销主导,该开销在大规模下成为主要瓶颈。
- 当使用超过 131,000 个核心时,ORTE 层的故障率显著上升,表明存在系统级可扩展性阈值。
- 通过为同质 MPI 任务优化内部调度器,吞吐量从 7 个任务/秒提升至 70 个任务/秒,提升近 10 倍,通过用直接查找替代通用搜索逻辑实现。
- RP 的性能与可扩展性现受制于 ORTE 的局限性,而非 RP 架构本身,表明进一步改进依赖于底层系统软件的增强。
- RADICAL-Pilot 已在 DOE 和 NSF HPC 系统上实现超过 1 亿核时的生产级使用,并支持了包括 DOE INCITE 和 NSF PRAC 在内的重大奖项。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。