From dd28abdb12459edea3d6da449853deddf53b5731 Mon Sep 17 00:00:00 2001 From: Charles Plessy Date: Fri, 11 Oct 2024 15:46:51 +0900 Subject: [PATCH] Fine-tune resource usage. The FILTERED module (`process_single`) may be CPU-bound when getting only 1 CPU, therefore increasing it to 2. On the other hand, it does not need much memory, therefore reducing to 2GB. Increasing time to 2h as I/O seems to be a bottleneck too (unless it was only CPU). The MultiQC modules are also using `process_single`, but they run only once per pipeline run, so wasting 1 CPU on them is not a problem. Assembly-scan also uses 100% CPU when given only 1, so doubling that just in case. --- conf/base.config | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/conf/base.config b/conf/base.config index 997c283..22c47be 100644 --- a/conf/base.config +++ b/conf/base.config @@ -24,12 +24,12 @@ process { // If possible, it would be nice to keep the same label naming convention when // adding in your local modules too. withLabel:process_single { - cpus = { check_max( 1 , 'cpus' ) } - memory = { check_max( 6.GB * task.attempt, 'memory' ) } - time = { check_max( 1.h * task.attempt, 'time' ) } + cpus = { check_max( 2 , 'cpus' ) } + memory = { check_max( 2.GB * task.attempt, 'memory' ) } + time = { check_max( 2.h * task.attempt, 'time' ) } } withLabel:process_low { - cpus = { check_max( 1 * task.attempt, 'cpus' ) } + cpus = { check_max( 2 * task.attempt, 'cpus' ) } memory = { check_max( 6.GB * task.attempt, 'memory' ) } time = { check_max( 1.h * task.attempt, 'time' ) } }