Отправка заданий R с использованием PBS - PullRequest
1 голос
/ 03 января 2011

Я отправляю задание, используя qsub, который работает в параллельном режиме R. Я намерен запустить программу R на 4 разных, а не на 8 ядрах.Вот некоторые из моих настроек в файле PBS:

    #PBS -l nodes=1:ppn=4

....
time  R --no-save < program1.R > program1.log

Я ввожу команду ta job_id и вижу, что в списке 4 ядра.Однако задание занимает большой объем памяти (31944900k used vs 32949628k total).Если бы я использовал 8 ядер, задания зависали из-за ограничения памяти.

top - 21:03:53 up 77 days, 11:54,  0 users,  load average: 3.99, 3.75, 3.37
Tasks: 207 total,   5 running, 202 sleeping,   0 stopped,   0 zombie
Cpu(s): 30.4%us,  1.6%sy,  0.0%ni, 66.8%id,  0.0%wa,  0.0%hi,  1.2%si,  0.0%st
Mem:  32949628k total, 31944900k used,  1004728k free,   269812k buffers
Swap:  2097136k total,     8360k used,  2088776k free,  6030856k cached

Вот снимок экрана при выдаче команды ta job_id

PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
 1794 x     25   0 6247m 6.0g 1780 R 99.2 19.1   8:14.37 R
 1795 x     25   0 6332m 6.1g 1780 R 99.2 19.4   8:14.37 R
 1796 x     25   0 6242m 6.0g 1784 R 99.2 19.1   8:14.37 R
 1797 x     25   0 6322m 6.1g 1780 R 99.2 19.4   8:14.33 R
 1714 x     18   0 65932 1504 1248 S  0.0  0.0   0:00.00 bash
 1761 x     18   0 63840 1244 1052 S  0.0  0.0   0:00.00 20016.hpc
 1783 x     18   0  133m 7096 1128 S  0.0  0.0   0:00.00 python
 1786 x     18   0  137m  46m 2688 S  0.0  0.1   0:02.06 R

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

Может ли кто-нибудь помочь мне в этом?Можно ли это решить с помощью pbs?

Большое спасибо

Ответы [ 2 ]

1 голос
/ 03 января 2011

«Как я могу запретить другим пользователям использовать другие 4 ядра? Мне нравится как-то скрывать, что моя работа состоит в использовании 8 ядер с 4 ядрами на холостом ходу».

Возможно, простой способ обойти это - отправитьработа сна на других 4?Кажется, хакерские хотя!(и предупреждение, моя PBS ржавая!)

0 голосов
/ 10 марта 2011

Почему бы не сделать следующее -

запросить PBS для ppn = 4, дополнительно запросить всю память на узле, например

#PBS -l nodes=1:ppn=4 -l mem=31944900k 

Это может быть невозможно на вашем компьютере.setup.

Я не уверен, как распараллелить R, но если это OPENMP, вы определенно можете запросить 8 ядер, но установите для OMP_NUM_THREADS значение 4

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...