slurm:优先考虑需要较少系统资源的作业

问题描述 投票:0回答:0

如何为需要较少系统资源的 Slurm 作业提供高优先级?假设系统资源仅基于 CPU 和内存使用情况。

我查看了一些 Slurm 文档和问题,我还没有尝试过它们,但我心里有一些问题,我怀疑它们不适合我的情况。

>为此设置适当的 TRES 选项,我希望 Slurm 将需要较少 CPU 和内存的作业优先于将分配更多 CPU 和内存的作业。

  • 我的问题是:Slurm 可以知道多少系统资源将 分配工作?或者它是否像我们必须写需要的那样工作 使用#SBATCH 的 shell 脚本中的系统资源量 注释,因此 Slurm 可以知道需要多少系统资源 那份工作。这是我的案例的悖论,因为我需要一个解决方案 更像是我不知道一项工作需要多少系统资源 从队列中加载时使用。我不知道工作如何 来到我的 Slurm 集群。所以在那种情况下,我不能写 #SBATCH 注释中的系统资源量。但最后,我 需要优先考虑轻量化(在CPU和 内存使用)作业转移到高权重作业。

  • 另一个问题是:一个工作可以消耗所有给定的资源 给它。例如,如果为作业分配了 2 个 CPU 内核和 2048 MB 内存, 或 8 个 CPU 核心和 16GB 内存给作业,作业可以使用 100% 该资源。在那种情况下,我怎么能通过它来区分工作 重量?

  • 而且,Slurm 能知道一个作业将使用多少系统资源吗? 在开始工作之前?我是否需要编写一个类似中间件的程序来 确定用法,并编写自定义 sbatch 脚本?

总而言之,我必须在以下几个方面优先于轻工作而不是重工作:

  1. 如果我知道一个作业将使用多少系统资源,如何 我告诉 Slurm 一项工作将使用“这个”数量的系统资源(在 批处理脚本)并将轻量级作业优先于重量级作业 工作?
  2. 如果我不知道一个作业需要多少系统资源 使用,如何告诉 Slurm 将轻量级作业优先于 重量级工作?
  3. 如果一个工作将使用给定的 100% 百分比 系统资源,一个工作是重还是轻应该如何分类? “系统使用”是一个好的视角吗?

Stackoverflow 上有一个非常相似的问题,但似乎没有收到任何回复解决了这个问题:slurm high priority to jobs with lower resources

slurm hpc
© www.soinside.com 2019 - 2024. All rights reserved.