Computer Infos

Zugang

Wer mit einem der thin clients arbeitet, ist bereits mit dem Headnode pallas verbunden. Andernfalls erfolgt der Zugang über ssh:

$ ssh name@pallas

Das pallas-Passwort gilt für alle 6 angeschlossenen Rechner, die beiden Woodcrest-Server ahorn und birke (mit 3GHz die höchstgetakteten Server des gesamten Grids), sowie den alten Opteron-Cluster bestehend aus spirit, mars, deimos, phobos (bieten dank 4-Sockel-Architektur eine sehr hohe Speicherbandbreite). Die Rechenleistung dieser Knoten wird vom Queuing-System auf pallas verwaltet. Einen Überblick zu Auslastung und Status der Rechner bietet Ganglia*.

Compiler

Auf pallas, ahorn, birke und spirit sind folgende Compiler installiert:

Die Intel-Compiler bieten spezielle Optionen zur prozessor-spezifischen Optimierung, erlaubt sind:

Damit ein Programm auf allen angeschlossenen Rechnern läuft, sollte man statisch linken. Außerdem kann es für mehrere CPU-Typen optimiert werden:

$ icc -static -O3 -xW -axT programm.c -o programm

Sofern nicht MPI verwendet wird, kann immer pallas zum compilieren verwendet werden. Da dort auch das Queuing-System läuft, ist bei der Arbeit mit seriellen und OpenMP-Programmen kein direktes Login auf den Rechenknoten erforderlich.

Parallelverarbeitung

OpenMP

Alle 6 Rechenknoten haben 4 Cores mit gemeinsamen 16 GB Speicher. Sie bieten sich also für Programme an, die mit OpenMP parallelisiert sind. Da die neuesten Versionen der GNU Compiler noch nicht installiert sind, müssen die Intel-Compiler verwendet werden:

$ icc -static -openmp -O3 -xW -axT programm.c -o programm

MPI

Die 4 Opteron-Knoten sind mit Dolphin SCI vernetzt, das etwa doppelt so schnell wie GBit-Ethernet ist, aber eine wesentlich bessere Latenz aufweist. Als Message Passing Interface ist eine angepasste Version von MPICH2 installiert.

MPI-Programme müssen auf spirit übersetzt werden. Dort stehen die üblichen mpi... Skripte zur Verfügung, die stets auf die GNU Compiler zurückgreifen:

$ mpicc mpi_hello.c -o mpi_hello.x

Eventuell lassen sich auch die Intel-Compiler verwenden, sofern alle erforderlichen Bibliotheken per Hand eingebunden werden. Die Befehle

$ mpicc -compile_info
$ mpicc -link_info

geben einen Hinweis auf die erforderlichen Optionen.

Die Programm-Ausführung wird im nächsten Abschnitt erklärt.

Jobs und Queues

Die Verwaltung der Rechenzeit übernimmt das Queuing-System Torque, d.h. alle Rechnungen müssen mit einem Jobscript gestartet werden. Eine Übersicht über alle Queues und ihre Limits liefert der Befehl:

$ qstat -q

Die aktuelle Auslastung sieht man mit:

$ qstat -a

Ein typisches Jobfile für serielle und OpenMP Rechnungen sieht folgendermaßen aus:

#!/bin/bash
#PBS -l nodes=1:ppn=4
#PBS -r n
#PBS -j oe

cd $PBS_O_WORKDIR

export OMP_NUM_THREADS=4
./programm

Bei MPI-Rechnungen ist zunächst das MPI-System zu starten. Ein entsprechender Job sieht so aus:

#!/bin/bash
#PBS -l nodes=4:ppn=4:sci
#PBS -r n
#PBS -j oe

cd $PBS_O_WORKDIR

mpdboot -n 4 -f $PBS_NODEFILE
mpirun -n 16 ./programm
mpdallexit

Man beachte die Option ...:sci, die die Jobausführung auf die Opteron-Knoten beschränkt. Die vollständige Hilfe zu Torque findet sich im Netz.

An das Queuing-System übergeben wird das Jobfile mit:

$ qsub jobfile

Bibliotheken

Auf pallas und einzelnen anderen Rechnern sind folgende Bibliotheken installiert:

*Zugriff auf Ganglia ist nur vom uni-internen Netz möglich.

last updated: Alex Weiße