Tengo R ejecutándose en Amazon EC2, usando una versión modificada del bioconductor AMI . Actualmente, estoy usando putty para ssh en mi servidor, comenzando R desde la línea de comando y luego copiando y pegando mi script desde notepad ++ en mi sesión de putty.
La cosa es que odio cortar y pegar. Se siente como una edad de piedra y ocasionalmente tengo problemas extraños de almacenamiento en búfer que arruinan mi código. No puedo usar RStudio , ya que no es compatible con multinúcleo , del cual dependo en gran medida.
¿Cuál es la forma más elegante de hacer esto?
/ Editar: Gracias por todas las excelentes sugerencias. Por ahora, he cambiado a usar foreach con el backend doRedis, que funciona muy bien en mi Mac, mi PC y en Amazon a través de RStudio. Este cambio fue bastante fácil una vez que aprendí a escribir una función que emula "lapply" usando "foreach". (¡Además, doRedis es increíble!)
Respuestas:
Se me ocurren algunas maneras. He hecho esto bastante y estas son las formas que me parecieron más útiles:
fuente
doRedis
solo puedo hacer cosas de redis; Una gran entrada no es la única razón para los cálculos de HPC.La forma más conveniente es simplemente instalar el servidor VNC y un entorno ligero como XFCE y crear una sesión virtual que pueda usar desde donde quiera (persiste las desconexiones), es decir, algo como esto:
Otros beneficios adicionales son que puede usar su portapapeles local en el escritorio virtual y ver las gráficas R mucho más rápido que mediante el reenvío X11 o la copia de archivos de imagen.
Se necesita un poco de esfuerzo para configurar todo correctamente (X init, túnel ssh), pero Internet está lleno de tutoriales sobre cómo hacerlo.
fuente
No sé cómo funciona Amazon EC2, así que quizás mis soluciones simples no funcionen. Pero normalmente uso scp o sftp (a través de WinSCP si estoy en Windows) o git.
fuente
Usaría rsync para enviar los scripts y los archivos de datos al servidor, luego "nohup Rscript myscript.R> output.out &" para ejecutar las cosas y cuando termine, rsync para obtener los resultados.
fuente
screen
otmux
son mejores quenohup
: también separan el script para que no se elimine al cerrar sesión, pero permiten volver a conectar la sesión y comenzar de nuevo, incluso desde otra computadora cliente.tmux
incluso se puede usar como una especie de administrador de ventanas en modo texto.VIM + tmux + VIM Slime. Obtiene el mejor editor de texto y la capacidad de enviar código del editor a la línea de comando R (al igual que en Rstudio).
fuente
Uso R Studio en EC2 todo el tiempo gracias a los AMI creados por Louis Aslett . No tiene que saber nada de SSH ni nada (aparte de R, por supuesto). Solo necesita una cuenta EC2. Como se menciona en una de las otras respuestas, R Studio admite computación paralela, por ejemplo , a través del paquete foreach . Esto realmente permite aprovechar el poder de EC2. Al usar una instancia de cómputo optimizado (32 núcleos), pude reducir significativamente el tiempo de entrenamiento para mis modelos ML casi sin costo (unos pocos dólares por hora).
fuente