Das Batchsystem verwaltet die eingegangenen Arbeitsaufträge und startet die Ausführung auf den eigentlichen Rechenknoten des Clusters.
Die folgende Abbildung gibt einen Überblick über den gesamten Arbeitsablauf eines Arbeitsauftrags auf Hilbert.
Das Batchsystem ist zentraler Bestandteil der Arbeit mit Hilbert. Es nimmt die Arbeitsaufträge der Nutzer entgegen, plant deren Ausführung, konfiguriert die virtuellen Rechner und starte die Jobs.
Die Kommunikation geschieht über spezielle Konsolen-Befehle. Die folgende Liste führt häufig verwendeten Befehle auf:
Ein Arbeitsauftrag an das Batchsystem senden:
qsub SHELL-SCRIPT |
"SHELL-SCRIPT" bezeichnet hier den Namen des entsprechenden Skripts, dass die Meta-Informationen und die eigentliche Befehle bzw. Programmaufrufe des Arbeitsauftrags umfassen. Die Inhalte und Struktur eines solchen Skripts wird weiter unten besprochen. Als Rückantwort des qsub Befehls wir Ihnen die Job-ID mitgeteilt mit deren Hilfe Sie den Status des Arbeitsauftrags überwachen können.
Einen bereits übermittelten Arbeitsauftrag (gegebenenfalls anhalten und) löschen:
qdel JOB-ID |
"JOB-ID" bezeichnet die Job-ID Ihres Arbeitsauftrags, die Ihnen beim übermitteln des Arbeitsauftrags zugeteilt wurde (siehe "qsub").
Statusinformationen abrufen:
qstat -f JOB-ID qstat -u ACCOUNT-NAME qstat -q |
In der ersten Zeile werden Informationen zu einem konkreten Arbeitsauftrag abgerufen. In der zweiten Zeile werden Informationen zu allen Arbeitsaufträgen, die unter Ihrem Namen übermittelt wurden, abgefragt. In der letzten Zeile wird der Status (Auslastung, etc) der Warteschlangen des Batchsystems ausgelesen. (Weiterführende Informationen: Kapitel 11 im PBS Pro User's Guide)
Das folgenden Minimalbeispiel illustriert den Aufbau und den Inhalt eines typischen Shell-Skripts.
#!/bin/bash # PBS -l select=1:ncpus=2:mem=3gb # PBS -l walltime=01:59:00 # PBS -A " SinStatEc " module load R R CMD BATCH -- slave R - Script . R R - Output . Rout |
In d