BwUniCluster2.0/Jupyter: Difference between revisions

From bwHPC Wiki
Jump to navigation Jump to search
(Created page with "Jupyter can be used as an alternative to accessing HPC resources via SSH. For this purpose only a web browser is required. Within the website source code of different programm...")
 
No edit summary
Line 11: Line 11:
A '''Jupyter Kernel''' describes a separate process, in which one Jupyter Notebook is executed at a time. Different kernels are available for different programming languages or language versions.
A '''Jupyter Kernel''' describes a separate process, in which one Jupyter Notebook is executed at a time. Different kernels are available for different programming languages or language versions.


Before a Jupyter session is started, the access authorization must be checked first. This is done via '''JupyterHub'', where the resources are selected, for example the number of CPU cores, GPUs or the required main memory.
Before a Jupyter session is started, the access authorization must be checked first. This is done via '''JupyterHub''', where the resources are selected, for example the number of CPU cores, GPUs or the required main memory.


A detailed documentation of the Jupyter project can be found at [https://jupyter.readthedocs.io https://jupyter.readthedocs.io].
A detailed documentation of the Jupyter project can be found at [https://jupyter.readthedocs.io https://jupyter.readthedocs.io].

Revision as of 18:43, 12 October 2020

Jupyter can be used as an alternative to accessing HPC resources via SSH. For this purpose only a web browser is required. Within the website source code of different programming languages can be edited and executed. Furthermore different user interfaces and terminals are available.

Short description of Jupyter

Jupyter is a web application, central component of Jupyter is the Jupyter Notebook. It is a document, which can contain formatted text, executable code sections and (interactive) visualizations (image, sound, video, 3D views).

The Jupyter notebooks are executed in an interactive session on the compute nodes of the respective cluster. Access is via any web browser. Data is prepared and visualized on the server and therefore does not have to be transmitted over the network. Only the resulting text, image, sound and video data is transmitted. Starting point of a Jupyter session is the HOME directory of the user on the respective cluster.

JupyterLab is a modern user interface, within which one or more Jupyter notebooks can be opened, edited and executed. The individual notebooks can be arranged as tabs or tiled. JupyterLab is the standard user interface. Besides JupyterLab the classic notebook user interface is available, in which only one Jupyter notebook per browser tab can be opened at a time.

A Jupyter Kernel describes a separate process, in which one Jupyter Notebook is executed at a time. Different kernels are available for different programming languages or language versions.

Before a Jupyter session is started, the access authorization must be checked first. This is done via JupyterHub, where the resources are selected, for example the number of CPU cores, GPUs or the required main memory.

A detailed documentation of the Jupyter project can be found at https://jupyter.readthedocs.io.

Zugangsvoraussetzungen

Zur Nutzung von Jupyter auf den HPC Ressourcen des SCC gelten die jeweiligen Zugriffsvoraussetzungen für bwUniCluster 2.0 und ForHLR. Die Registrierung auf https://bwidm.scc.kit.edu/ wird vorausgesetzt.

Der Jupyter Service ist nur innerhalb des KIT Netzes erreichbar. Soll der Dienst von außerhalb verwendet werden, muss zunächst eine VPN Verbindung ins KIT Netz hergestellt werden.

Anmeldevorgang

Die Anmeldung erfolgt unter uc2-jupyter.scc.kit.edu bzw. fh2-jupyter.scc.kit.edu. Für die Anmeldung wird der KIT Benutzername, das KIT Passwort und eine 2-Faktor Authentifizierung benötigt.

Falls Sie noch nicht am KIT eingeloggt sind, werden Sie zunächst automatisch auf die entsprechende Login-Seite weitergeleitet. Wählen Sie Ihre Heimatorganisation (z.B. KIT) aus und drücken sie auf Fortfahren. Im nun eingeblendeten Abschnitt Einloggen tragen Sie Ihren KIT Benutzernamen und das KIT Passwort ein (nicht das Service Passwort). Nach dem Drücken des Einloggen Knopfes werden Sie auf die Abfrageseite für den zweiten Faktor geleitet. Tragen Sie hier das Einmalpasswort ein (beispielsweise von KIT Token oder Google Authenticator App) und drücken Sie auf Prüfen. Nun werden Sie auf die JupyterHub Seite weitergeleitet, nach dem Drücken des "Sign in with your KIT Account" Knopfes sind Sie angemeldet.

Login small.gif

Auswahl der Compute-Ressourcen

Die Jupyter Notebooks werden in einer interaktiven Sitzung auf den Compute-Knoten der HPC Clusters ausgeführt. Genau wie beim Zugriff auf eine interaktive Sitzung mit SSH findet die Ressourcenzuteilung über den Workload Manager Slurm statt. Die Wahl der Ressourcen für Jupyter wird über Dropdown-Menüs realisiert. Es sind nur Jobs mit maximal einem Knoten möglich.

Zur Auswahl stehen

  • Partition/Queue
  • Laufzeit
  • Anzahl an GPUs
  • Anzahl CPU-Kerne
  • Menge an Hauptspeicher

Nachdem die Auswahl getroffen ist, wird der interaktive Job mit dem Spawn Knopf gestartet. Wie beim Anfordern von interaktiven Compute-Ressourcen mit dem `salloc` Befehl kann es zu Wartezeiten kommen. Diese sind in der Regel um so länger, je größer die angeforderten Ressourcen sind.


Ressources small.gif

Sollte versehentlich eine nicht mögliche Ressourcenkombination gewählt werden, wird dies mit einer Fehlermeldung angezeigt.

Wrong ressources small.gif

JupyterLab

JupyterLab ist die Standard-Benutzeroberfläche. Im Folgenden werden nur deren wesentlichen Funktionen kurz vorgestellt. Eine ausführliche Dokumentation steht unter https://jupyterlab.readthedocs.io zur Verfügung.

Menüleiste

Die Menüleiste am oberen Rand von JupyterLab verfügt über übergeordnete Menüs, in denen die in JupyterLab verfügbaren Aktionen mit ihren Tastenkombinationen angezeigt werden. Die Standardmenüs sind:

  • File: Aktionen im Zusammenhang mit Dateien und Verzeichnissen
  • Edit: Aktionen im Zusammenhang mit der Bearbeitung von Dokumenten und anderen Aktivitäten
  • View: Aktionen, die das Erscheinungsbild von JupyterLab verändern
  • Run: Aktionen zum Ausführen von Code in verschiedenen Aktivitäten wie Notebooks und Code-Konsolen
  • Kernel: Aktionen zur Verwaltung von Kerneln, die separate Prozesse zur Ausführung von Code sind
  • Tabs: eine Liste der geöffneten Dokumente und Aktivitäten im Dockpanel
  • Settings: allgemeine Einstellungen und ein Editor für erweiterte Einstellungen
  • Help: eine Liste von Hilfelinks zu JupyterLab und zum Kernel

Menu small.gif

Linke Seitenleiste

In der linken Seitenleiste befinden sich ausklappbare Tabs. Die relevantesten sind:

  • Dateibrowser: Wechsel in Verzeichnisse und Öffnen von Dateien mit linker Maustaste, Kontextmenü mit rechter Maustaste
  • Laufende Kernel: Übersicht über laufende Kernel
  • Befehlsübersicht
  • Tab-Übersicht
  • Lmod-Software Auswahl: Suche und Laden/Entladen von Lmod Software Modulen

Seitenleiste small.gif

Haupt-Arbeitsbereich

Der Hauptarbeitsbereich in JupyterLab ermöglicht es, Dokumente (Notebooks, Textdateien usw.) und andere Aktivitäten (Terminals, Code-Konsolen usw.) in Tabs anzuordnen, in der Größe zu verändern und zu unterteilen. Mit gedrückter linker Maustaste können die Tabs ergriffen und neu positioniert werden.

In einer neuen JupyterLab Sitzung ist zunächst der Launcher-Tab geöffnet. In diesem befinden sich Knöpfe zum Starten neuer Notebooks, Code-Konsolen und anderer Funktionen. Bei geöffneten Notebooks kann ein neuer Launcher-Tab gestartet werden, indem im Dateibrowser Tab der linken Seitenleiste das Plus-Symbol gedrückt wird, durch Aufruf von File > New Launcher in der oberen Menüleiste oder durch die Tastenkombination Ctrl+Shift+L.

Hauptbereich small.gif

Classic Notebook

Die klassische Jupyter Notebook Benutzeroberfläche bietet nur jeweils ein geöffnetes Jupyter Notebook bzw. ein Terminal pro Browser-Tab. Aus der JupyterLab Benutzeroberfläche heraus ist die klassische Anzeige erreichbar in der Menüleiste unter Help > Launch Classic Notebook. Das Anklicken des JupyterHub Logos oben links führt zurück auf JupyterLab Oberfläche.

Abmelden

Von einer laufenden Jupyter Sitzung können Sie sich durch Aufruf von File > Log Out in der oberen Menüleiste abmelden.

Achtung

Bitte beachten Sie, dass Ihre interaktive Sitzung im Hintergrund weiterläuft! Dies belastet beispielsweise auf dem ForHLR Ihr Rechenzeitkontingent.

Solange die interaktive Sitzung läuft, können Sie diese jederzeit wieder betreten. Je nach Dauer der Abwesenheit ist die erneute Eingabe von Einmalpasswort und eventuell KIT Passwort nötig.

Wollen Sie die interaktive Sitzung vor Erreichen ihrer Laufzeit beenden, können Sie dies über das Hub Control Panel tun. Unter File > Hub Control Panel in der oberen Menüleiste wird dieses in einem neuen Browser-Tab geöffnet. Durch Drücken des Stop My Server Knopfes wird die Sitzung beendet. Sie können sich nun über den Logout Knopf oben rechts abmelden oder über den Start My Server Knopf direkt eine neue Sitzung starten, beispielsweise mit veränderter Ressourcen-Auswahl.

Logout small.gif

Auswahl von Software

Für die Auswahl der benötigten Lmod Softwaremodule steht in der linken Seitenleiste der entsprechender Tab Softwares zur Verfügung. Durch Eingabe im Suchfeld kann die Liste der verfügbaren Module eingegrenzt werden. Das gewünschte Modul wird über den Load Knopf geladen. In der Liste mit den geladenen Modulen können diese mit dem Unload Knopf entfernt werden.

Bitte beachten

Bei bereits geöffneten Jupyter Notebooks werden neu geladene Softwaremodule erst nach Neustart des Kernels aktiv (Kernel > Restart Kernel in der oberen Menüleiste). Terminals müssen geschlossen und neu geöffnet werden.

Software small.gif

Installation eigener Software

`pip install`

Verwendung eigener virtueller Umgebungen