【问题标题】:Limit the number of single processes in Nextflow workflows限制 Nextflow 工作流中单个进程的数量
【发布时间】:2021-12-20 02:33:35
【问题描述】:

我有以下简单的工作流程:

workflow {

  Channel.fromPath(params.file_list)
        .splitText(){it.trim()}
        .set { file_list }

  data = GetFromHPSS(file_list)
  data_pairs = CoupleDETXToFile(data, file(params.detx_path))
  SingleDUTimeResFit(data_pairs)

}

其中file_list 是磁带驱动器系统上的路径列表。 GetFromHPSS 是从磁带系统检索文件的进程,我需要将并行进程限制在相当低的数量。

目前,我正在使用

executor {
  queueSize = 100
}

在配置文件中但是有两个问题:

  1. 它限制了并行作业的总体最大数量,而我可以并行运行数千个 SingleDUTimeResFit 进程
  2. 它总是先等待,直到它处理完来自GetFromHPSS 的所有内容,而不是继续处理后续进程

这是一个例子:

N E X T F L O W  ~  version 21.04.3
Launching `workflows/singledu_timeresfit.nf` [wise_galileo] - revision: 8084ac1482
executor >  sge (502)
[13/ca3e8a] process > GetFromHPSS (426)  [ 18%] 402 of 22840
[-        ] process > CoupleDETXToFile   [  0%] 0 of 402
[-        ] process > SingleDUTimeResFit -

有没有办法将GetFromHPSS 限制为特定数量的并行执行,并让剩余的进程以另一个队列限制集运行?

编辑:我猜这是我最好的尝试之一,但它不接受配置:


process {
  executor {
    queueSize = 100
    submitRateLimit = "10sec"
  }

  withName: GetFromHPSS {
    executor.queueSize = 10
  }
}

通过这个process 顶级配置,我得到:

N E X T F L O W  ~  version 21.04.3
Launching `workflows/singledu_timeresfit.nf` [confident_pasteur] - revision: 8084ac1482
Unknown config attribute `process.withName:GetFromHPSS` -- check config file: /sps/km3net/users/tgal/dev/PhD/workflows/nextflow.config

【问题讨论】:

    标签: workflow nextflow


    【解决方案1】:

    我认为您在这里寻找的是maxForks 指令,它可以仅应用于“GetFromHPSS”进程,而无需更改执行程序的 queueSize:

    process 'GetFromHPSS' {
    
        maxForks 1
    
        """
        <your script here>
        """
    }
    

    如果您认为有意义,您甚至可以对其进行参数化:

    params.hpss_forks = 5
    
    process 'GetFromHPSS' {
    
        maxForks params.hpss_forks
    
        """
        <your script here>
        """
    }
    

    【讨论】:

    • 完美运行!
    猜你喜欢
    • 2021-09-09
    • 1970-01-01
    • 1970-01-01
    • 2022-12-11
    • 1970-01-01
    • 1970-01-01
    • 2021-12-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多