Я использую R в многоузловом кластере Linux. Я хотел бы провести анализ R с использованием сценариев или пакетного режима без использования параллельных вычислительных программ, таких как MPI или snow.
Я знаю, что это можно сделать, разделив входные данные таким образом, чтобы каждый узел выполнял разные части данных.
Мой вопрос: как мне это сделать? Я не уверен, как я должен кодировать свои сценарии. Пример был бы очень полезен!
Я до сих пор выполнял свои сценарии с использованием PBS, но кажется, что он запускается только на одном узле, поскольку R является однопоточной программой. Следовательно, мне нужно выяснить, как настроить мой код так, чтобы он распределял труд на все узлы.
Вот что я делал до сих пор:
1) командная строка:
> qsub myjobs.pbs
2) myjobs.pbs:
> #!/bin/sh
> #PBS -l nodes=6:ppn=2
> #PBS -l walltime=00:05:00
> #PBS -l arch=x86_64
>
> pbsdsh -v $PBS_O_WORKDIR/myscript.sh
3) myscript.sh:
#!/bin/sh
cd $PBS_O_WORKDIR
R CMD BATCH --no-save my_script.R
4) my_script.R:
> library(survival)
> ...
> write.table(test,"TESTER.csv",
> sep=",", row.names=F, quote=F)
Любые предложения будут оценены! Спасибо!
-CC