优化SLURM集群中的并行化:基因组比对的情况

时间:2018-09-16 11:01:41

标签: parallel-processing slurm genome

我想了解在SLURM集群中并行使用bwa的最佳方法是什么。显然,这取决于我作为用户的计算限制。

bwa软件具有用于指定线程数的参数“ -t”。假设我使用bwa mem -t 3 ref.fa sampleA.fq.gz,这意味着bwa将作业拆分为三个任务/线程。换句话说,它将同时对齐三个读取(我想)。

现在,如果我想在多个示例和SLURM集群中运行此命令,我是否应该像bwa mem一样指定任务数,并指定每个任务的CPU数(例如2)?将会是:

sbatch -c 2 -n 3 bwa.sh

其中bwa.sh包含以下内容:

cat data.info | while read indv; do
bwa mem -t 3 ref.fa sample${indv}.fq.gz
done

您有什么建议吗?还是可以改善/纠正我的推理?

1 个答案:

答案 0 :(得分:1)

对于-c 2,您要求每个任务有2个CPU。

使用-n 3,您要执行3个任务。

该配置准备了一组资源,其中包括最多3个不同节点中的6个CPU。但是您的脚本仅使用3个CPU(-t 3),因此您正在浪费资源,并且可能正在使用不属于您的资源(因为该任务将使用3个CPU,并且每个任务只要求2个CPU)。 / p>

对于该特定脚本,-c 3是适当的参数(另一个默认为一个任务):

sbatch -c 3 bwa.sh