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.

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.