Sun Grid Engine
Die Sun Grid Engine (SGE) ist ein Queueing-/Batchsystem, mit dem sich Programme auf einem Cluster von Rechner ausführen lassen.
Eine Bemerkung gleich vorneweg: das Ganze macht natürlich nur dann Sinn, wenn möglichst viele das Queueing-System verwenden und nicht "hintenrum" auf den Rechner arbeiten, weil dass dann die Benutzer der SGE benachteiligt. Es werden nämlich keine Jobs gestartet, wenn die Auslastung eines Rechners zu hoch ist.
Vorbereitung
Um die SGE verwenden zu können, muss zuerst folgendes Kommando ausgeführt werden:
source /net/lin_local/sge/latest/inf/common/settings.sh
für bash-artige Shells bzw.
source /net/lin_local/sge/latest/inf/common/settings.csh
für C-Shells.
Danach stehen die SGE-Kommandos zur Verfügung. Am besten schreibt man diese Zeile in die persönliche .bashrc oder .cshrc.
Die wichtigsten Kommandos
qsub zum Abschicken von Jobs:
qsub job.sh
Häufig gebrauchte Optionen:
- -m be : Mail an den Benutzer wenn der Job startet und fertig wird.
- -l resource=value : Angeben von Ressourcen, die der Jobs benötigt. Das kann z.B. freier Hauptspeicher oder freie Prozessoren sein:
qsub -l mem_free=4G job.sh
qsub -l virtual_slots=4 job.sh
Eine Liste aller verfügbaren Ressourcen bekommt man mit
qconf -sc
- -t anzahl : erzeugt einen sog. Array-Job, d.h. das Skript wird mehrfach ausgeführt. Die Nummer der Ausführung lässt sich im Skript über die Variable $SGE_TASK_ID abfragen (Tipp: ein Skript mit nur "env" als Inhalt zeigt alle von der SGE gesetzten Umgebungsvariablen an).
Alle qsub-Optionen können auch direkt in der Job-Skript geschrieben werden
#!/bin/bash
#$ -l virtual_slots=4
echo Hallo
oder in der Datei .sge_request im Homeverzeichnis für alle Jobs hinterlegt werden
-cwd -m baes -e $HOME/queue-logs -o $HOME/queue-logs
qstat um sich den Status der Jobs und der Rechner anzusehen:
qstat
Häufig gebrauchte Optionen:
- -f : zeigt alle Jobs und die Auslastung aller Rechner an
- -j job-id : zeigt Detailinformationen zu einem Job an, z.B. auch warum er noch nicht läuft
qdel um Jobs (auch laufende) zu löschen.
qdel job-id
Die Ausgabe eines Skripts landet in zwei Dateien (eine für stdout, eine für stderr) im Verzeichnis, aus dem der Job abgeschickt wurde. Das lässt sich mit wie oben gezeigt mit -o und -e in ein separates Verzeichnis umleiten.
Für eine ausführliche Beschreibung empfiehlt sich die Konsultation der entsprechenden man-Pages oder der Doku zur SGE.
Rechner
Aktuell sind alle Compute-Rechner (titan04 - titan08) in den Cluster eingebunden und zusätzlich die Ida-Rechner des LS Berthold (diese sind allerdings nur von Mitglieder der bioml-Gruppe verwendbar).
meinl@titan05:~> qstat -f
queuename qtype resv/used/tot. load_avg arch states
--------------------------------------------------------------------
eight@ida02.inf BIP 0/0/8 0.00 lx24-amd64
--------------------------------------------------------------------
eight@titan04.inf BIP 0/0/8 0.04 lx24-amd64
--------------------------------------------------------------------
eight@titan05.inf BIP 0/0/8 0.00 lx24-amd64
--------------------------------------------------------------------
eight@titan06.inf BIP 0/0/8 0.98 lx24-amd64
--------------------------------------------------------------------
eight@titan07.inf BIP 0/0/8 0.02 lx24-amd64
--------------------------------------------------------------------
eight@titan08.inf BIP 0/0/8 0.01 lx24-amd64
--------------------------------------------------------------------
four@ida01.inf BIP 0/0/4 -NA- lx24-amd64 au
--------------------------------------------------------------------
four@ida03.inf BIP 0/0/4 -NA- lx24-amd64 au
--------------------------------------------------------------------
four@ida04.inf BIP 0/0/4 -NA- lx24-amd64 au
--------------------------------------------------------------------
four@ida05.inf BIP 0/0/4 -NA- lx24-amd64 au
Fragen, Anregungen, Kommentare am besten nicht (nur) an die Sysadmins richten, sondern an
Thorsten Meinl.
Schnellzugriff
Mit einem Klick zur Information! Wählen Sie hier aus den Top-Ten der Inhaltsthemen Ihr Interessengebiet aus.
Software für Studierende
Microsoft Developer Network Allicance (MSDN AA) Program:
Microsoft Software im Rahmen der Forschung und Lehre kostenlos für Studierende und Fachbereichsmitglieder.
Aktuelles
Wintersemester 2009/10: Die Erstiinfos. Information für Erstsemester. Veranstaltungen und weiterführende Links.
Kolloquium: Dr. Claudia Haff, University of Twente, Enschede, Netherlands
Mittwoch 25. November, 16.15 Uhr, Raum C252
Uni Downtown: Begreifbare Interaktion - oder wie bediene ich in Zukunft den Computer? Prof. Dr. Harald Reiterer, Freitag, 27.11.2009, 18 Uhr, Ergo Sum (Lago Shopping Center)


