Jobbeschreibungsdatei

An dieser Stelle sollen nur kurz die wichtigsten Einträge einer Jobbeschreibungsdatei erläutert werden. Für einen schnellen Einstieg in die Benutzung des Morfeus-Grids schauen Sie sich zuerst das einführende Beispiel an. Weitere Informationen finden Sie dann in der Kurzanleitung. Eine umfassende offizielle Anleitung zu HTCondor, die aber nicht auf die Besonderheiten des Morfeus-Grids eingeht, ist hier zu finden.

Übrigens gibt es in der graphischen Oberfläche (MorfeusConsole) auch einen Knopf, mit dem Sie sich eine Jobbeschreibungsdatei für die Kommandozeile generieren lassen können:

Bildschirmfoto 2015-04-30 Um 21.14.png

Auf diese Weise können Sie jederzeit schauen, wie die jeweiligen Einstellungen "per Hand" vorgenommen würden.

In die Jobbeschreibungsdatei, die Sie mit jedem Editor anlegen können, werden alle für HTCondor wichtigen Informationen geschrieben. Zunächst sind folgende drei Zeilen Pflicht:

Eintrag Kommentar
executable=job.exe Durch executable wird HTCondor mitgeteilt, welche Datei die auszuführende Datei ist.
universe = vanilla universe = vanilla ist im Morfeus-Grid Pflicht, da andere Universen nicht unterstützt werden. Für weitere Informationen sei auf das offizielle Handbuch verwiesen.
queue queue ist der Befehl zum Starten des Jobs. Er steht immer ganz am Ende der Jobbeschreibungsdatei. Jeder Eintrag nach queue wird ignoriert.



Es gibt noch einige weitere, nützliche Einträge für die Jobbeschreibungsdatei. Im Folgenden sind nur die wichtigsten aufgelistet.

Eintrag Kommentar
log=Logdatei.log In diese Datei werden nützliche Informationen über den Programmverlauf geschrieben. Die Endung .log ist willkürlich.
input=Eingabe.in Hat man beispielsweise ein Programm, welches eine Eingabeaufforderung per Tastatur fordert, so muss man diese Eingabe schon vorher in der input-Datei speichern. Die Endung .in ist willkürlich.
output=Ausgabe.out In diese Datei wird die gesamte Ausgabe, die normalerweise auf den Bilschirm erscheinen würde, abgespeichert. Die Endung .out ist willkürlich.
error=Fehlermeldungen.err In diese Datei werden alle Fehlermeldungen des Programms abgespeichert. Die Endung .err ist willkürlich.
transfer_input_files=Datei1,Datei2 Falls das Programm noch zusätzlich Dateien außer der Execute-Datei benötigt, müssen diese an dieser Stelle aufgelistet werden.
requirements= An dieser Stelle können die benötigten Ressourcen festgelegt werden. Legt man nichts fest, wird der Computer, von dem aus der Job abgeschickt wird, als Referenz genommen.
Beispiel:
Ich benötige das Betriebssystem Windows und einen Prozessor vom Typ x86 oder x64. In meiner Jobbeschreibungsdatei muss dann stehen:
    requirements=( (OpSys=="WINDOWS") && ((ARCH == "INTEL") || (ARCH == "X86_64") )

 

Unterstützte Betriebsysteme sind:

 Linux  "LINUX"
 Windows  "WINDOWS"

 

Die folgenden Prozessorarchitekturen sind im Morfeus-Grid verfügbar: 

x86  "INTEL"
x64  "X86_64"

 Die möglichen logischen Ausdrücke sind:

ODER ||
UND &&
Vergleichendes Gleich ==