Параллельно GNU насыщает один сервер вместо равномерного распределения заданий - PullRequest
1 голос
/ 26 апреля 2020

Я использую параллельную GNU 20160222. В моем ~/.parallel/sshloginfile настроено четыре сервера:

48/big1
48/big2
8/small1
8/small2

, когда я запускаю, скажем, 32 задания, я ожидаю, что параллельно будет запускаться восемь на каждом сервере , Или еще лучше: два или три на small1 и small2 и двенадцать или около того на big1 и big2 . Но он запускает 8 заданий на small2 и остальные задания локально.

Вот мой вызов (на самом деле я использую --profile, но я удалил его для простоты):

parallel --verbose --workdir . --sshdelay 0.2 --controlmaster --sshloginfile .. \
    "my_cmd {} | gzip > {}.gz" ::: $(seq 1 32)

Вот главный вопрос:

  1. Отсутствует ли опция, которая бы обеспечивала более равное распределение рабочих мест?

Вот еще один связанный вопрос:

Есть ли способ указать --memfree, --load и др. c. на сервер? Особенно --memfree.

1 Ответ

1 голос
/ 26 апреля 2020

Я помню GNU Parallel, используемый для заполнения рабочих мест "с одного конца". Это не имело значения, если бы у вас было больше заданий, чем рабочих мест: все рабочие места (как локальные, так и удаленные) были бы заполнены.

Однако это имело значение, если у вас было меньше рабочих мест. Таким образом, это было изменено, поэтому сегодня GNU Parallel предоставляет задания для sshlogins в циклическом порядке - таким образом, распределяя его более равномерно.

К сожалению, я не помню, в какой версии это изменение было сделано. Но вы можете сказать, если ваша версия делает это, запустив:

parallel -vv -t

и посмотрите, какой sshlogin используется.

Re: --memfree

Вы можете собрать ваше собственное использование --limit.

Мне любопытно, почему вы хотите разные ограничения для разных серверов. Идея, лежащая в основе --memfree, заключается в том, что он настроен на объем оперативной памяти, который занимает одно задание. Поэтому, если ОЗУ достаточно для одного задания, должно быть запущено новое задание - независимо от сервера.

У вас явно другая ситуация, поэтому расскажите об этом.

Re: обновление

Просмотр parallel --embed.

...