GNU Parallel: подсказка о времени выполнения - PullRequest
2 голосов
/ 01 мая 2019

GIVEN :

Некоторые очень трудоемкие задания, BIG0, BIG1 и т. Д., И куча небольших быстрых заданий fast0, fast1,и т.д.

ВОПРОС :

Предположим, что задания BIG* занимают 2 часа , а задания fast* занимают 1 час .Как я могу дать команду GNU Parallel распределить задания по времени и ядрам следующим образом

   time[h]    CPU[0]  CPU[1]     
     0        BIG0    BIG1     
     1         :        :       
     2        fast0   fast1

, а не так, как показано ниже?

   time[h]   CPU[0]   CPU[1] 
     0       BIG0     fast0   
     1         :      fast1
     2       BIG1            
     3         :      

Последняя настройка займет один час дольше.

1 Ответ

1 голос
/ 02 мая 2019

Одним из возможных подходов может быть сортировка ваших работ по ожидаемому времени перед отправкой в ​​ GNU Parallel , сначала большие:

parallel ... ::: BIG* fast* 
...