- Info
Linux-Cluster (rzcluster)

- Der Linux-Cluster des Rechenzentrums besteht zurzeit aus 196 Knoten mit insgesamt 1558 Cores.
- Knotenaufteilung ( detaillierte Knotenbeschreibung ):
- 24 AMD-Barcelona Knoten (2.1 GHz) mit jeweils 8 Cores und 32 GB Hauptspeicher
- 17 Dual AMD-Opteron Knoten (2.0 GHz) und je 4 GB Hauptspeicher
- 11 Quad AMD-Opteron Knoten (2.8 GHz) und je 16 GB Hauptspeicher
- 1 Quad AMD-Opteron Knoten (2.8 GHz) und 32 GB Hauptspeicher
- 40 AMD-Shanghai Knoten (2.4 GHz) mit jeweils 8 Cores und 32 GB Hauptspeicher
- 3 AMD-Shanghai Knoten (2.4 GHz) mit jeweils 16 Cores und 128 GB Hauptspeicher
- 1 AMD Magny Cours-Knoten (2.1 GHz) mit 48 Cores und 256 GB Hauptspeicher
- 3 Quad Intel-Xeon Knoten (3.0 GHz) und je 16 GB Hauptspeicher
- 18 Intel Westmere-Knoten (2.67 GHz) mit jeweils 12 Cores und 48 GB Hauptspeicher
- 20 Intel Harpertown-Knoten (2.33 GHz) mit jeweils 8 Cores und 8 GB Hauptspeicher und DDR Infinibandvernetzung
- 26 AMD-Shanghai Knoten (2.4 GHz) mit jeweils 8 Cores und 32 GB Hauptspeicher und DDR Infinibandvernetzung
- 34 Intel Nehalem-Knoten (2.27 GHz) mit jeweils 8 Cores und 36 GB Hauptspeicher und Infinibandvernetzung
- Verbindungsnetzwerke:
- DDR Infiniband (20 Gbit/s): AMD-Barcelona, Intel Nehalem und Intel-Harpertown Knoten und teilweise AMD Shanghai Knoten
- Gigabit Ethernet: AMD-Opteron, AMD-Shanghai, Intel-Xeon und Intel-Westmere Knoten
- Zugangsrechner: rzcluster.rz.uni-kiel.de
- global verfügbarer Plattenplatz: zurzeit 34 TB
- Betriebssystem: AMD64-Variante von CentOS-5 (Linux-Distribution)
- Batchsystem: PBSPro 11.0
- Benutzerkennung :
- Für die Benutzung des Linux-Clusters ist eine extra Validierung erforderlich. Für die Beantragung einer Benutzerkennung kreuzen Sie bitte auf dem Antrag auf Nutzung eines Hochleistungsrechners den Punkt Linux-Cluster (rzcluster) an und schicken den ausgefüllten und unterschriebenen Antrag an das Rechenzentrum zurück.
- Zugangsrechner :
- Ein interaktives Einloggen ist nur auf dem Loginknoten rzcluster.rz.uni-kiel.de möglich. Alle anderen Knoten können nur über das Batchsystem genutzt werden.
- Das Einloggen kann nur über eine ssh-Verbindung ( ssh rzcluster.rz.uni-kiel.de -l usernamen oder ssh username@rzcluster.rz.uni-kiel.de ) erfolgen.
- Die Datenübertragung zwischen dem Arbeitsplatzrechner und dem Cluster kann nur über scp bzw. sftp erfolgen.
Linux-Clust
- Homeverzeichnis:
- Die im Homeverzeichnis $HOME abgelegten Dateien besitzen eine unbegrenzte Lebensdauer und werden regelmäßig gesichert.
- Globaler temporärer Plattenplatz:
- unter den Pfadnamen /work/username, /work1/username, /work2/username, /work3/username bzw. /work4/username steht jedem Benutzer zusätzlich Plattenplatz zur Verfügung. Diese Verzeichnisse sind auf allen Knoten verfügbar und müssen stets für die Abgabe von Batch-Berechnungen verwendet werden. Für neu eingerichtete Benutzerkennungen wird automatisch ein Verzeichnis auf dem Dateisystem /work4 angelegt.
- Es findet auf diesen Dateisystemen jedoch keine Datensicherung statt.
- lokaler Plattenplatz
- Auf jedem Batchknoten steht über das Verzeichnis $TMPDIR lokaler Plattenplatz für Berechnungen zur Verfügung.
- Besonders I/O-intensive Berechnungen sollten immer auf diesem Verzeichnis durchgeführt werden. Hierbei muss jedoch beachtet werden, dass dieses Verzeichnis nur innerhalb eines Batchjobs verfügbar ist und alle hier abgespeicherten Daten nach Beendigung einer Batchberechnung automatisch gelöscht werden.
- tape_cache-Dateien:
- aktuell nicht mehr benötigte Dateien sollten auf dem zusätzlichen Filesystem /nfs/tape_cache/username ausgelagert werden.
- Die hier abgelegten Dateien werden nach einiger Zeit auf Band geschrieben; sie bleiben jedoch jederzeit zugreifbar.
- Zu beachten ist bei diesen Dateien jedoch, dass vom Benutzer irrtümlich gelöschte Dateien nicht wieder hergestellt werden können.
Für die Nutzung einiger Programmiertools und Softwareprodukte ist es erforderlich, dass spezielle Umgebungsvariablen gesetzt werden, damit z.B. Suchpfade stimmen oder Lizenzdateien gefunden werden. Um unseren Anwendern die Nutzung dieser Programmpakete und das Wechseln zwischen verschiedenen Programmversionen zu erleichtern, haben wir auf unserem Linux-Cluster das Module-Konzept installiert.
Vor der ersten Benutzung des Module-Konzepte muss dieses zunächst initialisiert werden mit dem Kommando:
. /usr/local/Modules/3.2.6/init/bash (für die bash-Shell)
bzw.
source /usr/local/Modules/3.2.6/init/tcsh (für die tcsh-Shell)
Die wichtigsten Kommandos für die Nutzung des Module-Konzeptes sind:
- module avail: zeigt alle auf dem System verfügbaren Module an
- module load name: lädt das Module name, d.h. alle Einstellungen, die für die Nutzung dieses Programms notwendig sind, werden gesetzt.
- module unload name: entfernt das Module name, d.h. alle Einstellungen werden wieder rückgängig gemacht.
- module list: listet die aktuell geladenen Module auf
- module show name: zeigt an welche Einstellungen durch das Module name vorgenommen werden
- module whatis name: zeigt detaillierte Informationen zum Module name an
- Compiler
- gnu-Compiler: g77, gcc und g++
- Portland Compiler : pgf77, pgf90, pgcc und pgCC
- Intel-Compiler: ifort, icc und icpc
Für das Arbeiten mit dem Intel-Compiler müssen einige Umgebungsvariablen neu gesetzt werden. Dieses geschieht mit dem Kommando: module load intel. - FreePascal: fpc (erfordert: module load freepascal)
- MPI-Parallelisierung
Für die Durchführung von parallelen Berechnungen stehen auf dem Linux-Cluster zwei verschiedene MPI-Implementierungen zur Verfügung:
- OpenMPI
- zur Durchführung von parallelen Berechnungen auf den mit Infiniband vernetzten Knoten
- Setzen der notwendigen Umgebungsvariablen mit den Kommandos:
module load openmpi-gnu (Openmpi übersetzt mit dem gnu-Compiler)
module load openmpi-pgi (Openmpi überestzt mit dem Portland Compiler)
module load openmpi-intel (Openmpi übersetzt mit dem Intel-Compiler; nur für die Intel Xeon E5520 Knoten verfügbar)
- MPICH2
- zur Durchführung von parallelen Berechnungen auf den mit Gigabit-Ethernet vernetzten Knoten.
- Setzen der notwendigen Umgebungsvariablen mit den Kommandos:
module load mpich2 (MPICH2 übersetzt mit dem gnu-Compiler)
module load mpich2-pgi (MPICH2 übersetzt mit dem Portland-Compiler)
- Compileraufrufe für parallele Programme:
- mpif77: Fortran77-Programme
- mpif90: Fortran90-Programme
- mpicc: C-Programme
- mpicxx: C++-Programme
Die Übersetzung von parallelen Programmen sollte immer mit den Shellskripten (mpif77, mpif90, ...) erfolgen. Diese sorgen dafür, dass bei der Programmübersetzung die richtige MPI-Bibliothek automatisch eingebunden und die benötigten include-Dateien und Bibliotheken gefunden werden.
- Durchführung von knotenübegreifenden MPI-Berechnungen:
- Zur Durchführung von knotenübergreifenden MPI-Berechnungen müssen die beteiligten Batch-Knoten ohne Paßwortabfrage miteinander kommunizieren können. Beachten Sie hierzu bitte folgenden
Hinweis.
- PVM-Parallelisierung
Auf dem Linux-Cluster ist das Programmpaket PVM (Parallel Virtual Machine) in der Version 3.4.4 installiert
- Bibliotheken
- NAG-Bibliothek
Auf dem Linux-Cluster sind zurzeit die beiden folgenden NAG-Bibliotheken installiert:
- Fortran Bibliothek (Mark 20)
Aufruf: pgf77 prog.f -lnag - C Bibliothek (Mark 7)
Aufruf: pgcc prog.c -lnagc -lm
Detaillierte Informationen zu den einzelnen Routinen der beiden NAG-Bibliotheken finden Sie auf den WWW-Seiten der Firma NAG Ltd.: ( Fortran Bibliothek und C Bibliothek).
- I/O Bibliothek netCDF
- Vers. 4.1.3 mit HDF5 Vers. 1.8.8: module load netcdf_4.1.3
- die Include-Dateien befinden sich in dem Verzeichnis /cluster/Software/netcdf_4.1.3/include
- Übersetzen der Programme mit dem Portland-Compiler:
pgf90 -o prog.exe prog.f -lnetcdff -lnetcdf
pgcc -o prog.exe prog.c -lnetcdf
(Analoge Aufrufe gelten für den Intel-Compiler.) - Alle Optionen erhält man unter nc-config --help.
- nur auf dem Login-Knoten ist unter /usr/local/include bzw. /usr/local/lib derzeit noch Vers.4.1.1 mit HDF5 Vers.1.8.5 verfügbar. Bei Nutzung darf das Module netcdf_4.1.3 (s.o.) nichr aktiviert sein.
- Programmiertools
Für die Fehleranalyse und zur Optimierung von selbstentwickelten Softwareprogrammen stehen auf unserem Linux-Cluster folgende Programmiertools zur Verfügung:
- grafischer Debugger PGDBG
- grafischer Debugger für die Portland Group Compiler
- Arbeiten mit dem PGDBG-Debugger:
- Compilieren des Programmcodes mit der Option -g
- Aufruf des Debuggers mit dem Kommando: pgdbg
- PGI Tools Guide
- Data Display Debugger (DDD)
- grafisches Frontend für den kommandozeilen-basierten Debugger gdb
- Arbeiten mit dem DDD-Debugger:
- Compilieren des Programmcodes mit der Option -g
- Setzen von Umgebungsvariablen mit dem Kommando: module load ddd
- Aufruf des Debuggers mit: ddd
- Online-Handbuch
- DDD-Homepage
- grafischer Performance Profiler PGPROF
- Profiler für die Portland Group Compiler
- Aufruf mit: pgprof
- Turbomole
- Quantenchemisches Programmpaket (Ab-initio Rechnungen)
- Molpro
- Ab-initio Programm zur Berechnung der Elektronenstruktur
- Dalton 2.0
- Quantenchemisches Programmpaket
- ORCA
- Quantenchemisches Programmpaket zur Durchführung von ab-initio, DFT und semiemprischen SCF-MO Berechnungen
- Matlab
- Softwarepaket für numerische Berechnungen und zur Visualisierung
von Daten im technisch-wissenschaftlichen Bereich.
- installierte Programmversionen:
Matlab R2009a (Default-Version)
Matlab R2010b (Umgebungsvariablen setzen mit: module load matlab2010b)
- BLAST und mpiBLAST
- BLAST (Basic Alignment Search Tool) und mpiBLAST sind Programmsammlungen aus dem Bereich Bioinformatik zur Analyse biologischer Sequenzdaten. Die Programme dienen zum Vergleich von experimentell ermittelten DNA- oder Proteinsequenzen mit bereits in Datenbanken vorhandenen Sequenzen.
- Für das Arbeiten mit BLAST und mpiBLAST müssen einige Umgebungsvariablen neu gesetzt werden. Dieses geschieht mit dem Kommando:
module load blast bzw. module load mpiblast
- HMMER
- HMMER ist ein Softwarepaket aus dem Bereich der Bioinformatik zur Proteinsequenzanalyse unter Verwendung von Profilen, die nach dem "hidden Markov model" erstellt wurden.
- Auf unserem rzcluster stehen sowohl zwei serielle als auch zwei MPI-parallele Programmversionen zur Verfügung.
- Für das Arbeiten mit HMMER mussen einige Umgebungsvariablen neu gesetzt werden. Dieses geschieht mit den Kommandos:
module load hmmer (serielle HMMER-Version 3.0) bzw. module load hmmer2.3.2 (serielle HMMER-Version 2.3.2)
oder
module load hmmer_mpi (parallele HMMER-Version 3.0) bzw. module load hmmer_mpi2.3.2 (parallele HMMER-Version 2.3.2)
- ImageMagick
- Softwarepaket zur Betrachtung und Bearbeitung von Grafiken unterschiedlicher Dateiformate (gif, jpeg, tiff, pdf, ps, ...)
- Für das Arbeiten mit ImageMagick müssen einige Umgebungsvariablen gesetzt werden. Dieses geschieht mit dem Kommando:
module load imagemagick - Die grafische Benutzeroberfläche des Programms wird aufgerufen mit dem Kommando: display
- Ferret
- Softwarepaket zur grafischen Darstellung und Analyse von Daten. Es wird insbesondere die Auswertung von Feldern unterstützt, die im Common Data Format (netCDF) gespeichert sind.
- Das Programm ist auf dem Login-Knoten verfügbar.
- Für das Arbeiten mit Ferret müssen Umgebungsvariable gesetzt werden. Dieses geschieht über das Kommando:
. /usr/local/ferret/ferret_paths.bash oder
module load ferret
- Das Programms wird aufgerufen über das Kommando: ferret
- Umfangreiche Dokumentationen stehen unter /usr/local/ferret/doc zur Verfügung
NCO
- Die Software "netCDF Operators" dient der Analyse von netcdf-Dateien.
- Die NCO-Programme sind auf dem Login-Knoten verfügbar.
- Folgende Tools sind installiert: ncdiff, ncatted, ncap, ncwa, ncrename, ncra, ncks, ncflint und ncecat.
- Weitere Information erhält man über die entsprechenden Man-Pages.
- interaktives Arbeiten
- Berechnungen auf dem Linux-Cluster sollen hauptsächlich im
Batchbetrieb durchgeführt werden. Kurze interaktive Arbeiten
(z.B. Programmübersetzungen, Tests von Skripten und Programmen) können
auch interaktiv auf dem Login-Knoten ausgeführt werden.
-
Batchbetrieb
-
Um eine effektive und für alle Benutzer gerechte Auslastung unseres Linux-Clusters zu erhalten, setzen wir für die Resourcenverwaltung das Batchsystem PBSPro der Firma Altair Engineering ein.
Detaillierte Informationen zum Arbeiten mit PBSPro auf dem Linux-Cluster finden Sie auf einer zusätzlichen PBSPro-Seite .
Falls Sie Fragen zur Nutzung unseres Linux-Clusters haben, schicken Sie bitte eine Email an support@rz.uni-kiel.de oder wenden Sie sich direkt an folgende Mitarbeiter des Rechenzentrums: