LiDO Hilfe¶
Mit LiDO stellt das ITMC den Fakultäten einen Rechencluster auf Linuxbasis zur Verfügung. Es stehen mehr als 400 Knoten bereit, auf denen parallel Berechnungen ausgeführt werden können. Da die Anmeldung an LiDO nicht über den üblichen Unimail Account möglich ist, muss dieser extra beim ITMC beantragt werden. Mitarbeiter können dies über das Serviceportal erledigen. Alternativ ist ein schriftlicher Antrag beim Service Desk des ITMC möglich.
LiDO beim ITMC¶
Portable Batch System (PBS)¶
Um LiDO nutzen zu können, muss dem System mitgeteilt werden, wie es seine Ressourcen einsetzen soll. Hierzu existiert das PBS, dessen Nutzung obligatorisch ist. Jobs, welche ohne PBS submitted (gestartet) werden, werden vom System nicht akzeptiert und gelöscht. Das Batch System übernimmt nach dem Submitten die Verteilung der Ressourcen: Welche Knoten finden Verwendung? Wieviel Arbeitsspeicher wird bereit gestellt?
Submitten von Jobs¶
Zur Vereinfachung des Submit-Vorgangs, existiert das Skript /home/groups/stattmpl/bin/submitR
:
submitR [parallel] <jobfile.R> [<key>=<value>]*
Recognized keys:
- walltime=HH:MM:SS
- Expected runtime of the script. This is a hard limit, if you exceed it, your job will be terminated!
- memory=2048MB
- Amount of RAM to reserve per core. This is a hard limit, if you exceed it, your job will be terminated!
- nodes
- Number of nodes to reserve. Only really useful for a parallel job.
- replicate
- Range of replication IDs for which to execute this job. Defaults to ‘1-1’, meaning run this job once with replication ID 1. Useful for simulation studies. You can access the ID of the run using Sys.getenv(“PBS_ARRAYID”) from within R.
- queue
- Which queue to use for the job. If not given, automatically chosen based on the expected walltime.
- email=USER@statistik.tu-dortmund.de
- E-Mail address to use for notifications.
- autosubmit=false
- If set to ‘true’, submitR automatically submits the job to the batch system.
- outdir=.
- If set, all output files are placed in that directory.
All options can also be set using the configuration file
~/.submitrconf
. They are listed in <key>=<value> form one per
line. Comments are preceded by a ‘#’.
Beispiel:
/home/groups/stattmpl/bin/submitR doExperimentLido.R walltime=1000 replicate=1-576 outdir=submitr_doExperimentLido
Löschen aller Prozesse¶
qdel $(qstat -l -u $USER | awk 'FNR > 5 {print $1}' )
oder alternativ mit
/home/groups/stattmpl/bin/kill_all_jobs
Skripte aus allen Verzeichnissen nutzen¶
Die Skripte submitR
, kill_all_jobs
, usw. können direkt genutzt werden, indem das Verzeichnis
/home/groups/stattmpl/bin
in die Pfadvariable von LiDO eingebunden wird. Dazu wird die Datei ~/.bashrc
editiert und mit der Zeile PATH=$PATH:/home/groups/stattmpl/bin
ergänzt. Nach einem neuen Login sind alle
dort liegenden Skripte ohne eine explizite Angabe des Verzeichnisses aufrufbar.
R mit Batchjobs¶
Zur Verwendung des R Pakets BatchJobs ist eine clusterspezifische
Templatedatei und die persönliche Konfigurationsdatei ~/.BatchJobs.R
notwendig. Die
Templatedatei für LiDO liegt unter /home/groups/stattmpl/batchjobs_lido.tmpl
.
Im Folgenden ist eine Beispielkonfigurationsdatei zu finden.
Vor der Benutzung müssen noch die E-Maileinstellungen (insb. der Empfänger in mail.to
) angepasst werden.
Je nach Job wird man auch die Laufzeit walltime
und den Speicherverbrauch memory
pro Job anpassen müssen. Die Walltime wird in Sekunden angegeben.
cluster.functions = makeClusterFunctionsTorque("/home/groups/stattmpl/batchjobs_lido.tmpl")
default.resources = list(
R = "R-3.2.2-gcc-4.8.5-base",
modules = "",
walltime = 3600L,
memory = 1024L,
nodes = 1L
)
mail.start = "first+last"
mail.done = "first+last"
mail.error = "all"
mail.from = "<login@lidong1.itmc.tu-dortmund.de>"
mail.to = "<login@statistik.tu-dortmund.de>"
mail.control = list(smtpServer="mail.statistik.tu-dortmund.de")
debug = FALSE
Die vollständige Dokumentation ist auf der Projektseite von BatchJobs zu finden. Insbesondere die Seite zur Benutzung in Dortmund sollte man sich durchlesen.
Einloggen bei LiDO ausserhalb der Uni¶
LiDO befindet sich hinter einer Firewall, welche jeden Verbindungsversuch von außerhalb des Uni Netzwerkes verhindert. Um dennoch von zu Hause auf LiDO zuzugreifen, muss die Verbindung getunnelt werden.
Putty¶
Zunächst eine Verbindung zu shell.statistik.tu-dortmund.de einrichten, wie dies unter Einloggen ausserhalb des Uni Netzes beschrieben ist. Im zweiten Schritt unter connection/ssh bei remote command folgende Befehlszeile eintragen: ssh -X -l usernamelido lidong1.itmc.tu-dortmund.de
Warning
Beim Verbinden wird man nun zweimal hintereinander nach einem Passwort gefragt. Das erste ist das Passwort, welches man auf store hat und das zweite Passwort ist das von LiDO.
Winscp¶
Zunächst muss eine Verbindung zu lidong1.itmc.tu-dortmund.de eingerichtet werden. Damit diese Verbindung getunnelt wird, muss der Tunnel explizit eingeschaltet werden. Dazu wechselt man zu Connection/Tunnel (evtl sind die Advanced Options einzuschalten, bevor dieser Menüpunkt erscheint), setzt den Haken bei Connect through SSH tunnel und trägt unter Host name shell.statistik.tu-dortmund.de ein.