R BATCH Jobs

Es gibt die Möglichkeit, R Skripte als Batch Job abarbeiten zu lassen. Dies macht man am besten auf einer deb (compute server): ssh deb<i>, i=1,..,14. Danach ins Verzeichnis wo das R Skript liegt navigieren, und folgenden Befehl ausführen:
R_BATCH scriptfile.R Routput.Rout

Ausgeführt wird folgendes:
nohup nice +7 R CMD BATCH scriptfile.R Routput.Rout &

'nohup' steht für 'no hang up'. 'nice +7' setzt die Priorität.

Nach ausführen des obigen Befehls, kann man die deb verlassen und den eigenen Computer ausschalten. Die Berechnungen laufen weiter. Der gesamte Output von R wird in die Datei Routput.Rout geschrieben. Gibt man keinen Dateinamen an, kommt der R-Output in die Datei scriptfile.Rout (gleicher Name wie die Input Datei).

R wird im aktuellen Verzeichnis gestartet und liest das .RData-File dieses Verzeichnisses ein. Am Ende der Berechnungen wird automatisch der 'workspace' in die Datei .RData gespeichert. Wenn man das nicht möchte, schreibt man in der Script-Datei am Ende q("no").

Mit den R Funktionen save() und load() kann man zu beliebigen Zeitpunkten R-Objekte abspeichern bzw. wieder laden. Die ist oft sinnvoller als sich auf den Output in .RData zu verlassen.

Page URL: https://wiki.math.ethz.ch/bin/view/SfSInfo/RechnenSfSComputeServersRBATCHJobs
2024-11-23
© 2024 Eidgenössische Technische Hochschule Zürich