JupyterHub

De Wiki de Calcul Québec
Aller à : Navigation, rechercher

Sommaire

Introduction

JupyterHub est un portail permettant de démarrer, gérer et accéder à de multiples instances du serveur Jupyter Notebook. JupyterHub peut être utilisé pour servir des notebooks à des classes d'étudiants ou des groupes de recherche scientifique[1].

Calcul Québec offre une instance de ce portail via l'adresse https://jupyter.calculquebec.ca. Ce portail permet de lancer des serveurs Jupyter Notebook sur les grappes de calcul Colosse et Helios.

Prérequis

Afin de pouvoir accéder au portail JupyterHub de Calcul Québec, vous devez d'abord vérifier et accomplir au besoin les prérequis suivants.

  1. Vous devez détenir un compte à Calcul Québec. Pour obtenir un compte à Calcul Québec, référez à la documentation sur le site web de Calcul Québec, principalement l'étape 3 si vous possédez déjà un compte à Calcul Canada.
  2. Vous devez posséder un compte sur Colosse ou Helios. Pour activer votre compte sur l'un de ses deux serveurs ou valider que vous possédez bien un compte, rendez-vous sur le portail de Calcul Québec.
    1. Une fois connecté au portail, cliquez sur le lien Mon Compte
    2. Au bas de la page, dans la section Toutes les ressources, vérifiez que l'interrupteur adjacent à colosse ou helios indique le statut Actif. Si l'interrupteur indique le statut Inactif, cliquez dessus pour le faire changer d'état.
    3. Si vous avez activé un compte sur Colosse ou Helios, patientez 30 minutes, le temps que votre compte soit créé.
  3. Vous devez vous être connecté par SSH au moins une fois à Colosse ou Helios avant de pouvoir démarrer un serveur Jupyter Notebook.

Démarrer Jupyter Notebook

  1. Allez à la page https://jupyter.calculquebec.ca/
  2. Entrez votre nom d'usager et votre mot de passe Calcul Québec.
  3. Cliquez sur le bouton vert Start My Server
  4. Dans la liste Project, sélectionnez l'identifiant (RAP) du projet que vous souhaitez utiliser pour soumettre votre tâche.
  5. Dans la boîte de texte Runtime, entrez le nombre d'heures pendant lesquelles vous souhaitez travailler (maximum 10h). Au delà du nombre d'heures entré, votre notebook sera automatiquement arrêté.
  6. Optionnel: Pour lancer le Jupyter Notebook sur Helios, cochez la case Require a GPU?
  7. Optionnel: Pour utiliser l'environnement logiciel disponible sur les nouvelles grappes de Calcul Canada tel que Cedar et Graham, cochez la case Enable Compute Canada software stack?
  8. Cliquez sur le bouton Spawn
  9. Patientez le temps que la tâche et le serveur démarre.

Le démarrage sur Colosse devrait se faire en quelques minutes. Des ressources sont spécialement réservées pour JupyterHub sur cette grappe de calcul. Le temps d'attente est donc minime. Il n'y a cependant pas de ressources dédiés à JupyterHub sur Helios, le temps d'attente est donc fonction de la disponibilité d'un GPU.

Notez qu'il n'est pas possible de spécifier le type de GPU qui sera assigné à la tâche sur Helios. Votre tâche se verra donc assigner soit un GPU NVIDIA K20 ou un GPU NVIDIA K80 en fonction de la disponibilité des ressources.

Utiliser Jupyter Notebook

Attention
Si Jupyter Notebook est inactif pendant plus de 15 minutes, il sera arrêté automatiquement. Jupyter est considéré inactif lorsqu'aucune activité n'est détectée au niveau de l'interface graphique. Si vous souhaitez lancer un processus pendant plusieurs heures sans interagir avec l'interface graphique, soumettez une tâche.


Une fois démarré, le tableau de bord Jupyter Notebook s'affichera. Pour en apprendre plus sur l'utilisation de celui-ci, vous pouvez consulter la documentation officielle de Jupyter Notebook. Le tableau de bord fournit par Calcul Québec dispose de quelques richesses fonctionnelles présentées dans les sous-sections suivantes.

Chargement de logiciels

L'onglet Softwares dans le tableau de bord Jupyter Notebook offre une interface graphique à la commande module. À partir de cette interface, vous pouvez chercher des modules, les charger, les décharger et même sauvegarder votre ensemble de module dans une collection nommée.

  • Pour chercher un logiciel, entrez son nom dans la barre de recherche.
  • Pour charger un logiciel, sélectionnez la bonne version dans la liste proposée, puis appuyez sur la touche Entrée lorsque le contenu de la barre de recherche vous convient. Une fois chargée, le logiciel et ses dépendances s'afficheront dans la liste sous la barre de recherche.
  • Pour décharger un logiciel, cliquez sur le bouton jaune Unload à droite du nom du logiciel à décharger.
  • Pour créer une collection de modules, cliquez sur le bouton Save sous la barre de recherche. Indiquez ensuite le nom de la collection que souhaitez créer. Si vous n'entrez pas de nom, vous modifierez votre collection de modules par défaut.
  • Pour charger une collection de modules particulière, cliquez sur le bouton Restore à droite du bouton Save et sélectionnez la collection dans la liste qui s'affichera.
Alt text
Exemple d'utilisation de l'onglet Softwares avec l'environnement de modules standard de Colosse

Installation de packages Python

Le kernel par défaut, Python 3, fournit avec l'instance votre Jupyter Notebook est une installation pratiquement vierge de Python. Cette installation est en réalité un environnement virtuel déployé sur le stockage local du noeud sur lequel s'exécute votre Jupyter Notebook. Cet environnement virtuel est crée à chaque fois que vous démarrez un nouveau Jupyter Notebook. Vous devrez donc réinstaller les packages Python dont vous avez besoin à chaque fois. Pour éviter ce comportement, créez plutôt vos propres kernels en suivant les instructions de la section suivante.

Si vous souhaitez installer des packages dans l'environnement virtuel fourni, assurez-vous d'abord que dans l'onglet Softwares aucun module Python n'est chargé. Les chemins configurés par un module Python ont préséance sur les chemins de l'environnement virtuel ce qui entraînerait des erreurs en cas d'installation de packages. Par la suite, vous pouvez installer des packages de deux façons:

  • Ouvrez un terminal via le bouton New de l'onglet Files et appelez la commande pip. Par exemple
[nom@serveur $] pip install numpy


  • Dans une cellule d'un notebook, entrez la commande ! pip install nom_du_package puis exécutez la cellule.

Notez que les noeuds de calcul de Colosse et Helios n'ont pas accès à Internet. Les packages que vous installerez sont fournis par dépôt local de packages que nous avons créé en fonction des besoins des usagers. Si un package dont vous avez besoin ne s'y trouve pas, vous pouvez nous contacter par courriel à colosse@calculquebec.ca en spécifiant le nom et la version du package dont vous avez besoin.

Installation de nouveaux kernels

L'installation de kernels supplémentaires est documentée sur la page Jupyter du wiki de Calcul Canada.

Utilisation de RStudio Server

RStudio est un environnement de développement multiplateforme pour R, un langage de programmation utilisé pour le traitement de données et l’analyse statistique [2]. Cet environnement de développement peut être démarré à partir du tableau de bord de Jupyter Notebook. Pour ce faire:

  1. Rendez vous dans l'onglet Softwares du tableau de bord principal.
  2. En fonction de votre environnement logiciel, chargez les logiciels suivants :
    1. SI vous utilisez l'environnement logiciel standard de Colosse ou Helios, chargez le module: apps/r/3.2.4
    2. Si vous utilisez l'environnement logiciel de Calcul Canada, chargez le module: rstudio-server/1.1.206
  3. Retournez dans l'onglet Files
  4. Cliquez sur le bouton New et sélectionnez le menu RStudio Session.
  5. Patientez. Après quelques secondes, un nouvel onglet apparaîtra avec l'icône de RStudio.
  6. Utilisez cet onglet pour accéder à l'environnement de développement.

Arrêter Jupyter Notebook

  1. Cliquez sur le bouton Control Panel qui se trouve en haut à droite de la page.
  2. Cliquez sur le bouton rouge Stop My Server.
  3. Patientez le temps que la commande soit envoyée à l'ordonnanceur. La page devrait se rafraîchir d'elle-même lorsque la tâche sera arrêtée.

References

  1. https://jupyterhub.readthedocs.io/en/latest/, JupyterHub documentation
  2. https://fr.wikipedia.org/wiki/RStudio, RStudio - Wikpedia
Outils personnels
Espaces de noms

Variantes
Actions
Navigation
Ressources de Calcul Québec
Outils
Partager