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 les graphiques, dans un même document. C’est donc un outil pratique pour explorer les données et partager votre travail (document, code, résultat) avec d’autres. 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.
Accès
Vous pouvez accéder à ce service depuis l’URL : notebook.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
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 valide (qui n’a pas expiré) et de pouvoir faire le lien entre les deux : l’adresse e-mail rattachée à votre identité eduGAIN doit être la même que celui de votre compte au CC-IN2P3. Veuillez vérifier ces informations comme expliqué dans le paragraphe Gestion du compte.
En cas de problème, privilégiez la connexion en saisissant les identifiants de votre compte calcul (contactez le support utilisateurs pour une assistance complémentaire).
Attention
Si vous êtes membres de plusieurs groupes, c’est le groupe principal qui sera retenu comme gid
dans le notebook, ce qui aura pour conséquence que tous les fichiers créés seront associés à ce groupe. Vérifiez votre groupe principal lors de la connexion à la plateforme et, le cas échéant, changez votre groupe principal. Si vous êtes connecté lors de l’utilisation de cette commande, vous devrez faire une déconnexion / reconnexion à la plateforme pour prendre en compte ce changement.
Après authentification, votre serveur de notebook JupyterLab sera lancé et persistera jusqu’à votre déconnexion (la fermeture de la page Web n’arrête pas le notebook).
Accès aux ressources
Une fois connecté, le serveur de notebooks fournira l’accès aux zones de stockage suivantes :
répertoire HOME :
/pbs/home/<u>/<username>
répertoire THRONG :
/pbs/throng
répertoire SOFTWARE :
/pbs/software
répertoire SPS :
/sps/<groupe>
selon vos groupes primaire et secondaires
Note
Les répertoires SPS doivent être ajoutés pour être disponibles via le serveur de notebook. Demandez au support utilisateurs si vous ne trouvez pas ceux attendus.
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/ccin2p3 $HOME/throng_ccin2p3
Les notebooks sont fournis avec l’interpréteur Python inclus dans une distribution récente d”Anaconda. Si l’environnement Python fourni par défaut ne répond pas à vos besoins, vous pouvez ajouter le vôtre avec le mécanisme des noyaux.
Ressources à la demande
Par défaut tout utilisateur de la plateforme aura à sa disposition un notebook calculant sur CPU avec 8G de mémoire vive.
Il est cependant possible de faire une demande d’accroissement des ressources au support utilisateurs pour :
accès aux ressources de calcul GPU de la plateforme ;
augmentation de la memoire vive accessible par le serveur de notebooks.
Selon les besoins des activités, des valeurs de défaut différentes pourront être affectées aux collaborations qui en feront demande.
Gestion des noyaux
CC-IN3P3 fournit également des scripts spécifiques pour vous aider à mettre en place des noyaux personnalisés à partir des environnements Python, ROOT, Julia, Golang, R et C++/ROOT disponibles. La recette pour inclure un tel noyau personnalisé dans votre instance JupyterLab est donnée dans la section ci-dessous.
Fonctionnalité de Dask
La plateforme Jupyter Notebooks permet d’exécuter des tâches Dask sur la platforme de calcul du CC-IN2P3. Cette fonctionnalité est décrite en détail ci-dessous.
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
df -h $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 commandejupyter notebook --generate-config
depuis un serveur de Notebooks uniquement.
Exécution
Les
STDOUT
etSTDERR
de votre serveur de notebook sont envoyés à/var/log/notebookserver/notebookserver.log
accessible depuis un terminal sur votre serveur de notebooks ;Les notebooks ne sont pas limités en nombre de CPU ou temps d’utilisation ; ils sont limités en RAM par groupe ou par login. Par défaut, tout groupe bénéficie de 2 Go, veuillez contacter support utilisateurs pour demander plus de mémoire.
Logout
Pour arrêter votre serveur de notebook, utilisez
File > Log Out
:Les serveurs de notebook CPU inactifs sont détruits après 72 heures ;
Les serveurs de notebook GPU inactifs sont détruits après 24 heures.
Extensions JupyterLab disponibles
Pour obtenir la liste complète des extensions disponibles, utilisez la commande suivante sur un terminal de votre notebook :
% jupyter labextension list
Voici les extensions principales :
ipywidgets
permet d’accroître l’interactivité avec le notebook grâce à des gadgets logiciels (widgets), pour plus de détails merci de consulter le dépôt officiel de ipywidgets ;ipympl
offre de l’interactivité avec les graphes créés avec matplotlib, pour plus de détails merci de consulter le dépôt officiel de ipympl ;jupyterlab-git
fournit un contrôle de version en utilisant Git. Veuillez consulter le dépôt officiel JupyterLab-Git ;dask-labextension
permet de gérer les graphiques du Dashboard de Dask directement dans les panneaux de JupyterLab. Veuillez consulter le dépôt officiel de Dask-Labextension.
Si vous avez besoin d’aide pour utiliser la plateforme JupyterLab, ou pour configurer votre noyau personnalisé, veuillez contacter le support utilisateurs.