next up previous contents
Next: Parallele Jobs Up: CODINE - Das Previous: CODINE - Das

Allgemeines

Im RZINFO 1/94 wurde das DQS-Batchsystem auf dem HP-Cluster beschrieben. Inzwischen hat sich einiges getan; insbesondere wurde das DQS-System durch das kommerzielle Produkt CODINE der Firma Genias ersetzt. (CODINE ist für alle gängigen Workstation-Typen im Rahmen einer Campuslizenz vom RZ erhältlich. Anfragen bitte an Manfred Schößler.) Da sich CODINE in weiten Bereichen von DQS ableitet, bleibt das meiste damals gesagte richtig; hier sollen nur einige Unterschiede und Erweiterungen vorgestellt werden.

Die grundlegenden Kommandos sind nach wie vor qsub zum Absetzen eines Batchjobs, qstat zur Status-Abfrage und qdel zum Beenden eines Batchjobs. Einige neue Optionen von qsub werden in den untenstehenden Beispielskripten demonstriert, weitere Informationen erhält man auf den tuinfo-Seiten des RZ-WWW sowie mit man. (Der MANPATH muß dazu das Directory /progsys/CODINE/man enthalten.)

Die Queue-Struktur auf dem HP-Cluster wurde leicht geändert: Es gibt nur noch die beiden Gruppen skalar für normale und parallel für parallele Jobs. Um die unterschiedliche Speicherausstattung der Maschinen ausnutzen zu können, wurden die ``data size''-Limits der Queues den jeweiligen Maschinen angepaßt. Statt also einen speicherintensiven Job explizit in der Queue conny zu starten, braucht man nur noch den geforderten Speicher anzugeben, wie das folgende Skript zeigt:

#!/bin/csh
#
# CODINE-Skript für skalaren Job
#

#
#  Job braucht 60 MB für 
#  den Data-Bereich
#    (group=skalar ist der Default)
#
#$ -l s_data=60M

#
# Schicke Mail bei Start und Ende des 
# Batchjobs an die angegebene Adresse
# 
#$ -mu junglas@tu-harburg.d400.de
#$ -mb
#$ -me

#
# sammle Ausgaben und Fehlermeldungen 
# im File testqstat.out
#
#$ -eo testqstat.out 

#
# starte den Job im aktuellen Directory 
# (statt im Homeverzeichnis)
#
#$ -cwd

#
# benutze die C-Shell (default: Bourne)
#
#$ -s /bin/csh


#
# jetzt kommen "richtige" Kommandos
#

#
# auf welchem Rechner wurde gearbeitet?
#
echo $HOSTNAME
#
# auf geht's
#
$HOME/fs/scripts/testjob 2
$HOME/fs/scripts/testjob 30 > OUT

Bei Jobs, die viel I/O machen, sollte man noch bedenken, daß dies vom Homebereich aus -- also über das Netz -- sehr langsam geht und u.U. das eigene Programm stark ausbremst. Auf jeder Maschine gibt es daher einen lokalen Plattenbereich /usertemp, in den Eingabedaten vorher hinein- und Ergebnisdaten hinterher wieder herauskopiert werden sollten. Dies muß im Batchskript geschehen, da vorher ja nicht bekannt ist, wo der Job laufen wird. Natürlich besteht dabei das leidige Problem, daß der /usertemp-Bereich voll sein könnte. Daher: Nach dem Joblauf aufräumen -- auch im eigenen Interesse. Im Prinzip sollte auf einer Maschine, auf der gerade kein Batchjob läuft, der /usertemp-Bereich völlig leer sein!



next up previous contents
Next: Parallele Jobs Up: CODINE - Das Previous: CODINE - Das