Starten, Stoppen und Überwachen von Batchjobs

batch jobs
qsub
job script
qstat
qdel

Batch Jobs

Ein Batch Job besteht aus Kommandos für das NQS (Network Queuing System) und aus Kommandos für das IRIX. Die NQS-Kommandos bestimmen die benötigte Speicherplatzmenge, die CPU-Zeit, den Jobnamen, die Ausgabedateinamen usw.
Jedes Kommando oder Programm ohne interaktive Eingabe kann als Batch Job laufen!
Nachdem der Batch Job abgearbeitet worden ist, schickt das NQS die Dateien stderr und stdout in das Verzeichnis zurück, aus dem der Job abgeschickt worden ist, sofern nicht anderes bestimmt worden ist. NQS erzeugt für diese Dateien Namen aus dem Namen des abgeschickten Jobs und einer laufenden Nummer (nqsid) in der Form
request-name.e##### und request-name.o#####.
 

Abschicken eines Jobs mit dem Kommando qsub

Batch Jobs werden lokal mit einem Kommando qsub abgeschickt.

qsub  [option wert][option wert ... ]  job_script

Notwendige und zusätzliche Optionen [option wert] können zum Kommando oder im job_script angegeben werden.
Mit dem erfolgreichen Einordnen in die Queue erhält der Job eine Nummer nqsid.

-l mpp_p=n maximale Prozessoranzahl (default 1)
-lT [[hh:]mm:]ss maximale CPU-Zeit pro Job (default 15 Minuten)
-lM memory maximaler Speicher pro Job (default 60 Mb)
-lF wert maximale Größe eines permanenten Files
-e filename lenkt die Ausgabe stderr in die Datei filename
-o filename lenkt die Ausgabe stdout in die Datei filename
-eo  mischt die Ausgaben stderr und stdout in eine Datei
-mb sendet eine Mail * zu Beginn der Jobabarbeitung (default: keine Mail)
-me sendet eine Mail * zu Ende der Jobarbeitung (default: keine Mail)
-mr sendet eine Mail * bei Wiederanlauf (rerun, default: keine Mail)
-mu mailadr setzt die Mailadresse, wenn Mails verlangt werden (default: userid) 

* die Mail gelangt auf den Zentralserver, sofern keine Adresse (oder forward) angegeben wird!
 

Beispiel für ein job_script:

#QSUB -l mpp_p=n ### maximum number of processing elements
#QSUB -lT 18000 ### request time limit 18000 secs CPU
#QSUB -lM 250Mb  ### request memory limit 250Mbytes
#QSUB -eo  ### merge stderr and stdout
#QSUB -me  ### sends mail to submitter at completion
##### hier ist die Umgebung für das zu startende Executable bereitzustellen !!!
##### etwa durch Abarbeiten der allgemeinen und privaten Shell-Profiles, z.B.:
##### . /etc/profile (Korn-Shell)
##### source /etc/cshrc (cshell)
echo job start
cc loop.c -o prog.out # ### compile loop.c and name executable prog.out
./prog.out ### execute prog.out
rm -f loop.c prog.out nqs.data  ### delete files
echo job complete 


 
 
 


Anzeige des Status eines Jobs mit dem Kommando qstat

qstat [parameter] ... [parameter]

Das Kommando gibt Statusinformationen über Queues und abgeschickte Jobs.

-a zeigt alle Jobs an
-i  zeigt die in Queues eingereihten Jobs des Nutzers an
-r zeigt die laufenden Jobs des Nutzers an
-f nqsid zeigt volle Information zu dem abgeschickten Job nqsid an
-l nqsid zeigt das Log-Protokoll zu dem abgeschickten Job nqsid an


 
 
 


Löschen eines Jobs mit dem Kommando qdel

qdel [-k | -signo] nqsid

Mit diesem Kommando kann ein laufender Job oder ein in eine Queue eingereihter Job gelöscht werden.

-k sendet ein KILL-Signal an den laufenden Job nqsid
-signo    sendet die Signalnummer signo an den laufenden Job nqsid


 


W. Heinrich,  26.11.02 URZ-Homepage