Effektives Arbeiten auf Abacus4

Dateigröße

Manchmal ist die Dateigröße, die von ls angezeigt wird, größer als der Platz auf der Festplatte, der tatsächlich von der Datei beansprucht wird. Dieses Phänomen ist häufig bei rwf -Dateien von Gaussian? zu beobachten.

Die Dateigröße in Kilobytes, die von ls -lk ausgegeben wird, ist eine momentane Obergrenze, die aber nicht unbedingt tatsächlich erreicht sein muss. Das Kommando du -k gibt aber den tatsächlich verbrauchten Platz an.

Ein Beispiel könnte folgendermaßen aussehen:
# ls -lk Gau-12345.rwf
-rw-r--r-- 1 mrdummy agdummy 394371072 Oct  1 12:53 Gau-12345.rwf

# du -k  Gau-12345.rwf
377093120       Gau-12345.rwf

So kann es vorkommen, dass ls -l eine Dateigröße angibt, die größer als der gesamten, im Dateisystem vorhanden Speicherplatz. Um einen Überlauf zu vermeiden, sollte in diesem Fall der Prozess, der in die Datei schreibt, beendet werden.

llq

Mit llq kann man den Status der Queue abfragen.

Um zu sehen, warum eine Job wartet und nicht gestartet wird, verwendet man die Option -s.

Loadleveler Klassen

Informationen über die verfügbaren Loadlevel-Klassen können mit llclass angezeigt werden. Insbesondere wird auch die maximale CPU-Zeit, die ein Job in der Klasse verbrauchen kann, angegeben.

Wenn wegen Wartungsarbeiten keine Jobs mehr auf einem bestimmten Knoten starten sollen, dann wird zuerst die Klasse long geschlossen, dann medium und zuletzt short. Damit sind gelegentlich mehr Ressourcen in den Klassen medium und short als in long verfügbar.

Insgesamt sollte der tatsächliche Bedarf an CPU-Zeit möglichst genau abgeschätzt werden, damit ein eher kurzlaufende Job nicht unnötigeweise mit einem eher langlaufenden Job um Ressourcen konkurriert.

man

Auf Abacus4 gib es einige Kommandos, wie ls oder df, mehrfach - sowohl von AIX als auch von z.B. von GNU. Wenn die Umgebungsvariable $MANPATH gesetzt ist, dann liefert man nur die nicht AIX-Seiten. Die AIX-Seiten bekommt man entweder mit man C oder man -M/.

Beispiele
man df Manpage für GNU df
man C df Manpage für AIX df
man -M/ df Manpage für AIX df

MPI-Jobs

Parallele Jobs auf Abacus4 sollten im Allgemeinen so abgeschickt, dass eine kleine Anzahl von Tasks auf mehreren Knoten läuft, anstatt eine große Anzahl von Tasks auf einem einzelnen Knoten. Ausreichende ConsumableResources stehen solchen Jobs mit höherer Wahrscheinlichkeit zur Verfügung und die Speicherauslastung des Clusters insgesamt wird in der Regel verbessert.

Für einen Job, der 8 Tasks benötigt, sind folgende Konfigurationen sinnvoll:
   # @ node = 2
   # @ tasks_per_node = 4
oder
   # @ node = 4
   # @ tasks_per_node = 2

Weil die InfiniBand-Verbindung zwischen den Konten sehr schnell ist und eine niedrige Latenz besitzt, werden die Beeinträchtigung der Performance bei Rechnungen über Knotengrenzen hinweg minimiert.

SSH

Zugang zu den HPC-Systemen ist nur mit sicheren Verfahren wie SSH und SCP möglich.

Bitte beachten Sie, dass folgendes nur innerhalb des Netzwerks der FU funktionieren wird. Falls Sie sich ausserhalb des Netzwerks befinden, müssen Sie vorher eine VPN-Verbindung aufbauen.

Um eine Verbindung zu einem entfernten System aufzubauen, gibt man Folgendes ein:
   $ ssh <username>@<systemname>.zedat.fu-berlin.de
Z.B.
   $ ssh schmidt@soroban.zedat.fu-berlin.de
Man wird dann aufgefordert, das ZEDAT-Passwort einzugeben.

Um unter X auf dem eigenen Linux-Rechner ein Programm auf dem entfernten System zu starten, das ein Fenster öffnet, muss man die Option -X verwenden. Dies funktioniert auch mit Mac O X, aber ab Version 10.8, muss man vorher das Paket XQuartz installieren.

SSHFS

Mit dem Linux-Kommando sshfs kann man ein lokales Verzeichnis einrichten, das auf ein Verzeichnis auf einem entfernten Recher weist.

Dazu legt man auf dem eigenen Linux-Rechner ein lokales Verzeichnis an, z.B.
   $ mkdir my_remote_dir
Dann gibt man folgende Zeile ein
   $ sshfs <username>@<systemname>.zedat.fu-berlin.de: my_remote_dir
Um die Verbindung zu entfernen verwendet man
   $ fusermount -u  my_remote_dir