Slurm 工作负载管理器
Slurm 是一个为各种规模的 Linux 集群设计的开源工作负载管理器。 它提供三个关键功能。 首先,它为用户分配独占和/或非独占的资源(计算节点)访问权限,以便他们在一定时间内进行工作。 其次,它提供一个框架,用于在一组分配的节点上启动、执行和监控工作(通常是并行作业)。 最后,它通过管理待处理工作的队列来调解资源的争用。
Slurm 的设计非常模块化,具有数十个可选插件。 在其最简单的配置中,可以在几分钟内安装和配置(请参见 Caos NSA 和 Perceus:一体化集群软件栈 由 Jeffrey B. Layton 撰写)。 更复杂的配置可以满足世界级计算中心的作业调度需求,并依赖于一个 MySQL 数据库来归档 会计 记录,管理 资源限制,按用户或银行账户进行管理, 或支持复杂的 作业优先级 算法。
虽然其他工作负载管理器也存在,但 Slurm 在几个方面是独特的:
- 可扩展性:它被设计为在具有数千万处理器的异构集群中运行。
- 性能:它可以每秒接受 1,000 个作业提交,并完全执行 500 个简单作业(具体取决于硬件和系统配置)。
- 免费和开源:其源代码根据 GNU 通用公共许可证自由提供。
- 可移植性:用 C 编写,配有 GNU autoconf 配置引擎。 虽然最初是为 Linux 编写的,但 Slurm 已被移植到各种系统。
- 电源管理:作业可以指定所需的 CPU 频率,作业的功耗被记录。闲置资源可以在需要时关闭电源。
- 容错性:它对系统故障具有很高的容忍度,包括执行其控制功能的节点的故障。
- 灵活性:存在插件机制以支持各种互连、身份验证机制、调度程序等。这些插件都有文档,并且足够简单,便于有动力的最终用户理解源代码并添加功能。
- 可调整大小的作业:作业可以根据需要增长和缩小。作业提交可以指定大小和时间限制范围。
- 状态作业:在单个任务级别上状态运行作业,以帮助识别负载不平衡和其他异常。
Slurm 在世界上许多最强大的计算机上提供工作负载管理。在 2013 年 11 月的 Top500 列表中, 前十名系统中有五个使用 Slurm,包括第一名系统。 这五个系统总共包含超过 570 万个核心。 使用 Slurm 的一些系统如下所示:
- 天河二号 由 国防科技大学 在中国设计,拥有 16,000 个节点,每个节点配备两个 Intel Xeon IvyBridge 处理器和 三个 Xeon Phi 处理器,总计 310 万个核心,峰值性能为 33.86 Petaflops。
- 红杉, 一个在IBM BlueGene/Q 系统上 位于劳伦斯利弗莫尔国家实验室 ,拥有 1.6 PB 的内存,96 个机架,98,304 个计算节点和 160 万个核心,峰值性能超过 17.17 Petaflops。
- Piz Daint 一个Cray XC30 系统,位于 瑞士国家超级计算中心 ,拥有 28 个机架和 5,272 个混合计算节点,每个节点配备一个 Intel Xeon E5-2670 CPU 以及一个NVIDIA Tesla K20X GPU ,总计 115,984 个计算核心,峰值性能为 6.27 Petaflops。
- Stampede 位于 德克萨斯高级计算中心/德克萨斯大学 是一个Dell 系统,拥有超过 80,000 个Intel Xeon 核心, Intel Phi 协处理器,以及 128 个NVIDIA GPU 提供 5.17 Petaflops 的性能。
- TGCC Curie, 由GENCI拥有,并由 CEA在 TGCC 操作,Curie 提供 3 种不同的 x86-64 计算资源分配,以应对广泛的科学挑战,提供总计 2 Petaflops 的峰值性能。
- Tera 100 在CEA 拥有 140,000 个 Intel Xeon 7500 处理核心,300TB 的 中央内存和理论计算能力为 1.25 Petaflops。
- Lomonosov,一个 T-Platforms 系统,位于 莫斯科国立大学研究计算中心 拥有 52,168 个 Intel Xeon 处理核心和 8,840 个 NVIDIA GPU。
- LOEWE-CSC, 一个结合 CPU-GPU 的 Linux 集群,位于 法兰克福大学科学计算中心 (CSC) ,拥有 20,928 个 AMD Magny-Cours CPU 核心(峰值性能 176 Teraflops)加上 778 个 ATI Radeon 5870 GPU(单精度峰值性能 2.1 Petaflops,双精度峰值性能 599 Teraflops)和 QDR Infiniband 互连。
最后修改于 2013 年 11 月 24 日