(Новое в GNU Parallel)
Моя цель - запустить один и тот же Rscript с разными аргументами на нескольких ядрах.Моя первая проблема - заставить это работать на моем ноутбуке (2 реальных ядра, 4 виртуальных), затем я перенесу это на одно с 64 ядрами.
В настоящее время:
У меня есть Rscript, "Test.R", который принимает аргументы, что-то делает (скажем, добавляет несколько чисел, затем записывает его в файл), затем останавливается.
У меня есть файл "commands.txt", содержащий следующее:
/Users/name/anaconda3/lib/R/bin/Rscript Test.R 5 100 100
/Users/name/anaconda3/lib/R/bin/Rscript Test.R 5 100 1000
/Users/name/anaconda3/lib/R/bin/Rscript Test.R 5 100 1000
/Users/name/anaconda3/lib/R/bin/Rscript Test.R 5 100 1000
/Users/name/anaconda3/lib/R/bin/Rscript Test.R 50 100 1000
/Users/name/anaconda3/lib/R/bin/Rscript Test.R 50 200 1000
Так что это говорит GNU параллельно запускать Test.R с использованием R (я установил это с помощью anaconda)
В терминале (после перехода на рабочий стол, где находится Test.Rи command.txt есть) Я использую команду:
parallel --jobs 2 < commands.txt
Что я хочу сделать, это использовать 2 ядра и запускать команды из command.txt, пока все задачи не будут выполнены.(Я пробовал варианты этой команды, такие как изменение 2 на 1, в этом случае 2 ядра работают на 100%, а остальные 2 работают на 20-30%).
КогдаЯ запускаю это, все 4 ядра доходят до 100% (как видно из htop), и первые 2 задания завершаются, и больше не выполняются задания, несмотря на то, что все 4 ядра по-прежнему работают на 100%.
Когда я выполняю ту же команду на 64-ядерном вычислении, все 64 ядра переходят на 100%, и мне приходится отменять задания.
Любой совет относительно ресурсов, на которые следует обратить внимание, или то, что я делаю неправильно, будетс благодарностью
Немного сложного вопроса, дайте мне знать, если я смогу что-то уточнить.
Вывод htop в соответствии с запросом, во время выполнения вышеуказанной команды (отсортировано по CPU%:
1 [||||||||||||||||||||||||100.0%] Tasks: 490, 490 thr; 4 running
2 [|||||||||||||||||||||||||99.3%] Load average: 4.24 3.46 4.12
3 [||||||||||||||||||||||||100.0%] Uptime: 1 day, 18:56:02
4 [||||||||||||||||||||||||100.0%]
Mem[|||||||||||||||||||5.83G/8.00G]
Swp[|||||||||| 678M/2.00G]
PID USER PRI NI VIRT RES S CPU% MEM% TIME+ Command
9719 user 16 0 4763M 291M ? 182. 3.6 0:19.74 /Users/user/anaconda3
9711 user 16 0 4763M 294M ? 182. 3.6 0:20.69 /Users/user/anaconda3
7575 user 24 0 4446M 94240 ? 11.7 1.1 1:52.76 /Applications/Utilities
8833 user 17 0 86.0G 259M ? 0.8 3.2 1:33.25 /System/Library/StagedF
9709 user 24 0 4195M 2664 R 0.2 0.0 0:00.12 htop
9676 user 24 0 4197M 14496 ? 0.0 0.2 0:00.13 perl /usr/local/bin/par