La nouvelle plateforme est en ligne en version beta.
tl;dr :
Veuillez tester vos « notebooks »! déploiement rentrée 2019
Feuille de route
La plateforme est actuellement ouverte aux utilisateurs à des fin de tests. En
particulier afin que les enseignants valident leurs « notebooks » sur le
nouvel environnement.
Nous avons une fenêtre de quelques mois pour valider et ajuster la plateforme en
fonction de vos retours et besoins.
- mai → septembre 2019 : test de la plateforme
- octobre 2019 :
- Redirection sur la nouvelle plateforme par défaut
- Exploitation de l’ancienne version sans garantie de disponibilité
- courant 2020 : arrêt définitif de l’ancienne plateforme
Veuillez tester la plateforme et au besoin faire un retour d’expérience sur le service; en particulier sur les limitations des ressources mise en place (cf. ci dessous).
Les nouveautés
- Abandon de python2 (EOL 1er janv. 2020 cf. pep373)
- Abandon du noyau R
- python 3.7 + pile SciPy
- sage 8.7 (python 3.6)
- jupyterhub 1.0.0 / notebook 5.7.8
- Gestion des ressources mémoire par utilisateur
Nota Bene: Vos « notebooks » doivent être compatible avec python3.
Pour le détail des versions des modules de la pile SciPy, reportez vous à la page de login.
Persistance des espaces utilisateur
Comme sur la version précédente, les espaces utilisateur ne sont pas sauvegardés.
La disponibilité des fichiers qui sont déposés dans cette espace est au mieux garantie sur le semestre.
À votre charge d’assurer la pérennité de vos données au delà !
Limitation de ressources
La plateforme limite les ressources disponibles pour chaque utilisateur au moyen
des cgroups.
En particulier, la mémoire pour chaque utilisateur est limitée.
En cas de dépassement l’exécution du processus est fortement ralentie et le noyau sera éventuellement
tué (cf. linux OOM killer).
Exemple
Dans ce cas le notebook jupyter vous indique que le noyau s’est arrêté :
Il est aussi possible que l’interpréteur remonte l’exception MemoryError.
Noyau python
Le noyau python3 est installé avec le module psutil qui vous permet d’estimer l’utilisation de la mémoire de votre processus courant. Voici un exemple d’utilisation :
import psutil
print('{:.0f} Mo used'.format(psutil.Process().memory_full_info().uss/1024/1024))
print('{:.0f} Mo swapped'.format(psutil.Process().memory_full_info().swap/1024/1024))
Noyau sage
Sur le noyau Sage (psutil non disponible), vous pouvez lire /proc/self/status
pour évaluer l’empreinte mémoire du processus courant :
with open('/proc/self/status') as fd:
for line in fd:
if line.startswith('VmRSS'):
print(line.split(':')[1].strip())
Nouveau site
Ce nouveau site permet la publication de billets datés, ie. blog.
Les annonces concernant la plateforme seront désormais publiées ici,
veuillez syndiquer le flux pour vous tenir informé.
En cas de problème le statut de la plateforme sera communiqué sur un autre canal afin de parer à l’indisponibilité de l’infrastructure.