QUICK REVIEW
[论文解读] METAQ: Bundle Supercomputing Tasks
Evan Berkowitz|arXiv (Cornell University)|Feb 20, 2017
Distributed and Parallel Computing Systems被引用 14
一句话总结
METAQ 是一个轻量级的基于 bash 的系统,通过将 HPC 任务捆绑为更大的作业来利用大规模分配的折扣和激励措施,从而实现动态后填(backfilling)以减少空闲时间。它将作业提交与任务描述分离,支持用户间的协作,实现更高效的资源利用,并将计算周期的浪费减少高达 75%,相比简单的捆绑方式。
ABSTRACT
We describe a light-weight system of bash scripts for efficiently bundling supercomputing tasks into large jobs, so that one can take advantage of incentives or discounts for requesting large allocations. The software can backfill computational tasks, avoiding wasted cycles, and can streamline collaboration between different users. It is simple to use, functioning similarly to batch systems like PBS, MOAB, and SLURM.
研究动机与目标
- 解决因运行时间差异和小任务捆绑导致的节点利用率低下所引发的超级计算机任务调度低效问题。
- 使用户能够在不牺牲性能或吞吐量的前提下,利用大规模作业的激励措施和折扣。
- 通过将任务定义与作业提交解耦,简化协作流程,允许多个用户向共享作业贡献任务。
- 通过在大作业分配内动态后填较短任务,减少计算周期的浪费。
- 提供一种简单、可移植且免费的工具,可与现有的 HPC 批处理系统(如 SLURM、PBS 和 MOAB)无缝集成。
提出的方法
- 用户编写包含资源和环境配置的任务脚本,并将其存储在指定文件夹中,与作业脚本分离。
- 向批处理调度器提交作业脚本,指定所需分配的大小和 METAQ 配置。
- METAQ 在分配的节点上动态启动任务文件夹中的任务,管理其执行和资源使用。
- 通过在长任务的空闲时间内交错执行短任务,实现后填,最大限度减少节点空闲。
- 通过允许多个用户提交可消耗共享任务文件夹中任务的作业脚本,支持协作。
- METAQ 记录所有任务和系统行为,支持通过按日期删除旧日志和作业的方式手动清理。
实验结果
研究问题
- RQ1如何高效地捆绑 HPC 工作负载,以减少空闲时间并提升大规模分配的利用率?
- RQ2与简单捆绑相比,通过在作业内动态后填单个任务,能在多大程度上减少计算周期的浪费?
- RQ3在具有异构调度器和资源策略的 HPC 环境中,如何简化多用户之间的协作?
- RQ4使用轻量级 bash 脚本与低层级任务管理器相比,会带来哪些性能和可扩展性权衡?
- RQ5一个简单、可移植的系统是否能有效管理复杂的大规模 HPC 工作负载,而无需对现有 HPC 基础设施进行修改?
主要发现
- 对相似的 8 节点任务进行简单捆绑,由于运行时间差异和性能差异,导致约 25% 的计算时间被浪费。
- 使用 METAQ 实现动态后填后,空闲时间降低至约 5%,资源效率提升 75%。
- 通过减少空闲时间所实现的有效计算加速比约为 1.27×,相当于性能提升 27%。
- METAQ 使 CalLat 合作项目在约 5 个月内高效使用了 6500 万个节点小时的 INCITE 大规模分配,作业规模为 256–512 个节点。
- 该系统允许多位合作者提交可消耗共享任务脚本的作业脚本,提升了协作效率并积累优先级,同时不影响正在进行的工作。
- 尽管在 Titan 系统上因进程数量过高导致初始服务节点过载,但系统在调整资源限制后表现出良好的鲁棒性和可扩展性。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。