next up previous
Next: Status von Jobs Up: Kommandos Previous: Kommandos

Absetzen von Batchjobs

Der grundlegende Aufruf zum Absetzen eines Batchjobs lautet

        bsub OPTIONEN COMMAND ARGUMENTE
wobei COMMAND das im Batch auszuführende Programm oder Skript ist, ARGUMENTE dessen Argumente und OPTIONEN spezielle Flags des bsub-Kommandos, mit denen z.B. die benötigten Ressourcen angegeben werden. Eine Batchqueue muss man auf Orion nicht angegeben, da es nur eine (normale) Queue gibt.

Die wichtigsten Optionen sind:


-o OUTFILE 		                    stdout des Jobs, auch stderr, falls keine                    -e-Option 

%J im Namen: Job-Nummer
-e ERRFILE stderr des Jobs
-R RESSOURCES benötigte Ressourcen, u.a.:
mem: Speicher, in MB
utmp Plattenplatz im Usertemp, in GB

z.B.: mem 1#1200 && utmp>2.3
-W RUNLIMIT max. wall clock Zeit
-c CPULIMIT max. CPU-Zeit für Job (in min oder hh:mm)
-n min [,max] Zahl der benötigten CPUs (mindestens, höchstens)
-J JOBNAME Name eines Jobs
-w CONDITION Bedingung für das Starten eines Jobs
für Kettenjobs etwa: done(job1)
-q QUEUENAME Name der Queue, sonst: Default-Queue
-I interaktiver Job
-Is interaktiver Job mit Shell in Pseudoterminal

Falls COMMAND ein Skript ist, kann man die Optionen für bsub auch direkt ins Skript schreiben in Zeilen, die mit #BSUB beginnen.

Nach Beendigung des Jobs erhält man eine Mail oder (bei -o) eine Ausgabedatei, die neben dem Programm-Output auch Informationen über CPU-Zeit und Speicherbedarf enthält. Diese Datei wird temporär im Home-Verzeichnis (unter 2#2/.lsbatch) untergebracht. Man sollte daher darauf achten, dass sie nicht zu gross wird und die Ausgaben des Programms selbst ggf. in eine Datei umlenken.

Es empfiehlt sich grundsätzlich, wie in den folgenden Beispielen die benötigten Ressourcen auch anzugeben, zumindest den Hauptspeicher- und Zeitbedarf. Sonst nimmt das Batchsystem an, dass keine besonderen Anforderungen bestehen und startet den Job auch bei knapper Ressourcenlage, was natürlich einen Abbruch des Programms zur Folge haben kann. Um vom Backfilling zu profitieren, muss man außerdem die geschätzte Laufzeit mit der Option -W angeben. Bei einem nicht-parallelen Job wird dies i.w. die benötigte CPU-Zeit sein, ggf. erhöht um Aufschläge für Ein- und Ausgaben.

Einige typische Beispiele:

normaler Skalarjob

bsub -o "juhu.\%J" -c 90 -R "mem>250" myjob 1 250

Gestartet werden soll myjob 1 250. Das Programm benötigt höchstens 90 Minuten CPU-Zeit und 250 MB Hauptspeicher. Die Ausgabedatei heisst juhu.%J, wobei %J durch die Jobnummer ersetzt wird.

Kettenjob

bsub -o o1 -J job1 myjob1 
bsub -o o2 -J job2 -w "done(job1)" myjob2

myjob1 wird gestartet und bekommt den Jobnamen job1. Der Job myjob2 wird erst gestartet, nachdem der Job job1 erfolgreich beendet wurde.

paralleler Job

bsub -o result -n 4,8 -W 240 -R "mem>500 && utmp>1.2" mpijob

Das Programm mpijob benötigt 4 - 8 CPUs, 500 MB Hauptspeicher und 1.2 GB Plattenplatz im Usertemp-Bereich. Es ist nach höchstens 240 Minuten fertig.


next up previous
Next: Status von Jobs Up: Kommandos Previous: Kommandos
cb 1999-12-02