Zusammenfassung und Einrichtung

Dieser Workshop ist eine Einführung in die effektive Nutzung von Hochleistungsrechnersystemen. Wir können nicht jeden Fall abdecken oder einen erschöpfenden Kurs über parallele Programmierung in nur zwei Tagen Unterricht geben. Stattdessen soll dieser Workshop den Studierenden eine gute Einführung und einen Überblick über die verfügbaren Werkzeuge und deren effektive Nutzung geben.

Voraussetzungen

Kommandozeilenkenntnisse sind für diese Lektion erforderlich. Wir empfehlen den Teilnehmern, shell-novice durchzuarbeiten, wenn sie neu in der Kommandozeile (auch bekannt als Terminal oder Shell) sind.

Am Ende dieses Workshops werden die Teilnehmer wissen, wie man:

  • Identifizieren Sie Probleme, die ein Cluster lösen kann
  • Verwenden Sie die UNIX-Shell (auch bekannt als Terminal oder Kommandozeile), um eine Verbindung zu einem Cluster herzustellen.
  • Übertragen von Dateien auf einen Cluster.
  • Einreichen und Verwalten von Aufträgen in einem Cluster mit Hilfe eines Schedulers.
  • Beobachten Sie die Vorteile und Grenzen der parallelen Ausführung.

Erste Schritte

Um zu beginnen, folgen Sie bitte den “Setup Instructions, um sicherzustellen, dass Sie ein Terminal und eine SSH-Anwendung haben.

Beachten Sie, dass dies der Entwurf der HPC Carpentry Version ist. Kommentare und Rückmeldungen sind willkommen.

Für Ausbilder

Wenn Sie diese Lektion in einem Workshop unterrichten, lesen Sie bitte die Instructor notes.

Es gibt einige Software, die Sie vor dem Workshop installieren müssen. Obwohl Sie während des Workshops Hilfe bei der Installation erhalten, empfehlen wir Ihnen, diese Programme bereits vorher zu installieren (oder zumindest herunterzuladen).

  1. Eine Terminalanwendung oder Befehlszeilenschnittstelle
  2. Eine Secure Shell-Anwendung

Bash und SSH

Diese Lektion erfordert eine Terminalanwendung (bash, zsh, oder andere) mit der Fähigkeit, eine sichere Verbindung zu einem entfernten Rechner (ssh) herzustellen.

Wo man Befehle eingibt: Wie man eine neue Shell öffnet


Die Shell ist ein Programm, das es uns ermöglicht, Befehle an den Computer zu senden und Ausgaben zu erhalten. Sie wird auch als Terminal oder Kommandozeile bezeichnet.

Einige Computer enthalten ein Standard-Unix-Shell-Programm. Die folgenden Schritte beschreiben einige Methoden zur Identifizierung und zum Öffnen eines Unix-Shell-Programms, wenn Sie bereits eines installiert haben. Es gibt auch Möglichkeiten, ein Unix-Shell-Programm, einen Linux/UNIX-Emulator oder ein Programm für den Zugriff auf eine Unix-Shell auf einem Server zu identifizieren und herunterzuladen.

Unix-Shells unter Windows

Auf Computern mit Windows-Betriebssystemen ist nicht automatisch ein Unix-Shell-Programm installiert. In dieser Lektion empfehlen wir Ihnen die Verwendung eines Emulators, der in Git für Windows enthalten ist und Ihnen Zugang sowohl zu Bash-Shell-Befehlen als auch zu Git bietet. Wenn Sie an einem Software Carpentry-Workshop teilgenommen haben, haben Sie wahrscheinlich bereits Anweisungen zur Installation von Git für Windows erhalten.

Nach der Installation können Sie ein Terminal öffnen, indem Sie das Programm Git Bash aus dem Windows-Startmenü starten.

Shell-Programme für Windows

Alternativen zu Git für Windows

Für die Ausführung von Bash-Befehlen unter Windows gibt es andere Lösungen. Es gibt jetzt ein Bash-Shell-Befehlszeilentool für Windows 10. Außerdem können Sie Bash-Befehle auf einem Remote-Computer oder -Server, der bereits über eine Unix-Shell verfügt, von Ihrem Windows-Rechner aus ausführen. Dies kann normalerweise über einen Secure Shell (SSH)-Client erfolgen. Ein solcher Client, der für Windows-Computer kostenlos erhältlich ist, ist PuTTY. Informationen zur Installation und Verwendung von PuTTY, zur Verwendung des Windows 10-Befehlszeilentools oder zur Installation und Verwendung eines Unix/Linux-Emulators finden Sie in der folgenden Referenz.

Für fortgeschrittene Benutzer können Sie eine der folgenden Alternativen wählen:

Warnung

Die Befehle im Windows Subsystem für Linux (WSL), in der PowerShell oder in Cygwin können sich geringfügig von denen unterscheiden, die in der Lektion gezeigt oder im Workshop vorgestellt werden. Bitte fragen Sie nach, wenn Sie eine solche Abweichung feststellen - Sie sind wahrscheinlich nicht allein.

Unix-Shell auf macOS

Unter macOS ist die Standard-Unix-Shell durch Ausführen des Terminal-Programms aus dem Ordner /Application/Utilities im Finder zugänglich.

Um Terminal zu öffnen, versuchen Sie eine oder beide der folgenden Möglichkeiten:

  • Wählen Sie im Finder das Menü “Go” und dann “Utilities”. Suchen Sie Terminal im Ordner “Utilities” und öffnen Sie es.
  • Verwenden Sie die Mac ‘Spotlight’ Computer-Suchfunktion. Suchen Sie nach: Terminal und drücken Sie Return.

Für eine Einführung, siehe How to Use Terminal on a Mac.

Unix-Shell unter Linux

Bei den meisten Linux-Versionen ist die Standard-Unix-Shell über das (Gnome) Terminal oder (KDE) Konsole oder xterm zugänglich, die über das Anwendungsmenü oder die Suchleiste gefunden werden können.

Sonderfälle

Wenn keine der oben genannten Optionen auf Ihre Situation zutrifft, versuchen Sie eine Online-Suche nach: Unix shell [your operating system].

SSH für sichere Verbindungen


Alle Schüler sollten einen SSH-Client installiert haben. SSH ist ein Werkzeug, mit dem wir uns mit einem entfernten Computer verbinden und ihn wie unseren eigenen benutzen können.

SSH für Windows

Git für Windows wird mit vorinstalliertem SSH geliefert: Sie müssen nichts weiter tun.

GUI-Unterstützung für Windows

Wenn Sie wissen, dass die Software, die Sie auf dem Cluster ausführen werden, eine grafische Benutzeroberfläche benötigt (ein GUI-Fenster muss geöffnet sein, damit die Anwendung richtig läuft), installieren Sie bitte MobaXterm Home Edition.

SSH für macOS

macOS kommt mit vorinstalliertem SSH: Sie müssen nichts tun.

GUI-Unterstützung für macOS

Wenn Sie wissen, dass die Software, die Sie ausführen werden, eine grafische Benutzeroberfläche benötigt, installieren Sie bitte XQuartz.

SSH für Linux

Linux kommt mit vorinstallierter SSH- und X-Window-Unterstützung: Sie müssen nichts tun.