Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Nächste Überarbeitung
Vorhergehende Ãœberarbeitung
hlr:phoenix [2017/08/21 16:44]
mscheer angelegt
hlr:phoenix [2017/09/17 21:11] (aktuell)
y0050733
Zeile 1: Zeile 1:
-======Nutzeranleitung ​Phoenix======+======Phoenix-Cluster======
  
-=====Login===== 
  
-Um auf dem Phoenix-Cluster zu arbeiten sind einige wenige Grundkenntnisse für die Arbeit mit Linux-System erforderlich. + {{:hlr:phoenix_01.jpg?​direct&​600|}}
-Zur Arbeit auf dem Cluster stellen Sie eine SSH-Verbindung zu einem Loginknoten unter ''​username@phoenix.hlr.rz.tu-bs.de''​ her. Dabei ist ''​username''​ Ihr Benutzername,​ den Sie für alle Dienste des Gauß-IT-Zentrum nutzen, das Passwort ist das dazu gehörige Passwort.  +
- +
-  ssh username@phoenix.hlr.rz.tu-bs.de +
- +
-Für die Verwendung graphischer Anwendungen ist eine X-Weiterleitung mittels dem Parameter "​-Y"​ (nicht "​-X"​) nötig. +
- +
-  ssh -Y username@phoenix.hlr.rz.tu-bs.de +
- +
- +
- +
-=====Jobs starten===== +
- +
-Wenn Sie mit einem Loginknoten verbunden sind, gibt es zwei Möglichkeiten Jobs zu startenDirekt per Jobfile (dies ist die übliche Vorgehensweise),​ oder per Allokierung ("​Reservierung"​) von Resourcen mithilfe eines Jobfiles, um interativ auf einzelnen Knoten zu arbeiten. +
- +
- +
- +
-====Jobfile==== +
- +
-Ein Jobfile bzw. Jobscript sieht beispielsweise wie folgt aus:  +
- +
-<​code>​ +
-#​!/​bin/​bash +
-# Job name: #SBATCH --job-name=Jobname  +
-# Wall clock limit: #SBATCH --time=1:​00:​00 +
-# Number of tasks (cores): #SBATCH --ntasks=4 +
-#SBATCH --exclusive +
-module add mpi/​intelmpi/​5.1.2.150  +
-module add intel-studio-2016 +
-mkdir ~/​systemtests/​hpl/​$HOSTNAME  +
-cd ~/​systemtests/​hpl/​$HOSTNAME +
-cp ${MKLROOT}/​benchmarks/​mp_linpack/​bin_intel/​intel64/​runme_intel64_prv . cp ${MKLROOT}/​benchmarks/​mp_linpack/​bin_intel/​intel64/​xhpl_intel64 . +
-HPLLOG=~/​systemtests/​hpl/​$HOSTNAME/​HPL.log.2015.$(date +%y-%m-%d_%H%M) +
- +
-mpirun -genv I_MPI_FABRICS shm -np $MPI_PROC_NUM -ppn $MPI_PER_NODE ./​runme_intel64_prv "​$@"​ | tee -a $HPLLOG +
-</​code>​ +
-<​code>​ +
-#!/bin/bash -l +
- +
-#SBATCH --partition=standard +
-#SBATCH --nodes=2 +
-#SBATCH --time=12:​00:​00 +
-#SBATCH --job-name=nearest +
-#SBATCH --ntasks-per-node=20 +
- +
- +
-working_dir=~ +
-cd $working_dir +
-module load comp/​gcc/​6.3.0 +
-module load mpi/​openmpi/​2.1.0/​gcc +
-mpiexec -np 40 ./​test/​mpinearest +
-</​code>​ +
- +
-''​partition''​ gibt die Partition (auch Queue genannt) an, auf der Sie rechnen wollen. +
-''​time''​ gibt die maximale Laufzeit Ihres Jobs an, bevor dieser dann abgebrochen wird. +
-''​job-name''​ gibt einen Namen an, unter dem Sie Ihren Job später in SLURM wieder finden können. +
- +
-Ein Jobfile muss dann mittels ''​sbatch''​ gestartet werden.  +
- +
-  username@login01 [~] sbatch jobname.job +
- +
-Eine Startzeit kann mit dem Schalter ''​–begin''​ vorgegeben werden. Beispielsweise:​ +
- +
-<​code>​ +
---begin=16:​00 +
---begin=now+1hour +
---begin=now+60 (seconds by default)  +
---begin=2010-01-20T12:​34:​00 +
-</​code>​ +
- +
-Weitere Informationen bietet auch ''​man sbatch''​. Sämtliche dort verwendeten Parameter können auch im Jobscript selber mit ''#​SBATCH''​ angeben werden.  +
- +
- +
- +
-====Interaktive Anwendungen==== +
- +
-Wenn Sie sich Knoten reservieren wollen um interaktiv auf diesen zu arbeiten, ist dies mit einem simplen Jobfile möglich: +
-<​code>​ +
-#!/bin/bash -l +
- +
-#SBATCH --partition=standard +
-#SBATCH --nodes=1 +
-#SBATCH --time=7-00:​00:​00 +
-#SBATCH --job-name=SleepExample +
-#SBATCH --ntasks-per-node=1 +
- +
-cd ~/​data_dir +
-sleep 168h +
-</​code>​ +
-Bei der Ausführung per ''​sbatch''​ wird dann ein Knoten für die angegebene Zeit benutzt. Da ein Job läuft, kann auf diesen vom Besitzer per SSH zugegriffen werden. Um den richtigen Knoten zu finden, verwenden Sie ''​squeue''​ und suchen nach dem angegebenen Jobnamen. Danach aktivieren Sie den Sitzungsmanager mit ''​screen''​. +
- +
-<​code>​ +
-username@login01 [~] sbatch jobname.job +
-[Knoten finden] +
-username@login01 [~] ssh node265 +
-username@node265 [~] screen +
-username@node265 [~] ... +
-</​code>​ +
-Nachdem Sie nun eine Anwendung gestartet haben, können Sie die Sitzung mit ''​Strg + A + D''​ in den Hintergrund verschieben. Wichtig ist dabei, dass Sie vorher ''​screen''​ eingegeben haben, um den Sitzungsmanager zu starten.  +
- +
-Eine in den Hintergrund verschobene Sitzung wird nicht geschlossen,​ wenn Sie die SSH-Verbindung trennen. Damit laufen Ihre Prozesse in diesen Sitzungen entsprechend weiter, andernfalls würden Sie beendet werden! +
- +
-Um eine einzelne Sitzung wieder aufzunehmen verwenden Sie auf dem entsprechenden Knoten ''​screen -r''​. Sollten mehrere Sitzungen im Hintergrund offen sein, wird eine Liste angezeigt, aus der Sie spezifizieren müssen: +
-<​code>​ +
-username@node265 [~] screen -r +
- +
-    154577.pts-0.node265 ​   (Detached) +
-    154308.pts-0.node265 ​   (Detached) +
-    153240.pts-0.node265 ​   (Detached) +
-Type "​screen [-d] -r [pid.]tty.host"​ to resume one of them. +
-username@node265 [~] screen -r 153240.pts-0.node265 +
-</​code>​ +
-Diese Sitzung lässt sich danach mit Eingabe von ''​screen -d''​ wieder in den Hintergrund verschieben. +
- +
- +
- +
-=====Jobs überwachen===== +
- +
-Sie können sich mit dem Befehlt ''​squeue''​ eine Liste aller Jobs in SLURM anzeigen lassen. Mehr Informationen gibt es mit ''​squeue -l''​. +
-<​code>​ +
-username@login01 [~]squeue +
-             JOBID PARTITION ​    ​NAME ​    USER ST       ​TIME ​ NODES NODELIST(REASON) +
-               ​333 ​ standard MD_BA_GA user0001 ​ R      58:56      1 node265 +
-               ​336 ​ standard ​    bash username ​ R       ​1:​12 ​     2 node267,​node268 +
-               ​334 ​ standard ​    bash user0002 ​ R      50:16      1 node266 +
-               ​331 ​      ​vis ​     vis user0003 ​ R    1:​25:​22 ​     1 vis01 +
-               ​329 ​ standard ​   name1 user0003 ​ PD     ​00:​00 ​     1 (Resources) +
-</​code>​ +
-''​JOBID''​ ist die ID der Jobs, um diese in SLURM ansprechen zu können.  +
-''​NAME''​ ist der von Ihnen gewählte Name zur leichteren Identifikation des Jobs.  +
-''​ST''​ gibt den Status des Jobs an (''​R''​ = Running, ''​PD''​ = Wartend). +
-''​TIME''​ beschreibt die Zeit, die der Job bereits läuft. +
-Sollte der Job nicht laufen (''​PD''​),​ wird unter ''​NODELIST''​ statt der Knoten eine knappe Begründung angegeben, warum der Job (noch) nicht läuft. +
- +
- +
- +
-=====Jobs abbrechen===== +
- +
-Mit der ID des Jobs lässt sich ein Job mit ''​scancel''​ abbrechen:​ +
-<​code>​ +
-username@login01 [~]scancel 336 +
-salloc: Job allocation 336 has been revoked. +
-</​code>​+
  
 +Bei Fragen oder Problemen wenden Sie sich bitte an [[phoenix-support@tu-bs.de|phoenix-support@tu-bs.de]]
hlr/phoenix.1503326698.txt.gz · Zuletzt geändert: 2017/08/21 16:44 von mscheer
Gauß-IT-Zentrum