Connexion aux serveurs interactifs

Le CC-IN2P3 met à disposition des utilisateurs ayant un compte calcul deux clusters de serveurs interactifs permettant la préparation des tâches à destination de la plateforme de calcul : développement, test, etc. Un cluster généraliste cca et un cluster offrant une plus grande quantité de mémoire ccahm.

Les clusters interactifs sont accessibles avec la syntaxe suivante :

% ssh -Y username@cca.in2p3.fr

ou

% ssh -Y username@ccahm.in2p3.fr
  • cca.in2p3.fr et ccahm.in2p3.fr sont des alias qui redirigent l’utilisateur vers le serveur le moins chargé de chaque cluster.

  • Pour les utilisateurs Microsoft Windows nous conseillons le client SSH PuTTY.

Pour plus d’informations concernant les connexions aux serveurs interactifs du CC-IN2P3, veuillez vous référer aux pages suivantes :

Bonnes pratiques d’utilisation

Chaque serveur interactif est partagé par plusieurs utilisateurs, nous préconisons un certain nombre de bonnes pratiques pour garantir une utilisation optimale à l’ensemble des utilisateurs.

Attention

Le non respect des règles suivantes peut entraîner l’arrêt autoritaire des processus concernés.

  • Un seul processus de calcul est permis par serveur interactif et 3 processus au maximum sur l’ensemble de la plateforme interactive. Des limites de temps s’appliquent :

    • 24 heures de temps CPU au maximum pour un processus et 1 heure de temps CPU pour un processus multi-coeurs ;

    • les processus inactifs depuis plus de 24 heures sont arrêtés.

  • les processus parallèles avec l’utilisation intensive à la fois en CPU et en lecture/écriture ne sont pas permis (exemple : make -j, scons, b2, ninja, etc.). Il est toutefois possible d’exécuter ce genre de processus via des jobs interactifs (voir job interactif) ;

  • éviter une consommation excessive de mémoire qui pourrait avoir un impact sur le système, dans ce cas utilisez de péférence le cluster ccahm. La commande htop -u username peut être utile pour surveiller la consommation en terme de mémoire ;

  • il est interdit d’exécuter des tâches en mode « batch » (exemple : traitement d’une grande quantité de fichiers en boucle) ;

  • le /scratch n’est pas un espace de stockage permanent : les données peuvent être supprimées à tout moment afin de libérer de l’espace. Normallement les données sont effacées au bout de 14 jours. De plus, évitez de stocker des données volumineuses ;

  • un seul processus de transfert est autorisé par serveur (exemple : scp, rsync ou dq2-get) et 3 processus sur l’ensemble des serveurs interactifs ;

  • les processus détachés et persistants après la déconnexion de l’utilisateur ne sont pas permis.

    • Le logiciel Screen déroge à cette règle, mais son utilisation n’est pas destinée à se substituer au système de batch, ni à exécuter des services ou encore à accaparer des ressources limitées (comme les noeuds de calcul interactif avec des GPU) ;

    • le cas d’usage de Visual Studio Code est expliqué dans son paragraphe dédié.

  • Pour garantir la confidentialité des données utilisateurs, l’utilisation de rmate (ou autre éditeur similaire) nécessite d’utiliser un port TCP aléatoire au lieu d’un port fixe.

Transférer des fichiers

Seul le protocole SSH est autorisé pour les connexions ou les transferts de fichiers vers ou à partir des serveurs interactifs du CC-IN2P3. Deux modes d’authentifications sont disponibles : par mot de passe, ou par ticket Kerberos (via GSS-API). Une authentification de type RSA/DSA (clé SSH) vous permettra l’accès, mais elle n’initialisera pas votre ticket Kerberos.

Pour copier des fichiers :

% scp myfile user@cca.in2p3.fr:~/monrepertoire/
% sftp user@cca.in2p3.fr

Pour plus d’informations, veuillez vous référer aux pages de manuel (man <commande>) des commandes ci-dessus.

Changer de shell

Pour changer le shell par défaut, utilisez la commande changesh avec la syntaxe suivante :

% changesh --help

Usage: changesh --help  | -h
       changesh <shell>

<shell> peut être bash, csh, ksh, tcsh or zsh.

Utilisation de Visual Studio Code

Si la connexion internet de votre poste de travail peut être interrompue par la mise en veille de votre écran (cas des utilisateurs Mac avec une connexion Thunderbolt, c’est-à-dire une connexion au réseau Ethernet filaire dans l’écran), vos fenêtres VS Code seront fermées par le manque de connexion. Voici ci-dessous la description de ce qu’il se passe :

  • VS Code crée une connexion SSH vers un serveur cca et lance (sur cet interactif) Node.js ;

  • l’utilisateur interrompe temporairement de son activité ;

  • le poste de travail détecte le manque d’activité et met l’écran en veille: la connexion réseau est coupée et

    • la connexion SSH disparaît ;

    • mais le Node.js de VS Code persiste ;

    • le VS Code fantôme est détecté par le monitoring des interactifs (et tué).

D’autre part, et par défaut lors de son démarrage, VS Code recherche les noms des symboles du code source pour ses fonctions d’auto-complétion. Pour se faire, il utilise ripgrep qui utilise tous les cœurs de la machine pour faire un scan rapide.

Il est recommandé, si possible, de désactiver cette collecte avec ripgrep (ou de la configurer pour être moins agressive) pour éviter la charge trop importante sur le serveur interactif.