Plateforme Jupyter Notebooks

JupyterLab est un environnement web de développement interactif. Vous pouvez développer du code, rédiger de la documentation, exécuter votre code, visualiser les résultats, y compris par le biais de graphiques, dans un même document. C’est donc un outil pratique pour explorer les données et partager votre travail avec vos collaborateurs. Pour plus d’informations, veuillez vous référer au site web du projet Jupyter.

La plateforme Jupyter Notebooks du CC-IN2P3 est destinée à tout utilisateur disposant d’un compte calcul au CC-IN2P3. Pour une compréhension générale de l’outil, veuillez vous référer à la documentation officielle de JupyterLab. Si vous rencontrez un problème, veuillez soumettre un ticket au support utilisateurs.

https://notebook-beta.cc.in2p3.fr

L’accès est accordé via la fédération d’identité eduGAIN ou en saisissant l’identifiant et le mot de passe de votre compte calcul.

Important

JupyterLab ne s’exécute pas sur un serveur dédié : chaque session est lancée sous forme de job interactif sur la plateforme de calcul Slurm. Vous devez donc définir les ressources à allouer avant de la démarrer :

  • votre groupe de calcul ;

  • la partition souhaitée (indispensable pour sélectionner des GPUs) ;

  • nombre de cœurs CPU (1 cœur par défaut) ou le nombre de GPUs (si partition GPU) ;

  • quantité de mémoire (3GB par défaut) ;

  • temps d’exécution maximal, ou walltime (6 heures par défaut, 7 jours au maximum).

Les ressources requises pour l’exécution du job seront comptabilisées au groupe sélectionné sur les ressources allouées lors de la demande annuelle de ressources.

Exemples de Notebooks

Une collection d’exemples prêts à l’emploi catégorisés par thématique d’utilisation

https://gitlab.in2p3.fr/ccin2p3-support/utilities-examples/examples/notebooks

Exécution

La connexion via eduGAIN à la plateforme Jupyter requiert non seulement d’être reconnue par la fédération, mais aussi de posséder un compte calcul actif et de pouvoir faire le lien entre les deux : l’adresse e-mail rattachée à votre identité eduGAIN doit être la même que celle de votre compte au CC-IN2P3. Veuillez vérifier ces informations comme expliqué dans la page Gestion du compte.

Les STDOUT et STDERR de votre serveur de notebook sont disponibles dans le fichier de log du job correspondant. Ces fichiers sont stockés dans votre HOME, sous ~/.jupyterhub/notebook_server_<numéro_job>.log avec numéro_job le numéro de job attribué par l’ordonnanceur.

Attention

Une session JupyterLab peut s’arrêter automatiquement si les limites définies sont atteintes, en particulier le walltime. Si votre session s’interrompt, pensez à vérifier les logs du job corréspondant et à ajuster les ressources demandées si nécessaire.

Si vous êtes membres de plusieurs groupes, c’est le groupe qui aura été sélectionné dans le formulaire qui sera retenu dans le notebook, ce qui aura pour conséquence que tous les fichiers créés seront associés à ce groupe.

Accès aux ressources de stockage

Une fois connecté, le serveur de notebooks fournira l’accès aux zones de stockage suivantes :

Note

Le répertoire d’accueil du notebook est placé dans le HOME de l’utilisateur. Pour naviguer dans l’interface vers les autres répertoires listés ci-dessus, créez dans votre HOME les liens symboliques appropriés. Exemple :

% ln -s /pbs/throng/<groupe> $HOME/throng_<groupe>

Un environnement est fourni par défaut. Si celui-ci ne répond pas à vos besoins, vous pouvez ajouter le vôtre en suivant la procédure d’ajout de noyaux personnalisés.

Conseils pratiques

Démarrage

S’il vous est impossible d’ouvrir un serveur de notebook, veuillez suivre l’une des démarches suivantes classées par priorité :

  • vérifiez que votre HOME ne soit pas plein avec la commande fs4 listquota (une fois placé dans votre HOME) ;

  • videz le cache de votre navigateur ;

  • supprimez le répertoire $HOME/.local/share/jupyter/runtime ;

  • supprimez le répertoire $HOME/.jupyter/lab/workspaces ;

  • supprimez le répertoire $HOME/.local/etc/jupyter (ou renommez-le $HOME/.local/etc/jupyter.bak) ;

  • supprimez le répertoire $HOME/.jupyter (ou renommez-le $HOME/.jupyter.bak). Si pas sauvegardé, le fichier $HOME/.jupyter/jupyter_notebook_config.py pourra être re-généré par la commande jupyter notebook --generate-config depuis un serveur de Notebooks uniquement.

Attention

Les deux dernières suggestions effaceront aussi des paramètres de configuration personnelles (en particulier si le fichier jupyter_notebook_config.py est effacé). Elles doivent donc être utilisées qu’en dernier recours.

Logout

Pour arrêter votre serveur de notebook, utilisez File > Log Out (fermer l’onglet ne suffira pas à arrêter votre serveur de notebooks).

  • Dans tous les cas :

    • le serveur de notebook sera détruit dès la limite en temps du paramètre temps (walltime) donné au formulaire de connexion sera atteinte ;

    • le temps d’exécution maximal d’un serveur de notebook est de 7 jours.

Extensions JupyterLab disponibles

Pour obtenir la liste des extensions disponibles, utilisez la commandes suivante dans un terminal de votre notebook :

Liste des extensions qui étendent ou modifient le backend du serveur Jupyter
% jupyter server extension list

Note

Si la commande jupyter n’est pas disponible par défaut, elle peut être installée via pip.

Il existe également un volet dans l’interface JupyterLab pour visualiser les extensions installées : il suffit de cliquer sur l’icône en forme de puzzle dans la barre verticale à gauche de la fenêtre.