Calcul scientifique

Le laboratoire met à disposition plusieurs serveurs de calcul.

Nom OS CPU C/T Fréq Min/Max RAM GPU Stockage local
(quota/utilisateur)
SSH Accès État
Philemon Ubuntu 22.04 EPYC 7402P 20C 20T 2,8 GHz / 3,3 GHz 32 Go - 10 Go SSD SATA ssh hercule.linguist.univ-paris-diderot.fr -p 2207 Réseau UPC ou VPN En service
clc2 Ubuntu 22.04 2*Xeon 6140 36C 72T 2,3 GHz / 3,7 GHz 128 Go 4*A5000 (24Go) 150 Go HDD ssh clc-llf-2.linguist.univ-paris-diderot.fr Internet Hors service
clc3 CentOS 7 2*Xeon 6134 16C 32T 3,2 GHz / 3,7 GHz 348 Go 4*2080Ti (11Go) 150 Go HDD ssh clc-llf-3.linguist.univ-paris-diderot.fr Internet En service
clc4 Ubuntu 22.04 2*Xeon 6226R 64C 128T 2,9 GHz / 3,9 GHz 128 Go 4*6000 (48Go) 150 Go HDD ? ? Pas installé
clc5 Ubuntu 22.04 2*Xeon 5220R 48C 96T 2,2 GHz / 4,0 GHz 256 Go 2*A5000 (24Go) 150 Go SDD NVMe ssh clc-llf-5.linguist.univ-paris-diderot.fr Internet En service, mais pas de backup

Vous pouvez consulter l'état des serveurs en temps réel.

Prérequis

Connaissances

Une connaissance de base d'Unix, du Shell et de SSH sont requises. La connexion se fait par clé, il faut donc bien maîtriser les concepts de clé publique/clé privée. Les membres du SIM ne connaissent pas Windows, aucun support ne pourra vous être apporté si vous essayez de vous connecter depuis une machine Windows.

Création de compte

Créez votre compte NextCloud sur https://cloud.llf-paris.fr .

  1. Si vous n'avez pas déjà un compte, téléchargez la fiche de renseignements du SIM, complétez-la, et remettez la au SIM. Précisez que vous souhaitez accéder aux serveurs de calcul, vous serez ainsi membre des groupes myLLF et Serveurs sur NextCloud.
  2. Vous recevez alors un mail d'invitation, avec un lien. Cliquez sur le lien. Vous arrivez sur le NextCloud du LLF, qui vous demande de choisir un mot de passe. Choissiez un bon mot de passe ! Et envisagez d'utiliser un gestionnaire de mot de passe − au SIM, on utilise BitWarden.
  3. Votre compte NextCloud est opérationnel !

Téléversez votre clé SSH .

  1. Chaque heure, le serveur crée un dossier myLLF/keys pour les membres du groupe Serveurs (c'est vous !). Si vous venez d'activer votre compte, patientez donc jusqu'au début de la prochaine heure. Ne créez pas ce dossier vous-même !
  2. Déposez votre clé SSH publique, dans votre dossier myLLF/keys (si vous n'avez pas de clé SSH, voir ci-dessous la section Clés SSH). Vous pouvez ajouter, modifier et supprimer vos clés publiques ici, ce sera répercuté automatiquement sur les serveurs.
  3. Les clés sont transférées sur les serveurs une fois par heure. À nouveau, attendez donc jusqu'au début de la prochaine heure pour essayer de vous connecter.
  4. Vous avez accès à tous les serveurs du labo ! Votre login est le même que sur NextCloud. Pour vous connecter, utilisez la commande de la colonne SSH du tableau ci-dessus, par exemple, pour clc3: ssh votrelogin@clc-llf-3.linguist.univ-paris-diderot.fr .

Problèmes fréquents

  • Si la commande SSH vous demande un password et non une passphrase, alors elle ne trouve pas votre clé. C'est le problème le plus fréquent, et il se situe de votre côté, pas sur le serveur. Vérifiez que vous utilisez bien cotre login du serveur, et utilisez soit l'option -i /chemin/ver/clé/privée pour lui indiquer où se trouve votre clé privée, soit déplacez votre clé dans votre dossier ~/.ssh.
    • Mal: Mal
    • Bien: Bien
  • Sur chaque serveur, si vous échouez au moins 5 fois à vous connecter dans une fenêtre de 10 minutes, vous êtes banni pendant 10 minutes. Donc si vous ne parvenez pas à vous connecter au bout de 5 fois, attendez 10 minutes, ou changez de serveur. Si vos tentatives de connexion finissent en timeout, soit vous avez été banni (pour 10 minutes), soit vous êtes sur un réseau qui bloque le port que vous utilisez (cf. notamment le point ci-dessous), soit vous n'avez pas Internet.
    • Banni du serveur: Banished
  • Si vous essayez de vous connecter sur un port non standard (par exemple pour Philemon, qui utilise le port 2207, ce qui se voit à l'option -p 2207 dans la commande), il est probablement bloqué par le Wifi de l'Université.

Clés SSH

Une clé SSH est constituée de deux fichiers:

  • Une clé publique, que vous pouvez donner à tout le monde. C'est un fichier avec l'extension .pub .
  • Une clé privée, que vous ne devez donner à personne. C'est un fichier sans extension.

Sous Linux et MacOS, votre clé publique se trouve dans le fichier ~/.ssh/id_rsa.pub , et votre clé privée dans ~/.ssh/id_rsa .

Une clé SSH n'est pas spécifique à une machine, vous pouvez copier votre dossier ~/.ssh sur chaque machine que vous utilisez; votre clé (les deux fichiers) est dedans.

Clés

Pour plus d'informations sur le fonctionnement des clés SSH, voir Wikipédia.

Si vous n'avez pas de clé

Vous pouvez en générer une avec la commande ssh-keygen -t rsa -b 4096 -C "your_email@example.com" . Cette commande vous demandera de choisir une passphrase (= un mot de passe) si vous le souhaitez -> c'est suicidaire de ne pas le faire, donc faites le, et choissiez une bonne passphrase (même recommandations que pour un bon mot de passe). Votre passphrase vous sera demandée à chaque utilisation de la clé.

Fonctionnement du dossier myLLF/keys

Vous pouvez déposer vos clés publiques (extension .pub) dans le dossier myLLF/keys, et elles seront automatiquement (sous une heure) transférées dans votre fichier \~/.ssh/authorized_keys sur les serveurs de calcul du LLF, vous permettant de vous connecter à ces serveurs.

Keys

Prenez bien garde de ne diffuser que votre clé publique, et jamais votre clé privée. Vos clés SSH doivent être protégées par une passphrase, c'est à dire que votre client SSH vous demandera un mot de passe à chaque utilisation de votre passphrase. Pour ajouter/modifier une passphrase à une clé existante, utilisez la commande: ssh-keygen -p .

Vous pouvez mettre plusieurs fichiers dans le dossier myLLF/keys; chaque fichier portant l'extension .pub sera pris en compte.

Dans votre fichier .pub, votre clé publique doit être sur une seule ligne, comme ceci:

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDMvkmicp3ciVeJlkMPH1fpgZrLIQnHHxtu/DrYEbspaiLM9ovEsWDXGNbfbvIBtANXdrO2unNo54I7D4KHC41d0t6CTxS4qALLTdap+R9ncAQxm2elxmOoa/uRH8WKlxROA3ei85kYmsqKcY4thLYoBoPdGb4YN2LOxU3XDeNeWFwx0ZLWaKQOFAMz0iFFAlt7rlQAPSAoxJUkYvvo2uXWTYOA3y6kHhvQjhPLDNRc06duMe7+j+PL4AJznQYnIBvmI8NpyPSdcxoBCgdqyOMm96pHJlC7rKH9acx0cqLIkZDny4X5eaAjkqfBKF/r0+Ty+10yFZgiqn/r9ZRRIYvZ achille@gremlin

VPN

Le VPN de l'UPC est nécessaire pour accéder à certains serveurs (voir la colonne Accès dans le tableau ci-dessus), si vous n'êtes pas en filiare dans les locaux du labo.

L'accès au VPN de l'UPC est à demander à la DSIN de l'Université, cf. section "Wifi-VPN-Internet-Connexion cablage".

En attendant d'avoir votre VPN, si vous avez un ordinateur sous Unix (Linux/MacOS), vous pouvez essayer sshuttle pour mettre en place un accès à tous les serveurs du LLF via les serveurs accessibles depuis Internet. Sinon, connectez-vous en deux étapes: d'abord à une serveur accessible directement depuis Internet, puis au serveur souhaité.

Privilèges

Les comptes utilisateurs sont non-privilégiés (pas de sudo). Vous n'aurez jamais d'accès privilégié, ce n'est pas négociable.

Installation de logiciels

Vous pouvez installer certains logiciels en utilisant le gestionnaire de paquets Brew.

Vous pouvez aussi demander au SIM d'installer un paquet présent dans les dépots officiels de la distribution. Notez qu'il sera mis à jour en même temps que les autres composants du système, sans avertissement.

Conseils

Connexion persistante

Pour ne pas perdre votre session SSH au bout de quelques minutes d'inactivité, vous pouvez utiliser l'option -o "ServerAliveInterval 60" .

Transfert de fichiers

Pour transférer des fichiers sur le serveur, plusieurs solutions s'offrent à vous:

  • Si votre ordinateur est sous Linux, vous pouvez utiliser le serveur comme un disque réseau simplement en tapant l'adresse du serveur dans votre gestionnaire de fichiers habituel; par exemple pour clc3: ssh://votrelogin@clc-llf-3.linguist.univ-paris-diderot.fr .
  • Si votre ordinateur est sous Windows, vous pouvez faire un montage SSHFS.
  • Si votre ordinateur est sous MacOS, vous pouvez aussi faire un montage SSHFS, mais il faut installer CyberDuck.
  • Dans tous les cas, vous pouvez aussi utiliser un logiciel dédié comme FileZilla.
  • Enfin, en ligne de commande, vous pouvez utiliser rsync -avz --progress monDossierLocal/* votrelogin@clc-llf-3.linguist.univ-paris-diderot.fr:monDossierDistant pour transférer tous le contenu du dossier monDossierLocal dans /home/votrelogin/monDossierDistant, qui sera créé si nécessaire. Si /home/votrelogin/monDossierDistant existe et contient déjà des fichiers, en cas de conflit ces fichiers distants seront écrasés, mais le reste de votre dossier /home/votrelogin/monDossierDistant ne sera pas affecté. Pour de gros transferts, c'est souvent la méthode la plus rapide et la plus fiable; elle supporte sans problème les déconnexions (relancez le transfert, il repartira de là où il s'était arrêté).

Attendre qu'un GPU se libère

Il faut parfois attendre qu'un GPU se libère avant de pouvoir l'utiliser. La commande nvidia-smi permet de savoir quels GPUs sont utilisés; c'est en particulier la mémoire occupée (colonne Memory-Usage) qui est importante.

Le script bash suivant attend qu'un GPU se libère, et met l'id du premier GPU libre qu'il trouve dans $gpu_id. À adapter en fonction du nombre de GPUs (ici 4 GPUs: 0, 1, 2, et 3) et de la mémoire dont on a besoin (ici 8Go soit 8000Mo).

while :
do
  for gpu_id in 0 1 2 3  # List of GPUs
  do
    free_mem=$(nvidia-smi --query-gpu=memory.free --format=csv -i $gpu_id | grep -Eo [0-9]+)
    echo GPU $gpu_id has $free_mem MB available.
    [[ $free_mem -gt 8000 ]] && break 2  # Choose this GPU if it has more than 8GB available
    sleep 5
  done
done

echo $gpu_id is available.

Confidentialité, sécurité et limites d'utilisation

Les serveurs sont hébergés dans les locaux de l'Université et administrés par le LLF. Veuillez noter que les membres du service informatique peuvent accéder à vos fichiers.

Des sauvegardes sont effectuées chaque nuit, sur le même site.

L'utilisation de ces serveurs doit être strictement professionnelle.