Compute

Für langlaufende rechenintensive Prozesse sind in der Technischen Fakultät Compute-Maschinen mit wesentlich mehr  Rechenleistung als normale Arbeitsplatzrechner verfügbar.

Die Maschinen sind aus der Technischen Fakultät via ssh unter dem Namen compute erreichbar.

Falls ein rechen- oder zeitintensiver Prozess gestartet werden soll, sollte dies immer mit nice geschehen (z.B. nice primzahlrechner.sh), damit kleinere Prozesse wie z.B. bash nicht stocken.

Die aktuellen SSH-Fingerprints sind

SHA256:

4xiFs9VKvRizCviaZEwreBMHb7sLhTEZwD8znCoha5o (ED25519)
c9DVJv3W/oAg7DTG1Dneg8RQbJ3l1rewVyU5pIJX3GA (RSA)
+--[ED25519 256]--+
|o.. |
| . o . o |
| B . o * o |
|o # * * . |
|.o* X o S . |
|+= B o = . |
|*.O o o . |
|E= = . |
| o o. |
+----[SHA256]-----+
+---[RSA 2048]----+
| .*.+EO+..|
| .oO+=oBo.|
| +o+++.+oo=|
| Bo+.o.o B|
| +So.. + = |
| .o . o .|
| ..|
| .|
| |
+----[SHA256]-----+

MD5:

5f:18:0a:41:e2:c6:b6:a0:31:2d:18:4a:f6:df:b0:17 (ED25519)
d1:f3:4c:36:35:d7:15:f3:b2:13:74:90:eb:57:fc:d2 (RSA)

Mehrere Maschinen - ein Name

Beim Verbinden auf compute wird schnell klar, dass der Rechner, auf dem Du landest, selbst nicht compute heißt. Das liegt daran, dass es mehrere Maschinen gibt, die unter dem Namen compute erreichbar sind, unter denen die Last gleichmäßig verteilt wird. Damit das funktioniert ist es wichtig, dass Du dich immer nur nach compute verbindest und nie auf einen der eigentlichen Rechner. Die einzige Ausnahme ist natürlich, wenn Du auf einer der Maschinen noch ein Programm laufen hast und den Status wissen möchte. Des Weiteren werden wir auch in Zukunft die eigentlichen Maschinen austauschen ohne es groß anzukündigen, sodass ssh compute der einzig sichere Weg ist auch wirklich dort zu landen.

Prozesse im Hintergrund laufen lassen

Du kannst Prozesse einfach starten und dich dann wieder abmelden (z.B. für sehr lange laufende Programme), indem Du mit Tmux arbeitest. (Alternativ mit Screen).
In (nur!) diesem Fall muss Du dir allerdings merken, auf welchem Rechner Du das erste mal landest um später dorthin zurück zu können.

Beispiel

juser@foobar:$ ssh compute
juser@april:$ tmux #starte tmux zum ersten Mal. Eine normale Shell wird sich öffnen.
juser@april:$

Um mit tmux zu kommunizieren gibt es einen Escape-Character, normalerweise Strg+B. Damit lassen sich Befehle an tmux selbst und nicht an das Terminal senden, z.B. Strg+B und dann 'c' um eine weitere Shell zu öffnen, oder Strg+B und dann 's' für eine übersicht der offenen Fenster.

Nun kann das gewünschte Programm gestartet werden.

juser@april: nice mylongrunningscript.sh

Um sich nun abmelden zu können, musst Du Strg+B und dann 'd' drücken. Eine Nachricht wie

[detached (from session 0)]

wird erscheinen. Nun kannst Du dich ganz normal abmelden und später wiederkommen.

Sich wieder anmelden

Um die Shell, in der Du das Programm laufen hast, wieder zu bekommen verbindest Du dich wieder auf den ursprünglichen Rechner und führst den Befehl tmux a aus.

juser@foobar:$ ssh april #nur(!) in diesem Fall direkt auf eine der Compute-Maschinen verbinden
juser@april:$ tmux a
juser@april:$ nice mylongrunningscript.sh #Du bekommst die shell in dem Zustand zurück, wie Du sie verlassen hast
Beispielausgabe des Skriptes.
30e23e024rd32
juser@april:$ #Das Programm scheint beendet zu sein
juser@april:$ echo $? #Nachsehen, ob der Exit-Code 0 ist
0
juser@april:$ 

Alles scheint funktioniert zu haben. Um tmux zu verlassen tippe exit.
[exited]

Remote-Zugriff

Um von Außerhalb auf compute zugreifen zu können, kannst Du auch unsere Remote-Services nutzen.