TUHH > Servicebereiche > Rechenzentrum > Software > Anwendungssoftware > PBSPro auf der SGI Altix

Batchbetrieb mit PBSPro auf SGI Altix 4700

Abgabe von Batch-Jobs

Für die Durchführung einer Berechnung im Batchbetrieb ist es notwendig, dass der Benutzer dem Batchsystem nicht nur mitteilt welches Programm ausgeführt werden soll, sondern zusätzlich müssen dem System auch die für die Berechnung notwendigen Ressourcen (Rechenzeit, Speicherbedarf, Ein- und Ausgabedateien,...) mitgeteilt werden.

Beim PBSPro-Batchsystem kann die Abgabe von Batch-Jobs im Prinzip auf drei verschiedene Arten erfolgen:

Interaktive Jobabgabe

Die Abgabe einer Batch-Berechnung erfolgt mit dem Kommando:

qsub [Optionen] auszuführende Datei

Die für eine Jobabgabe wichtigsten Optionen sind:

PBS-Kommando Erklärung
-o outfile Standardausgabe wird in die Datei outfile umgeleitet
-e errfile Standard-Fehlerausgabe wird in die Datei errfile umgeleitet
-j oe Standardausgabe und Fehlerausgabe werden in die gleiche Datei umgeleitet
-l ncpus=CPUs Anzahl der Cores (dedault ncpus=1, max. ncpus=32, möglichst durch 4 teilbar)
-l walltime=0:15:00 Rechenzeit in std:min:sec (default 6 Std., max. 150 Std.)
-l mem=4gb Speicherbedarf. Bitte nur angeben, wenn Sie mehr als 1GB/Core benötigen.
-l core=dual bzw.
-l core=single
Legt fest, ob der Job Dual oder Single Core CPUs nutzen soll.
Diese Angabe ist nur sinnvoll, wenn man weiß, dass der Job stark von einem bestimmten CPU-Typ profitiert, denn PBSpro achtet immer darauf, dass Single und Dual Core CPUs nicht gemischt werden (Details)
-N altix_pbs Name des Batchjobs
-M Email-Adresse Email-Adresse des Benutzers
-m abe Email wenn Job startet(b), abbricht(a), ended (e), keine mail (n)
-I Interaktiver Job. Der Benutzer bekommt eine interaktive Shell, wenn der Job startet. Nützlich zum Debuggen und z.B. für Software mit grafischer Benutzeroberfläche
-V Alle Umgebungsvariablen werden aus der Shell übernommen, von der aus qsub aufgerufen wird.

Beispiel für eine Jobabgabe:
qsub -l ncpus=4,walltime=00:15:00 -o job.out -e job.err job.exe
Hier soll eine Berechnung mit 4 Prozessoren durchgeführt werden. Die maximale Rechenzeit beträgt 15 Minuten und die Ausgabedateien sind job.out und job.err.

Weitere Informationen zu diesen und weiteren Optionen findet man auf der SGI Altix mit dem Kommando:
man qsub

Wer sich für technische Details der gemischten Bestückung mit Single und Dual Core Prozessoren interessiert, wird auf der Seite zur Hardwarekonfiguration der SGI Altix fündig.

Jobabgabe mit einem Skriptfile

Anstelle die verschiedenen Optionen direkt über die Kommandozeile einzugeben, ist es meistens vorteilhafter diese Anweisungen in eine Skript-Datei zu schreiben. Hierbei muss beachtet werden, dass jede Option in einer eigenen Zeilen stehen muss und dass diese immer mit #PBS beginnt.

Das oben beschriebene Beispiel würde in einer Skripdatei folgendermaßen aussehen:

#!/bin/sh 
# Beispiel für eine parallele Berechnung 
#PBS -l ncpus=4
#PBS -l walltime=00:15:00 
#PBS -l mem=4gb
#PBS -o job.out 
#PBS -e job.err 
./job.exe

Die Übergabe dieser Skriptdatei an das Batchsystem erfolgt mit Kommando:
qsub skript.exe

Bemerkung
Will man mit der Option -I eine interaktive Batch-Berechnung starten, so muss diese Option über die Kommandozeile (qsub -I) abgegeben werden. Im Batch-Skript wird die Zeile #PBS -I ignoriert.

Jobabgabe mit grafischer Benutzeroberfläche

Für die Abgabe einer Batch-Berechnung kann auf der Altix 4700 auch die grafische Benutzeroberfläche xpbs verwendet werden.

Beispielskripte

PBS-Kommandos zur Job-Kontrolle

Die beiden wichtigsten Kommandos zur Kontrolle eines Batch-Jobs sind:
qstat : liefert Informationen über laufende und wartende Batch-Jobs
qdel jobid : beendet einen laufenden Job bzw. entfernt einen wartenden Job

Weitere wichtige Optionen für die Job-Kontrolle sind

qstat -a : detaillierte Informationen über alle wartenden und laufende jobs wartenden Batch-Jobs

qstat -f jobid : detailliertere Informationen über einen bestimmten Job

qalter jobid : Job-Ressourcen eines wartenden Jobs ändern

tracejob jobid: liefert Log-Informationen über einen Job

qout jobid : zeigt die bisher erzeugte Standardausgabe eines laufenden Jobs an

PBS-Dokumentation

Ansprechpartner

Falls Sie Fragen zur Durchführung von Batch-Berechnungen auf den Parallelrechnern am Rechenzentrum haben, wenden Sie sich bitte an Markus Stammberger.