首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Snakemake处理SLURM指令而无需在登录节点上运行进程

使用Snakemake处理SLURM指令而无需在登录节点上运行进程
EN

Stack Overflow用户
提问于 2022-08-05 17:32:06
回答 2查看 50关注 0票数 1

我试图使用Snakemake来处理高性能HPC上RNASeq管道的运行,使用SLURM来调度作业。我读到Snakemake本机支持使用snakemake --cluster在集群上使用SBATCH调度作业,但是这会创建一个CATC-22:

如果从登录节点运行snakemake --cluster,则它生成的Snakemake进程将继续在登录节点上运行,直到管道停止运行为止,这会降低登录节点的性能并违反HPC集群的规则。

如果从计算节点运行snakemake --cluster,则需要从交互会话内部和计算节点上分发SBATCH命令,而集群规则规定必须仅从登录节点发送这些命令。

是否有任何方法可以使用Snakemake来处理SLURM管理的集群上的并行化,而不是在登录节点上运行任何长期进程,以及( 2)从登录节点分配所有作业?我天真的想法是在计算节点上运行Snakemake,然后在发出SBATCH命令之前返回到登录节点,但我不知道这是否可能。

提前谢谢您的时间:)

EN

回答 2

Stack Overflow用户

发布于 2022-08-05 17:42:44

在登录节点上运行snakemake不太可能导致问题,因为所有这些过程都是定期检查作业状态(假设本地规则不是资源密集型的)。可以肯定的是,我们可以向集群支持小组进行检查(我做了,他们说很好)。

票数 0
EN

Stack Overflow用户

发布于 2022-08-08 16:11:56

我将回应说,一旦开始运行,主要的snakemake进程就不需要计算或内存密集型。如果您关心的是淹没资源,运行nice snakemake将确保其他进程获得优先级。尽管如此,我还是听说过集群,其中基本上不允许在head节点上执行命令,并且执行策略。如果sys管理员不愿意破例,您应该问他们如何从工作节点提交作业;您肯定不是组织中唯一使用工作流管理器的人。有些集群允许直接提交sbatch,但您可能还必须返回到登录节点。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73253447

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档