У меня R работает на Amazon EC2, используя модифицированную версию биокондуктора AMI . В настоящее время я использую putty для ssh на своем сервере, запускаю R из командной строки, а затем копирую и вставляю свой скрипт из notepad ++ в мой сеанс putty.
Дело в том, что я ненавижу вырезать и вставлять. Это похоже на каменный век, и я иногда получаю странные проблемы с буферизацией, которые портят мой код. Я не могу использовать RStudio , потому что он не поддерживает многоядерный , от которого я сильно зависит.
Какой самый элегантный способ сделать это?
/ Edit: Спасибо за все отличные предложения. На данный момент я переключился на использование foreach с бэкэндом doRedis, который прекрасно работает на моем Mac, моем ПК и на amazon через RStudio. Это переключение стало довольно простым, когда я узнал, как написать функцию, которая эмулирует «lapply», используя «foreach». (Кроме того, doRedis - это круто!)
Ответы:
Я могу придумать несколько способов. Я сделал это немного, и вот способы, которые я нашел наиболее полезными:
источник
doRedis
могу делать только вещи с Redis; Огромный вклад не единственная причина для расчетов HPC.Самый удобный способ - просто установить VNC-сервер и некоторую легкую среду, такую как XFCE, и создать себе виртуальный сеанс, который вы можете использовать из любой точки мира (он отключается), то есть что-то вроде этого:
Дополнительные плюсы в том, что вы можете использовать локальный буфер обмена на виртуальном рабочем столе и видеть R-графики намного быстрее, чем с помощью пересылки или копирования файлов изображений X11.
Требуется некоторое усилие, чтобы все правильно настроить (X init, ssh tunnel), но в интернете полно учебников, как это сделать.
источник
Я не знаю, как работает Amazon EC2, поэтому, возможно, мои простые решения не работают. Но я обычно использую scp или sftp (через WinSCP, если я на Windows) или git.
источник
Я бы использовал rsync для отправки скриптов и файлов данных на сервер, затем «nohup Rscript myscript.R> output.out &» для запуска и, когда закончил, rsync для получения результатов.
источник
screen
илиtmux
лучше, чемnohup
- они также отсоединяют сценарий, чтобы он не был уничтожен при выходе из системы, но позволяют повторно присоединить сеанс и начать заново, даже с другого клиентского компьютера.tmux
может даже использоваться в качестве своего рода оконного менеджера в текстовом режиме.VIM + Tmux + VIM Слизь. Вы получаете лучший текстовый редактор и возможность отправлять код из редактора в командную строку R (как в Rstudio).
источник
Я использую R Studio на EC2 все время благодаря AMI, созданным Луи Аслеттом . Вам не нужно знать какой-либо SSH или что-либо (кроме R, конечно). Вам просто нужна учетная запись EC2. Как упоминалось в одном из других ответов, R Studio поддерживает параллельные вычисления, например, с помощью пакета foreach . Это действительно позволяет использовать мощь EC2. Используя экземпляр, оптимизированный для вычислений (32 ядра), я смог значительно сократить время обучения для своих моделей ML практически без затрат (несколько долларов в час).
источник