CUSS Compute-Server

In Fortführung der Zusammenarbeit mit der Universität Stuttgart wurden im März 2007 neue Compute Server der Firmen Sun und IBM, finanziert aus HBFG Mitteln, in Betrieb genommen. Bei der Beschaffung wurde neben einer hohen Rechenleistung insbesonderer Wert auf den verfügbaren Hauptspeicher gelegt.

Der Server besteht aus folgenden vier Sun-Knoten:

  • andromeda.rz.uni-ulm.de
  • perseus.rz.uni-ulm.de
  • pegasus.rz.uni-ulm.de
  • cassiopeia.rz.uni-ulm.de

sowie 36 IBM-Opteron-Knoten:

  • alpha[0...8].rz.uni-ulm.de
  • beta[0...8].rz.uni-ulm.de
  • gamma[0...8].rz.uni-ulm.de
  • delta[0...8].rz.uni-ulm.de

Zum Login sollten Sie neben den oben genannten Sun-Knoten die Linux-Rechner

  • zeus.rz.uni-ulm.de
  • hera.rz.uni-ulm.de

verwenden und nicht die einzelnen Opteron-Knoten.

Ausstattung der Rechner

Sun-Knoten

4 x SunFire 2900
12 x Dual-Core UltraSPARC-IV+, 1.8 GHz, 32 MB L2 Cache
96 GB RAM
Solaris 10

Opteron-Knoten

36 x IBM x3755
4 x Dual-Core Opteron 2.6 GHz, 2 MB L2 Cache
32 bzw. 64 GB RAM
SuSE Linux 10.2 und Solaris 10_x86

Login-Server zeus und hera

2 x SunFire V40z
4 x Dual-Core Opteron 2.2 GHz, 2 MB L2 Cache
16 GB RAM
SuSE Linux 10.2

Die Rechner sind per Gigabit Ethernet an die lokalen Campusnetze in Ulm und Stuttgart angeschlossen.

Hinweise zur Nutzung

Neben SUN-Software wie Compiler und MPI stellen wir auch im großen Umfang GNU- und OpenSource-Tools zur Verfügung, außerdem Bibliotheken und Standardanwendungsprogramme (s. kiz Website unter: Software).

  • Ressourcen
    Für alle Jobs die unabhängig vom Batchsystem gestartet werden, sind die Ressourcen eingeschränkt. Im Augenblick ist die CPU-Zeit auf 20 Minuten und der Hauptspeicher auf 8 GB limitiert. Jobs, die darüber hinausgehende Anforderungen haben, müssen über das Batchsystem Grid Engine gestartet werden.
  • Clustertools
    Die SUN Clustertools (MPI) sind auf allen Knoten installiert. Die Pfadvariable wurde um die Angabe /opt/SUNWhpc/bin ergänzt.
  • Compiler
    Bei den unter Solaris laufenden Rechnern ist jeweils die aktuelle Version der SunStudio Compiler Suite voreingestellt. Bei den SuSE-Rechnern ist es der GNU-Compiler. Alternativ stehen dort auch die Sun-Compiler bzw. die Produkte der Firma Portland Group zur Verfügung.

    Um auf der SPARC Platform gute Performance zu erreichen sollten die folgenden Compiler-Optionen als Einstieg verwendet werden:

    32bit Anwendungen, die nur auf UltraSPARC-IV+ CPUs laufen:
    -fast -xtarget=ultra4plus -xarch=v8plusb

    64bit Anwendungen, die nur auf UltraSPARC-IV+ CPUs laufen:
    -fast -xtarget=ultra4plus -xarch=v9b
  • Scratch-Platten
    Scratch-Platten stehen in unterschiedlichen Größen zur Verfügung. Auf der x86-Platform sind dies bis zu 500 GB lokaler Platz, auf den SPARC-Systemen 200 GB. Diese Bereiche sind jeweils unter /work/<username> zugänglich. Zusätzlich stehen 3 TB NFS-zugängliche Scratchbereiche unter /soft/scratch/<username> zur Verfügung. Dieser sollte aber nur verwendet werden falls die Anwendung keine I/O-Aktivität mit vielen kleinen Zugriffen tätigt. Sequentielles Schreiben oder Lesen stellt hingegen kein Problem dar.

    Bitte beachten Sie, dass keiner der Scratch-Bereiche gesichert wird! Zusätzlich werden Dateien, auf die länger als 10 Tage nicht zugegriffen wurde, gelöscht. Wir übernehmen keine Garantie dafür, dass Daten auf den genannten Filesystemen nach Upgrades oder Änderungen in der Konfiguration noch verfügbar sind. Benutzen Sie diese Scratch-Dateisysteme deshalb nicht zur Speicherung wichtiger Daten!
  • Softwaretools
    Da einige Software-Pakete die Variablen PATH, MANPATH und LD_LIBRARY_PATH modifizieren, haben wir beschlossen, sie nicht in den Standard-Suchpfad aufzunehmen. Um eine Liste der zusätzlich zur Standard-Software verfügbaren Softwaretools zu erhalten, verwenden Sie bitte den Befehl options. Mit option <software-name> wird dann die Software verfügbar gemacht. Bitte beachten Sie die Nutzungshinweise, die nach dem Absetzen des jeweiligen option-Kommandos aufgelistet werden.
  • Login-Shell
    Da wir (neben dem Compute-Server) eine sehr heterogene Rechner-Umgebung haben, unterstützen wir als Login-Shell nur die bash-Shell und stellen nur für diese eine Startumgebung zur Verfügung. Natürlich sind auch csh- und tcsh-Shell verfügbar, werden jedoch nicht von uns unterstützt.
  • GNU-Software
    Aus dem gleichen Grund setzen wir sehr stark auf die GNU-Software. Mit dem which-Befehl kann gegebenenfalls der vollständige Pfad abgefragt werden, um festzustellen, ob die GNU-Version verwendet wird oder nicht. Da GNU nicht mit allen Anwendungen verträglich ist, kann mit dem Befehl option ungnu die GNU-Software aus dem Zugriffspfad entfernt werden. Zusätzliche Informationen und Neuigkeiten werden während des Login zur Verfügung gestellt. Bitte lesen Sie unbedingt die hier stehenden Kommentare z.B. über Updates und Prefetching. Um eine komplette Liste dieser Informationen zu erhalten, benützen Sie news -l und lesen Sie einen ausgewählten Beitrag mit news <name>.
  • FTP
    Bitte benutzen Sie kein FTP, um Daten auszutauschen. Dieses Protokoll ist unsicher, da Passwörter unverschlüsselt übertragen werden. Daher werden wir es demnächst abschalten. Benutzen Sie stattdessen ssh (scp) oder sftp.

Das Batch-System

Das Batchsystem Grid Engine gewährleistet eine bessere Auslastung der Knoten und bringt u.a. Vorteile bei der Planung von Stillstandszeiten. Für interaktive Jobs sehen wir zusätzliche Zeitfenster im Batchsystem vor. Falls Sie Probleme haben oder der Ansicht sind, dass Ihre Anwendungen nicht unter dem Batchsystem ablaufen können, nehmen Sie bitte mit Ihrem lokalen Systemadministrator Kontakt auf. Zusammen werden wir dann einen passenden Ausweg finden.

  • Die Grid Engine-Konfiguration unterstützt im Moment folgende Grenz- und Standardwerte:
    CPU Zeit (single Jobs) 336:0:0 (14 Tage)
    CPU Zeit (nur MPI Jobs) 72:0:0 (3 Tage)
    max. Memory pro Prozess 60 GB
    max. Jobs pro Nutzer 30
    max. CPUs pro Job 8
  • Standardmäßig werden folgende Ressourcen angefordert:
    1 CPU * 2 GB Speicher * 72 Stunden CPU Zeit
  • Beispieldatei zum Starten eines Batch-Jobs: batch_demo.sh
  • Starten des Jobs mit: qsub your_script.sh
  • Zusätzliche Information vom Scheduler können über den qstat-Befehl erhalten werden; beachten Sie dazu die Manpages von qstat und folgende Beispiele:
    qstat: zeigt den Status aller Jobs
    qstat -f: wie qstat, aber mit zusätzlicher Information
    qstat -u <username>: zeigt den Status der Jobs eines Nutzers namens <username>
    qstat -j <jobid>: zeigt den ausführlichen Status eines bestimmten Jobs, insbesondere gegebenenfalls auch den Grund, weshalb er nicht gestartet ist.
    qstat -F <resource>: Uberblick zum aktuellen Status hinsichtlich einer oder mehren Resourcen (allocation etc.)
  • Dem Batch-System muss angegeben werden, welche Architektur eine Anwendung benötigt. Standard ist immer die Architektur der Maschine, auf der der Job abgeschickt wurde. Zulässige Bezeichnungen sind "arch=sol-sparc64" und "arch=lx26-amd64". Die auf dem alten Cluster geläufigen Bezeichnungen "solaris64" und "linux86" sind nicht mehr gültig.
  • Mit "qdel JobID" kann ein Job gelöscht werden.

Clustertools (MPI)

Das Abschicken von Batchjobs, die MPI benutzen, erfolgt grundsätzlich genauso wie bei normalen Jobs. Allerdings ist zu berücksichtigen, dass die Verflechtung der SUN HPC Tools (MPI) mit dem Batchsystem Grid Engine nicht so eng ist wie es wünschenswert wäre. Der Prozess wird in zwei Teile gespalten: In einen Wrapper und den Rechen-Job.

Allgemeine Hinweise:

  • Beispieldatei batch_demo.sh
  • Um einen parallelen Job mit 4-8 CPU's anzufordern, fügen Sie folgendes am Dateianfang ein:
    #$ -l cre=true
    #$ -pe mpi 4-8

    Beachten Sie bitte, dass diese Vorgehensweise nur funktioniert bei Programmen, die explizit mit MPI programmiert wurden - also z.B nicht mit Gaussian!
  • Um den Wrapper beim Aufruf des MPI-Rechen-Jobs zu veranlassen, die Anzahl der vom Batchsystem zugewiesenen CPUs weiterzureichen, ist in der obigen Skript-Datei die Beispiel-Applikation (date) zu ersetzen durch
    /opt/SUNWhpc/bin/mprun -x sge ./batch_mpi_demo.sh
    Bei diesem Beispiel wird vorausgesetzt, dass der Rechen-Job im selben Verzeichnis liegt, aus dem er abgeschickt wird. Bitte beachten Sie, dass der lokale Scratch-Plattenbereich verschiedener Knoten von den anderen Knoten nicht erreichbar ist. Um die Arbeit des Schedulers zu erleichtern, geben Sie nach Möglichkeit einen Bereich von CPUs an.
  • Weitere Informationen zur Benutzung von MPI finden Sie beim High Performance Computing Center in Stuttgart.

Nach oben

Helpdesk

Kontaktieren Sie uns bei Fragen und Problemen zu den Services des kiz:
Kontaktzeiten Mo - Fr  8 - 18 Uhr
Telefon +49 (0)731/50-30000
Öffnet ein Fenster zum Versenden einer E-Mailhelpdesk(at)uni-ulm.de
Support-Ticket erstellen
[mehr]

Schnellsuche


Web-Seiten des kiz
Online-Katalog