Version 130 (modified by 10 months ago) ( diff ) | ,
---|
Table of Contents
Table of Contents
- -
- Spécial nouveaux entrants
- Comptes utilisateurs et authentification
- Introduction
- Demande de compte
- Charte Informatique du LPSC
- Changer son mot de passe
- Certificats electroniques
- -
- Support aux utilisateurs
- Traitements des demandes, tickets urgents
- Aide au developpement
- -
- Postes de travail
- Postes de travail
- PC de pret
- Configurations et problemes rencontres
- Programmes sous Windows
- -
- Acces au reseau
- Reseaux filaire et wifi
- Accueil de visiteurs
- Reseau EDUROAM
- Acces externes
- Acces externe par VPN
- -
- Impressions, photocopies, scanner
- Installation et utilisation des imprimantes
- Suivi des impressions
- -
- Stockage centralise
- Introduction
- Utilisation des espaces de stockage du LPSC
- -
- Messagerie / Outils collaboratifs
- Messagerie
- Salles de reunion et videoconference
- Espaces internet
- Surveillance MaJ page web
- Synchronisation ATRIUM
- Liens vers outils collaboratifs
- -
- Calcul et serveurs
- Introduction
- Ferme locale
- Systeme de batch HTCondor
- Serveurs Windows
- Logiciels sous licence
- -
- Divers
- Mise a jour des informations Annuaire IN2P3
- Bases de Linux
- Trucs et astuces sous Linux
- Trucs et astuces de programmation
- SSH
- X2GO
- FileZilla
- SSHFS
- Latex
- Doxygen
- -
- Pour les administrateurs
- Index des pages de l'espace utilisateur
- Espace administrateur acces restreint
Machines communes
Serveurs de calcul
Des serveurs de calcul sont mis à la disposition des utilisateurs du LPSC. Certains sont réservés à l'usage de groupe alors que d'autres sont à usage général. La liste de ces serveurs et leur fonction est donnée sur la page ServeursLpsc. Pour se logger sur ces serveurs, utilisez vos login et mot de passe habituels.
Ferme de machines communes
Le LPSC est doté d'une ferme de machines communes locales, dénommées lpsc-c*. Ces machines ont été installées dans 3 pools de versions différentes de Linux : Centos7 , Fedora30 et Almalinux9. Chaque pool est composé de machines installées de façon identique (via les logiciels QUATTOR et Ansible). Toutes mises à jour ou ajouts de paquets sur une machine seront répercutés sur toutes les machines de chaque pool.
Notre ferme de calcul locale est composée des machines suivantes :
- lpsc-c0 : un poweredge 1950 à 24 processeurs et 94 Go RAM en Centos
- lpsc-c8 : un poweredge R620 à 32 processeurs et 125 Go de RAM en Centos
- lpsc-c12 et lpsc-c13 : deux poweredge R610 à 24 processeurs et 96 Go de RAM en Fedora
- lpsc-c14 et lpsc-c15 : deux poweredge R640 à 48 processeurs et 256 Go de RAM en Fedora
- lpsc-c16 à lpsc-c19 : quatre powerEdge C6420 à 48 processeurs et 128 Go de RAM en Alma linux
- lpsc-c20 à lpsc-c28 : neuf powerEdge C6420 à 40 processeurs et 128 Go de RAM en Alma linux
L'accès à ces machines s'effectue par ssh -X
avec votre login/mot de passe habituel. Il est possible de les utiliser en mode interactif ou en batch.
Monitoring disponible sur https://lpsc-monitoring.in2p3.fr
Sur toutes ces machines, voilci les applications recommandées pour les différents types de fichiers (n'hésitez pas à nous contacter pour agrandir cette liste) :
- images => display
- pdf => evince
- texte => vi, emacs, gedit, nedit
Pour toutes ces machines, certains logiciels sont utilisables quelque soit le pool utilisé :
- Matlab est installé dans /utils/MATLAB/latest. Il existe d'autres versions de ce logiciel dans /utils/MATLAB.
- IDL (logiciel d’analyse et visualization de données ) version 8.8.2 est installé dans /usr/local/harris. Il existe d'autres versions de ce logiciel dans /utils/IDL.
- PGI Portland Group (NVIDIA HPC SDK): Pour avoir accés aux différents compilateurs, il faudra modifier votre variable PATH ($ PATH=/opt/nvidia/hpc_sdk/Linux_x86_64/22.5/compilers/bin:$PATH; export PATH)
- Pour les serveurs en Centos7 (2 machines : lpsc-c0 et lpsc-c8), voici la liste des logiciels installés (visible en interne seulement) :
- Pour les serveurs en Fedora (4 machines : lpsc-c12 à lpsc-c15), voici la liste des logiciels installés (visible en interne seulement) :
- Pour les serveurs en Almalinux (13 machines: lpsc-c16 à lpsc-c28), voici la liste des logiciels installés (visible en interne seulement) :
IMPORTANT :
Pour toutes les machines, CVMFS est installé et vous permet d'utiliser toutes les releases de logiciels du CERN. ATTENTION cela ne fonctionne qu'en bash, pas en tcsh. Pour cela, vous devez exécuter :
export ATLAS_LOCAL_ROOT_BASE=/cvmfs/atlas.cern.ch/repo/ATLASLocalRootBase source $ATLAS_LOCAL_ROOT_BASE/user/atlasLocalSetup.sh
Par exemple pour connaitre toutes les versions de gcc disponibles :
showVersions gcc
Pour utiliser la version 6.200 de gcc :
lsetup "gcc gcc620_x86_64_slc6"
La même méthode peut être utilisée pour choisir une version de root.
Utilisation de MPI sur la ferme locale
En premier vous devez ajouter /opt/mpich-1.2.7p1/bin à votre PATH.
Essayer ensuite de d'utiliser un des deux codes d'exemple suivants (en fonction du language désiré) :
c Fortran example program hello include 'mpif.h' integer rank, size, ierror, tag, status(MPI_STATUS_SIZE) call MPI_INIT(ierror) call MPI_COMM_SIZE(MPI_COMM_WORLD, size, ierror) call MPI_COMM_RANK(MPI_COMM_WORLD, rank, ierror) print*, 'node', rank, ': Hello world' call MPI_FINALIZE(ierror) end
ou
#include <stdio.h> #include <mpi.h> int main(int argc, char** argv){ int rank, size; MPI_Init (&argc, &argv); /* starts MPI */ MPI_Comm_rank (MPI_COMM_WORLD, &rank); /* get current process id */ MPI_Comm_size (MPI_COMM_WORLD, &size); /* get number of processes */ char processor_name[MPI_MAX_PROCESSOR_NAME]; int name_len; MPI_Get_processor_name(processor_name, &name_len); printf( "Hello world from process %d of %d executed on %s\n", rank, size, processor_name ); MPI_Finalize(); return 0; }
Pour compiler : mpif77 code.f ou mpicc code.c
Pour exécuter : mpirun -np 4 a.out ( => lance sur 4 processeurs)
Lors de l'exécution, une connexion ssh sera effectuée sur chacun des noeuds. Afin de faciliter ces connexions, vous pouvez mettre au point une clé privée/publique, afin de ne pas toujours devoir saisir votre mot de passe.
De nombreuses options existent pour configurer le nombre de processeurs, les machines à utiliser, ... N'hésitez pas à lire l'aide de mpirun : mpirun -help.
Utilisation du batch HT-Condor sur la ferme locale
Machines pour la soumission de jobs
Quatre machines de soumission sont à votre disposition pour soumettre vos tâches avec le système de batch HTCondor:
- lpsc-batch-almalinux et lpsc-batch-almalinux2 (AlmaLinux release 9.2)
- lpsc-batch-fedora (Fedora 39)
- lpsc-batch-centos7 (CentOS Linux release 7.4)
Prérequis pour soumettre un job
Pour soumettre un job sur HTCondor il faut :
- un *exécutable* qui pourra dans un premier temps être tester en interactif sur les machines de soumission
- un *fichier de description* qui sera lu par le système HTCondor et qui définira les ressources et le type d'environnement dont a besoin votre exécutable.
Le concept d'univers
Un [univers https://htcondor.readthedocs.io/en/23.0/users-manual/choosing-an-htcondor-universe.html] pour HTCondor est un environnement d’exécution pour un job. HTCondor définit plusieurs univers, 3 d'entre-eux ont été configurés sur la ferme de calcul du LPSC :
- vanilla, l'univers "par défaut" avec lequel vous pouvez soumettre la plupart de vos jobs
- docker, l'univers qui permet d'utiliser des containers docker depuis DockerHub (https://hub.docker.com/)
- java, l'univers pour les exécutables Java
D'autres univers existent et pourront être proposés au besoin.
Exemple de fichier de soumission =
more testprog01.sh #! /bin/sh echo "HT-condor testprog01" echo "I'm process id $$ on" `hostname` echo "This is sent to standard error" 1>&2 date echo "Running as binary $0" "$@" echo "My name (argument 1) is $1" echo "My sleep duration (argument 2) is $2" sleep $2 echo "Sleep of $2 seconds finished. Exiting" exit 0
exemple d'un fichier de description de soumission:
more testprog01.submit executable=testprog01.sh universe=vanilla arguments=Example.$(Cluster).$(Process) 100 output=results.output.$(Process) error=results.error.$(Process) log=results.log notification=never should_transfer_files=YES when_to_transfer_output = ON_EXIT queue
exemple d'un fichier de description de soumission en sélectionnant Almalinux9 comme Operating System:
more testprog2.submit executable=testprog01.sh universe=vanilla arguments=Example.$(Cluster).$(Process) 100 output=results.output.$(Process) error=results.error.$(Process) log=results.log notification=never should_transfer_files=YES when_to_transfer_output = ON_EXIT requirements = (OpSysAndVer =?= "AlmaLinux9") queue
Pour choisir Centos7:
requirements = (OpSysAndVer =?= "CentOS7")
Pour choisir Fedora39:
requirements = (OpSysAndVer =?= "Fedora39")
L'utilisateur définit lui-même le groupe auxquel il appartient via une instruction de type :
accounting_group = informatique
Soumettre un job en batch : condor_submit
condor_submit testprog01.submit
Voir l'avancement de nos jobs avec la commande : condor_q ou condor_q -run ou condor_q -long
[chris@lpsc-c2:~/HT-CONDOR]> condor_q -- Schedd: lpsc-c2.in2p3.fr : <134.158.40.121:30703?... ID OWNER SUBMITTED RUN_TIME ST PRI SIZE CMD 12.0 chris 8/28 10:23 0+00:00:02 R 0 0.0 testprog01.sh Exam 1 jobs; 0 completed, 0 removed, 0 idle, 1 running, 0 held, 0 suspended
suppression de nos jobs de la file d'attente(idle): condor_rm
condor_rm -all supprime tous nos jobs de la file d'attente(idle)
Pour voir toutes les machines disponibles dans le batch
condor_status -avail