Ich habe R auf Amazon EC2 mit einer modifizierten Version des Bioconductor AMI . Derzeit verwende ich putty, um ssh auf meinen Server zu übertragen, R über die Befehlszeile zu starten und dann mein Skript von Notepad ++ in meine Putty-Sitzung zu kopieren und einzufügen.
Die Sache ist, ich hasse Ausschneiden und Einfügen. Es fühlt sich steinzeitlich an und ich bekomme gelegentlich seltsame Pufferprobleme, die meinen Code vermasseln. Ich kann RStudio nicht verwenden , da es Multicore nicht unterstützt , von dem ich stark abhängig bin.
Was ist die elegantere Art, dies zu tun?
/ Edit: Danke für all die tollen Vorschläge. Im Moment habe ich auf foreach mit dem doRedis-Backend umgestellt, das auf meinem Mac, meinem PC und Amazon über RStudio hervorragend funktioniert. Dieser Wechsel war ziemlich einfach, als ich lernte, wie man eine Funktion schreibt , die "lapply" mit "foreach" emuliert . (Auch doRedis ist großartig!)
Antworten:
Ich kann mir ein paar Möglichkeiten vorstellen. Ich habe das ziemlich oft gemacht und hier sind die Möglichkeiten, die ich am nützlichsten fand:
quelle
doRedis
kann nur Redis Sachen machen; Ein großer Aufwand ist nicht der einzige Grund für HPC-Berechnungen.Am bequemsten ist es, nur den VNC-Server und eine leichte Umgebung wie XFCE zu installieren und sich eine virtuelle Sitzung zu erstellen, die Sie von jedem beliebigen Ort aus verwenden können (es bestehen weiterhin Verbindungsabbrüche), z.
Weitere Vorteile sind, dass Sie Ihre lokale Zwischenablage auf dem virtuellen Desktop verwenden und R-Diagramme viel schneller anzeigen können als über das Weiterleiten oder Kopieren von Bilddateien durch X11.
Es erfordert einige Mühe, alles richtig einzurichten (X-Init, SSH-Tunnel), aber das Internet ist voll von Tutorials, wie man das macht.
quelle
Ich weiß nicht, wie Amazon EC2 funktioniert, daher funktionieren meine einfachen Lösungen möglicherweise nicht. Aber normalerweise verwende ich scp oder sftp (über WinSCP, wenn ich unter Windows bin) oder git.
quelle
Ich würde rsync verwenden, um die Skripte und Datendateien auf den Server zu übertragen, dann "nohup Rscript myscript.R> output.out &", um Dinge auszuführen, und wenn ich fertig bin, rsync, um die Ergebnisse abzurufen.
quelle
screen
odertmux
sind besser alsnohup
- sie trennen auch das Skript, damit es nicht durch Abmelden beendet wird, sondern ermöglichen es, die Sitzung erneut anzuschließen und neu zu starten, selbst von einem anderen Client-Computer.tmux
kann sogar als eine Art Fenstermanager im Textmodus verwendet werden.VIM + tmux + VIM Slime. Sie erhalten den besten Texteditor und die Möglichkeit, Code vom Editor an die R-Befehlszeile zu senden (genau wie in Rstudio).
quelle
Ich verwende R Studio auf EC2 alle Zeit dank der AMI s erstellt von Louis Aslett . Sie müssen kein SSH oder etwas anderes kennen (außer R natürlich). Sie benötigen lediglich ein EC2-Konto. Wie in einer der anderen Antworten erwähnt, unterstützt R Studio paralleles Rechnen, beispielsweise über das foreach- Paket. Dies ermöglicht es wirklich, die Leistung von EC2 zu nutzen. Durch die Verwendung einer rechneroptimierten Instanz (32 Kerne) konnte ich die Trainingszeit für meine ML-Modelle fast kostenlos (einige Dollar pro Stunde) erheblich verkürzen.
quelle