如何为需要较少系统资源的 Slurm 作业提供高优先级?假设系统资源仅基于 CPU 和内存使用情况。
我查看了一些 Slurm 文档和问题,我还没有尝试过它们,但我心里有一些问题,我怀疑它们不适合我的情况。
>为此设置适当的 TRES 选项,我希望 Slurm 将需要较少 CPU 和内存的作业优先于将分配更多 CPU 和内存的作业。
我的问题是:Slurm 可以知道多少系统资源将 分配工作?或者它是否像我们必须写需要的那样工作 使用#SBATCH 的 shell 脚本中的系统资源量 注释,因此 Slurm 可以知道需要多少系统资源 那份工作。这是我的案例的悖论,因为我需要一个解决方案 更像是我不知道一项工作需要多少系统资源 从队列中加载时使用。我不知道工作如何 来到我的 Slurm 集群。所以在那种情况下,我不能写 #SBATCH 注释中的系统资源量。但最后,我 需要优先考虑轻量化(在CPU和 内存使用)作业转移到高权重作业。
另一个问题是:一个工作可以消耗所有给定的资源 给它。例如,如果为作业分配了 2 个 CPU 内核和 2048 MB 内存, 或 8 个 CPU 核心和 16GB 内存给作业,作业可以使用 100% 该资源。在那种情况下,我怎么能通过它来区分工作 重量?
而且,Slurm 能知道一个作业将使用多少系统资源吗? 在开始工作之前?我是否需要编写一个类似中间件的程序来 确定用法,并编写自定义 sbatch 脚本?
总而言之,我必须在以下几个方面优先于轻工作而不是重工作:
Stackoverflow 上有一个非常相似的问题,但似乎没有收到任何回复解决了这个问题:slurm high priority to jobs with lower resources