You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

SLURM混合集群线程分配异常及配置优化咨询

SLURM混合集群配置问题解答

1. 是否可将ThreadsPerCore不同的节点纳入同一SLURM集群?

可以。SLURM完全支持包含不同线程配置(ThreadsPerCore)的节点混合部署,只要每个节点的硬件信息被SLURM正确识别(通过slurmd -C输出能看到准确的CPUs、ThreadsPerCore等参数即说明识别正常),集群可以统一管理这类异构节点,调度器会根据节点的资源属性分配任务。

2. 如何修改配置使任务按线程分配以充分利用tpc2的资源?

当前问题核心是SLURM默认按核心(而非逻辑线程)分配资源,需调整以下配置:

步骤1:确认节点资源配置(可选但推荐)

在slurm.conf中明确指定每个节点的硬件参数(确保与slurmd -C输出一致):

NodeName=tpc2 CPUs=80 Boards=1 SocketsPerBoard=2 CoresPerSocket=20 ThreadsPerCore=2 RealMemory=515620 State=UNKNOWN
NodeName=tpc1 CPUs=32 Boards=1 SocketsPerBoard=1 CoresPerSocket=32 ThreadsPerCore=1 RealMemory=190210 State=UNKNOWN
PartitionName=all Nodes=tpc1,tpc2 Default=YES MaxTime=INFINITE State=UP

步骤2:调整资源选择参数

修改slurm.conf中的SelectTypeParameters,添加CR_LLN(Logical Level Node)参数,让SLURM按逻辑CPU(线程)粒度分配资源:

SelectType=select/cons_res
SelectTypeParameters=CR_CPU_Memory,CR_LLN

步骤3:重启SLURM服务

修改配置后,重启控制节点的slurmctld和所有计算节点的slurmd服务:

# 控制节点执行
systemctl restart slurmctld

# 计算节点分别在tpc1、tpc2执行
systemctl restart slurmd

完成上述配置后,提交--cpus-per-task=1的任务时,tpc2将能同时运行80个任务,tpc1运行32个任务,充分利用所有逻辑线程资源。


内容的提问来源于stack exchange,提问作者Emma Athan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.28 00:02:24