sbatch: ошибка: не удалось отправить пакетное задание: истекло время ожидания сокета при операции отправки / записи при запуске Snakemake - PullRequest
2 голосов
/ 23 октября 2019

Я запускаю конвейер змеиного мата на высокопроизводительном контроллере, использующем slurm. Трубопровод довольно длинный, состоит из ~ 22 ступеней. Периодически змеиный мейк будет вызывать проблему при попытке отправить работу. Это приводит к ошибке

sbatch: error: Batch job submission failed: Socket timed out on send/recv operation
Error submitting jobscript (exit code 1):

Я запускаю конвейер через файл sbatch со следующим вызовом snakemake

snakemake -j 999 -p --cluster-config cluster.json --cluster 'sbatch --account {cluster.account} --job-name {cluster.job-name} --ntasks-per-node {cluster.ntasks-per-node} --cpus-per-task {threads} --mem {cluster.mem} --partition {cluster.partition} --time {cluster.time} --mail-user {cluster.mail-user} --mail-type {cluster.mail-type} --error {cluster.error} --output {cluster.output}' 

Это приводит не только к выводу задания snakemake sbatch, но такжедля рабочих мест, которые создает змея. Вышеуказанная ошибка появляется в slurm.out для файла sbatch.

Конкретный шаг задания, указанный в ошибке, будет выполнен успешно и выдаст выходные данные, но конвейер завершится неудачно. Журналы шага задания показывают, что идентификатор задания запущен без проблем. Я погуглил эту ошибку, и она, кажется, часто случается со сленмом, особенно когда планировщик находится под высоким IO, что предполагает, что это будет неизбежным и регулярным явлением. Я надеялся, что кто-то столкнулся с этой проблемой, и мог бы предложить предложения для обхода, чтобы весь конвейер не вышел из строя.

1 Ответ

2 голосов
/ 24 октября 2019
У

snakemake есть опция --max-jobs-per-second и --max-status-checks-per-second с аргументом по умолчанию 10. Может быть, попытаться уменьшить их, чтобы уменьшить нагрузку на планировщик? Также, может быть, попытаться уменьшить -j 999?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...