Suchen Sitemap Kontakt Impressum
Christian-Albrechts-Universität zu Kiel Rechenzentrum CAU Kiel
Benutzerspezifische Werkzeuge

Vektorrechnersystem NEC SX-9

 

 

 

sx9_1.jpg

 

 

Rechnerkonfiguration

 

Das Vektorrechnersystem des Rechenzentrums besteht aus mehreren Komponenten: zwei Vorrechner vom Typ  NEC Express5800/140 R1-4  und sechs NEC SX-Knoten (5 SX-9 und 1 SX-8-Knoten) .

 

    NEC Express5800/140 R1-4:
    • 2 Rechner mit jeweils:  
      • 4 Quad Core Intel Xeon Prozessoren  (2.93 GHz)
      • 32 GB Hauptspeicher
      • Betriebssystem: Suse Linux 
      • Anbindung an das globale Filesystem
      • Standard-Login Shell: bash


    NEC SX-Knoten:

    • 5 SX-9 Knoten (nesh1-nesh5) mit jeweils
      • 16 Vektorprozessoren mit einer Peak-Performance von je 100 GFlops
      • 512 GB Hauptspeicher
      • lokaler Plattenplatz: 2.5 TB 
    • 1 SX-8 Knoten (nesh0) mit jeweils
      • 8 Vektorprozessoren mit einer Peak-Performance von je 16 GFlops
      • 64 GB Hauptspeicher (Fast Cycle RAM)
      • lokaler Plattenplatz: 288 GB
    • über ein globales Filesystem verfügbarer Plattenplatz: 165 TB
    • Die einzelnen Knoten sind über einen schnellen Crossbar-Switch (IXS) miteinander verbunden.
    • Betriebssystem: Super-UX
    • Standard-Login Shell: Korn-Shell (ksh)

Rechnerzugang

  • Benutzerkennung :
    • Für die Benutzung unseres Vektorrechners ist eine extra Validierung erforderlich. Zur Beantragung einer Benutzerkennung schicken Sie bitte den ausgefüllten und unterschriebenen Antrag auf Nutzung eines Hochleistungsrechners  (bitte den Punkt Vektorrechnersystem NEC SX-9 ankreuzen) an das Rechenzentrum zurück.

     

  • Zugangsrechner :
    • Ein interaktives Einloggen ist nur auf einem der beiden  Vorrechner NEC Express 5800 (nesh-fe.rz.uni-kiel.de)  möglich. Die einzelnen NEC SX-Knoten  können im Allgemeinen nur über das Batchsystem genutzt werden. In Ausnahmefällen (z.B. zum Debuggen von Programmen) kann jedoch für kurze Zeit interaktiv auf dem SX-8 Knoten (nesh0)  gearbeitet werden.
    • Das Einloggen kann nur über eine ssh-Verbindung (ssh nesh-fe.rz.uni-kiel.de -l usernamen oder ssh username@nesh-fe.rz.uni-kiel.de) erfolgen.
    • Für die Datenübertragung zwischen dem Arbeitsplatzrechner und dem Vektorrechnersystem können nur die Programme scp oder sftp verwendet werden.

Dateisysteme

 

Die beiden Vorrechner  und die NEC SX-Knoten  greifen gemeinsam auf ein globales Filesystem von insgesamt 165 TB zu. Für alle Rechner existiert ein gemeinsamer HOME-Bereich und zusätzlich steht auf jedem der 5-SX Knoten lokaler Plattenplatz  zur Aufnahme von temporären Dateien zur Verfügung. Auf dem Vektorrechnersystem können vom jedem Benutzer folgende Dateisysteme verwendet werden:

Variable Kapazität Lebensdauer Daten-
sicherung
User Quota global o. lokal
$HOME

8 TB 

solange der Account aktiv ist
ja z.Zt. noch nicht global
$WORK div. Platten mit je 16 TB solange der Account aktiv ist
nein nein global
$TMPDIR 1 TB (SX-9) bzw. 144 GB (SX-8) insgesamt für alle Benutzer bis zum Job-Ende nein nein lokal auf jedem Knoten
$TAPE_CACHE
solange der Account aktiv ist
nein nein lokal auf Vorrechner nesh-fe


Die Bandbreite zu den verschiedenen Dateisystemen ist unterschiedlichen gross. Am schnellsten ist der Dateizugriff auf das Verzeichnis $TMPDIR; gefolgt von den Verzeichnissen $WORK und $HOME. Für I/O-intensive Berechnungen sollte immer das Dateisystem $TMPDIR verwendet werden. Hierbei muss jedoch noch beachtet werden, dass diese Dateien nur innerhalb eines Batch-Jobs verfügbar sind und nach Beendigung der Batch-Berechnung gelöscht werden.

Die Lebensdauer der Daten auf dem Dateisystemen $WORK  ist je nach betrieblicher Situation unterschiedlich lang. Da diese Dateisysteme von uns nicht gesichert werden, sollten hier  keine langfristig benötigten Dateien gespeichert werden.

Für die Speicherung aktuell nicht mehr benötigter Daten steht auf dem Vorrechner nesh-fe das Dateisystem $TAPE_CACHE zur Verfügung. Die hier abgelegten Dateien werden nach einiger Zeit auf Band geschrieben. Im $TAPE_CACHE-Verzeichnis sollten nach Möglichkiet nicht viele einzelne kleine Dateien abgespeichert werden, sondern mehrere kleine Dateien sollten zu einem größeren Datenpaket zusammen gefasst werden. Hierbei ist jedoch noch zu beachten, dass dieses Datenpaket max. 750 GB groß sein darf.  Auf diese Daten im $TAPE_CACHE-Verzeichnis kann jederzeit von der nesh-fe aus zugegriffen werden. Zu beachten ist bei diesen Daten jedoch, dass vom Benutzer irrtümlich gelöschte Dateien nicht wieder hergestellt werden können. Falls Dateien vom Filesystem $TAPE_CACHE in einem Batchjob benötigt werden, müssen diese vorher auf die global vergfügbaren Filesystemne $HOME oder $WORK kopiert werden. Soll das Kopieren im Rahmen eines Batchjobs erfolgen, so steht Ihnen hierzu die Batchklasse feque zur Verfügung.

 

Module-Konzept

 

Für die Nutzung verschiedener Compilerversionen oder Bibliotheken ist es erforderlich, dass spezielle Umgebungsvariablen gesetzt werden, damit z.B. Suchpfade stimmen. Um unseren Anwendern die Nutzung dieser Programmpakete und das Wechseln zwischen verschiedenen Programmversionen zu erleichtern, haben wir auf unserem Vektorrechnersystem das Module-Konzept installiert.  

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

 

Programmentwicklung

 

  • Compiler
  • Die direkte Übersetzung von Fortran- und C/C++-Programmen auf den NEC SX-Knoten ist sehr zeitintensiv. Daher stehen auf dem Vorrechner nesh-fe sog. "Cross-Compiler" zur Verfügung. Diese "Cross-Compiler" erzeugen auf der nesh-fe einen ablauffähigen Code für die NEC SX-Knoten und sind wesentlich schneller als die entsprechenden Compiler auf der NEC SX-9 bzw. NEC SX-8. Es sollte daher, soweit wie möglich, auf die direkte Übersetzung von Programmen auf den Vektorknoten  verzichtet werden.
    Cross-Compileraufruf
    nesh-fe
    Compileraufruf
    NEC-SX 8 bzw. NEC-SX 9
    Erklärung
    sxf90 f90 Fortran-Programme
    sxcc cc C-Programme
    sxc++ c++ C++-Programme
    sxmpif90 mpif90 Fortran-Programme + MPI-Parallelisierung
    sxmpicc mpicc C-Programme + MPI-Parallelisierung
    sxmpic++ mpic++ C++-Programme + MPI-Parallelisierung
    sxld ld Linker
    sxar ar Archiv-Funktion

    Auf dem Vorrechner nesh-fe stehen für die Programmübersetzung zusätzlich noch der gnu-Compiler (gcc, g++ und gfortran) und der Intel Fortran 90- Compiler (ifort) für das Pre- und Postprocessing zur Verfügung.

    Übersetzung für den NEC SX-8 Knoten:

    Bei der Übersetzung mit dem Cross-Compiler wird auf der nesh-fe standardmässig ein ausführbares Programm für die SX-9 Knoten erzeugt. Diese Programme laufen jedoch nicht auf dem SX-8 Knoten. Zur Erzeugung von ausführbaren Programmen für die NEC SX-8 muss bei der Programmübersetzung die zusätzliche Compileroptopn -sx8 mit angegeben werden.

  • OpenMP-Parallelisierung

    Diese Art der Parallelisierung setzt einen gemeinsamen Hauptspeicher voraus und kann daher auf der NEC SX-Knoten  nur innerhalb eines Knotens (d.h. mit maximal 16 CPUs (SX-9) bzw. 8 (SX-8) ) durchgeführt werden.

    Für die Durchführung von OpenMP-Berechnungen muss bei der Übersetzung des Programms die Option -P openmp mit angegeben werden:

    sxf90  -P  openmp -o omp.exe prog.f90
    sxcc -P openmp -o omp.exe prog.c
    sxc++ -P openmp -o omp.exe prog.C
    Zusätzlich muss vor der Programmausführung noch die Umgebungsvariable OMP_NUM_THREADS gesetzt werden. Mit dieser Variablen wird festgelegt, wie viele Prozessoren für die parallele Berechnung verwendet werden sollen. Die Ausführung des parallelen Programms erfolgt mit:
    export OMP_NUM_THREADS=CPU-Anzahl
    ./omp.exe

     

     

  • MPI-Parallelisierung
    Für die Entwicklung und Durchführung von MPI-parallelisierten Programmen steht auf der NEC SX-9 eine speziell für die Vektorrechnerarchitektur entwickelte MPI-Implementierung der Firma NEC (NEC SX/MPI) zur Verfügung. Die Übersetzung von MPI-Programmen sollte immer den Shellskripten mpisxf90, mpsxcc bzw. mpic++ durchgeführt werden. 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. Die Ausführung eines parallelen Programms erfolgt mit dem Kommando mpirun .
    sxmpif90   -o mpi.exe prog.f90
    sxmpicc -o mpi.exe prog.c
    sxmpic++ -o mpi.exe prog.C

    mpirun -np CPU-Anzahl ./mpi.exe
  •  

     

  • Bibliotheken auf der NEC SX-9/SX-8
    • MathKeisan-Bibliothek

      Diese Bibliothek enthält speziell für die NEC Vektorrechner-Architektur optimierte Versionen von BLAS, CBLAS, LAPACK, ScaLapack, SBLAS, FFT, Metis, ParMetis, SOLVER und ARPACK: User's Guide

    • The Unidata UDUNITS Package zur Einheiten-Konvertierung

         Installiert ist udunits Version 1.12.4  und die Beta-Version 2.0 (über udunits2 nur auf nesh-fe !).

    • 'Network Common Data Format' netCDF                                       zur Erzeugung eines maschinenunabhängigen Datenformats

 

           für nesh1-nesh5:

                           

           module add netcdf_4.1.1_sx

           z.B.  sxmpif90 -o xxx.exe xxx.f -L/SX/usr/lib/netcdf_4.1.1 -L/SX/usr

           /lib/hdf5_1.8.8 -lhdf5_hl -lhdf5 -lnetcdf

 

           Die include Dateien stehen unter /SX/usr/include/netcdf_4.1.1. 

 

           für nesh-fe1/nesh-f0:                                                                          

           module add netcdf_4.1.3

           z.B. ifort -o xxx.exe xxx.f -L/usr/local/netcdf_4.1.3/lib -lnetcdfff -lnetcdf

 

            Die include Dateien stehen unter /usr/local/netcdf_4.1.3/include.

 

            Die Bibliothek der Version  4.1.1 steht  derzeit noch auf nesh-fe     unter /usr/local/lib zur Verfügung. Die include Dateien findet man unter /usr/local/include.

 

Anwendersoftware

  • Visualisierungsprogramm ferret (nur nesh-fe)
    • Nach dem Login muß zur Initialisierung des Programms das Kommando . ferret_paths.bash oder module load ferret aufgerufen werden.
  • Gaussian03
  • Gaussian09
  • Matlab
    • Softwarepaket für numerische Berechnungen und für die Visualisierung von Daten im technisch-wissenschaftlichen Bereich
    • Nur auf dem Vorrechner nesh-fe und in der Batchklasse feque verfügbar
  • ImageMagick
    • Softwarepaket zur Betrachtung und Bearbeitung von Grafiken unterschiedlicher Dateiformate (gif, jpeg, tiff, pdf, ps, ...).
    • Die grafische Benutzeroberfläche des Programms wird aufgerufen mit dem Kommando: display

 

 

Arbeiten auf dem Vektorrechner

 

  • Interaktives Arbeiten
    Da das Vektorrechnersystem hauptsächlich zur Durchführung von Batch-Berechnungen eingesetzt werden soll, steht für interaktive Arbeiten nur der Vorrechner nesh-fe zur Verfügung. Nur in Ausnahmefällen (z.B. zum Debuggen von Programmen) kann für kurze Zeit interaktiv auf dem SX-8 Knoten  (nesh0)  gearbeitet werden.  

     

  • Batchbetrieb
    Um eine effektive und für alle Benutzer gerechte Auslastung unseres Vektorrechnersystem  zu erhalten, setzen wir für die Ressourcenverwaltung das Batchsystem NQSII zusammen mit dem Scheduler "Job Manipulator" ein. Die Abgabe und Kontrolle von Batch-Jobs ist nur auf dem Front-End-Rechner nesh-fe möglich. Detaillierte Informationen zum Arbeiten mit dem Batchsystem NQS II auf unserem Vektorrechnersystem finden Sie auf einer zusätzlichen NQS-Seite .

 

Dokumentation

Auf unseren WWW-Seiten haben wir für Sie alle wichtigen Handbücher im HTML-Format bereit gestellt. Der Zugang zu dieses Handbüchern ist jedoch passwortgeschützt. Um einen Zugriff auf die Online-Handbücher zu erhalten, geben Sie als Usernamen bitte nec ein. Das zusätzlich noch erforderliche Passwort erfahren Sie auf dem Vorrechner nesh-fe mit dem Kommando man necdoc .

 

 

 

Ansprechpartner am Rechenzentrum

Falls Sie Fragen zur Nutzung unseres Vektorrechners haben, schicken Sie bitte eine Email an support@rz.uni-kiel.de oder wenden Sie sich direkt an folgende Mitarbeiter des Rechenzentrums:  
Artikelaktionen