1

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

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

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

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

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

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

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

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

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

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

0