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 | 128 Go | - | 10 Go SSD SATA | ssh hercule.linguist.univ-paris-diderot.fr -p 2207 | Réseau UPC ou VPN | En service |
| clc2 | Ubuntu 24.04 | 2*Xeon 6140 | 36C 72T | 2,3 GHz / 3,7 GHz | 512 Go | 4*A6000 (48Go) | 150 Go SSD SATA | ssh clc-llf-2.linguist.univ-paris-diderot.fr | Internet | En service, mais pas de backup |
| clc3 | CentOS 7 | 2*Xeon 6134 | 16C 32T | 3,2 GHz / 3,7 GHz | 348 Go | 4*2080Ti (11Go) | 150 Go HDD SAS | ssh clc-llf-3.linguist.univ-paris-diderot.fr | Internet | En fin de vie |
| clc4 | Ubuntu 24.04 | 2*Xeon 6226R | 64C 128T | 2,9 GHz / 3,9 GHz | 128 Go | 4*A5000 (24Go) | 150 Go SSD SATA | ? | ? | 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.
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.

ssh votrelogin@clc-llf-3.linguist.univ-paris-diderot.fr .
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.
-i /chemin/vers/clé/privée pour lui indiquer où se trouve votre clé privéeExemple quand SSH ne trouve pas la clé:
Mal 
Exemple quand SSH trouve la clé, qui est protégée par une passphrase:
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.
Exemple quand on est banni d'un serveur:

Si vous utilisez le Wifi de l'Université, ou le réseau filaire des salles de cours, ou un autre réseau public, certains ports sont bloqués, en particulier les ports non-standard (par exemple le port 2207 utilisé par Philemon). Cela entraîne aussi un Timeout ou Connection refused. Dans ce cas, il n'y a pas d'autre solution que d'utiliser un réseau qui ne bloque pas ces ports (comme le réseau filaire de l'Université − hors salles de cours).
Une clé SSH est constituée de deux fichiers:
Sur Linux et MacOS, votre clé publique se trouve dans le fichier ~/.ssh/id_rsa.pub , et votre clé privée dans ~/.ssh/id_rsa . Si vous avez déjà une clé, utilisez là ! Pas besoin d'en créer une nouvelle.
Une clé SSH n'est pas spécifique à une machine. C'est juste une paire de fichiers texte, que vous pouvez copier sur d'autres machines.

Pour plus d'informations sur le fonctionnement des clés SSH, voir Wikipédia.
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 -> et si vous n'êtes pas suicidaire, vous le voulez. Votre passphrase vous sera demandée à chaque utilisation de la clé.
La commande va créer deux fichiers. Un avec l'extension .pub (votre clé publique), et un sans extension (votre clé privée).
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.

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
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é.
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.
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.
Pour ne pas perdre votre session SSH au bout de quelques minutes d'inactivité, vous pouvez utiliser l'option -o "ServerAliveInterval 60".
Vous pouvez « détacher » vos sessions SSH. Cela signifie qu'elles ne sont plus dépendantes de votre terminal: si vous fermez ce dernier, ou bien que vous éteignez votre ordinateur, la session continuera à vivre sur le serveur. C'est très pratique pour faire tourner un programme pendant plusieurs jours sur le serveur, sans laisser votre propre ordinateur allumé pendant tout ce temps.
Sur le serveur, faites screen -S nomDeLaSession pour lancer une session détachée, lancez votre programme qui prend longtemps, et vous pouvez éteindre votre ordinateur. Pour récupérer votre session, reconnectez vous au serveur, et faites screen -r nomDeLaSession pour retrouver votre session. Si vous voulez fermer une de vos sessions, faites simplement exit depuis la session que vous voulez fermer.
Pour transférer des fichiers sur le serveur, plusieurs solutions s'offrent à vous:
ssh://votrelogin@clc-llf-3.linguist.univ-paris-diderot.fr .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é).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.
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.