опция заданий не определяет количество отправленных заданий

Команда, которую я использую для запуска snakemake:

snakemake --snakefile Snakefile --configfile config.json --latency-wait 60 --rerun-incomplete --keep-going --notemp --reason --use-singularity --singularity-args "--bind /somepath/folder" --jobs 400 --cores 16 --cluster-config clusterConfiguration/cluster.json --cluster "sbatch --partition={cluster.queue} --job-name={cluster.name} --cpus-per-task={cluster.nCPUs} --mem={cluster.memory} --time={cluster.maxTime} --output=\"jobs/{cluster.rulename}/slurm_%x_%A_%a.out\""

По какой-то причине я не получаю больше 20 вакансий за раз. Глядя на документацию, думаю, что нужно использовать:

--max-jobs-per-second
--max-status-checks-per-second

Я не понимаю, почему такие варианты доступны. Если --jobs определяет максимальное количество отправленных заданий, почему мы должны определять максимальное количество заданий кластера / DRMAA в секунду? Что это означает?

Для второго варианта, что означает «Максимальное количество проверок статуса задания в секунду»?

Наконец, позволит ли мне установить для этих двух параметров значение 400 одновременно 400 заданий? Я могу попробовать, но хочу разобраться раньше.

Спасибо.


person nicoluca    schedule 12.12.2019    source источник


Ответы (1)


Если вы запустите snakemake --help, все эти параметры будут задокументированы. Флаг --jobs является синонимом флага --core, который вы уже используете, это ограничивает количество ядер (то есть многообработанных заданий) до 16 в вашем случае.

--max-jobs-per-second - это максимальная скорость, с которой задания отправляются в ваш кластер (т. Е. Влияние на ваш планировщик). Обычно вам не нужно указывать этот или --max-status-checks-per-second флаг; значения по умолчанию в целом нормальные.

  --cores [N], --jobs [N], -j [N]
                        Use at most N cores in parallel (default: 1). If N is
                        omitted, the limit is set to the number of available
                        cores.

  --max-jobs-per-second MAX_JOBS_PER_SECOND
                        Maximal number of cluster/drmaa jobs per second,
                        default is 10, fractions allowed.
  --max-status-checks-per-second MAX_STATUS_CHECKS_PER_SECOND
                        Maximal number of job status checks per second,
                        default is 10, fractions allowed.
person Chris_Rands    schedule 12.12.2019