почему мой главный узел простаивает при параллельном запуске gnu?

281
Mr Purple

Я использую gnu -rallel для параллельного запуска нескольких сценариев Python на нескольких компьютерах в моей гигабитной сети.

Обрабатываемые файлы находятся в папке tmpfs (RAM) на моем главном узле. Когда я запускаю параллельный процесс, я вижу, что все ядра в удаленном узле работают, но мой мастер-узел остается бездействующим.

Вот как выглядит моя параллельная линия:

parallel --workdir ./netshare --filter-hosts -S :,192.168.88.222\ 'myscript.py {.}.shp output_{.}.shp input.shp' ::: tile_.shp 

Я попытался изменить порядок IP-адресов 192.168.88.222: с тем же результатом.

Я пытался работать только на локальном главном узле, кроме предупреждения о том, что удаленные узлы недоступны, все 8 локальных потоков начинают работать.

Я думал, что это может быть задержка в сети, но скрипты на python вообще не запускаются! Тогда как на удаленном хосте я вижу четыре запущенных без проблем.

Согласно комментарию Оле, я протестировал проблему с bzip2, вот команда:

 parallel -S $SERVER1,: 'cd /path/to/mounted/network/share && cp largefile.avi file.avi && bzip2 -v file.avi && rm file.avi.bz2' ::: 

Тест работал точно так, как ожидалось. Все ядра всех хостов запустились с помощью cp, а затем bzip. Так что, думаю, проблема в моем скрипте Python.

1
Можете ли вы воспроизвести это с помощью других команд, таких как bzip2? Ole Tange 8 лет назад 1
Оказывается, что ответ был связан с правильным доступом к рабочему каталогу. Тщательный перемонтирование каждой папки и проверка исправления флагов рабочих папок. Решение определенно не стоит моего ответа. Спасибо за указатель, хотя @Ole дал мне простое средство для исправления ошибок. Mr Purple 8 лет назад 0

0 ответов на вопрос