30
15/11/2018 1 La grappe de calcul à la DIO Aurélia Marchand Stéphane Vaillant [email protected]

La grappe de calcul à la DIO · 2020. 4. 24. · 15/11/2018 7 La grappe Tycho 1 noeuds : tycho25 (Juillet 2015) 16 coeurs, Intel Xeon à 3.2 GHz, 96 Go de mémoire, 3,6 To d'espace

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: La grappe de calcul à la DIO · 2020. 4. 24. · 15/11/2018 7 La grappe Tycho 1 noeuds : tycho25 (Juillet 2015) 16 coeurs, Intel Xeon à 3.2 GHz, 96 Go de mémoire, 3,6 To d'espace

15/11/2018 1

La grappe de calcul

à la DIO

Aurélia Marchand

Stéphane Vaillant

[email protected]

Page 2: La grappe de calcul à la DIO · 2020. 4. 24. · 15/11/2018 7 La grappe Tycho 1 noeuds : tycho25 (Juillet 2015) 16 coeurs, Intel Xeon à 3.2 GHz, 96 Go de mémoire, 3,6 To d'espace

15/11/2018 2

Les grappes de calcul

Type de machines de calcul :

➢UMA : Uniform Memory Access (machines SMP)

➢NUMA : None Uniform Memory Access (plusieurs machines SMP interconnectées par un réseau plus ou moins rapide)

Page 3: La grappe de calcul à la DIO · 2020. 4. 24. · 15/11/2018 7 La grappe Tycho 1 noeuds : tycho25 (Juillet 2015) 16 coeurs, Intel Xeon à 3.2 GHz, 96 Go de mémoire, 3,6 To d'espace

15/11/2018 3

UMA

Machine à mémoire partagée, tous les processeurs accèdent à toute la mémoire

➢Avantages :

➢Espace d'adressage unique

➢Facile à programmer (OpenMP)

➢Scalabilité

➢Inconvénients :

➢Portabilité des applications

➢Limitée en nombre de CPUs

➢Limitée par la bande passante

➢Coût

Page 4: La grappe de calcul à la DIO · 2020. 4. 24. · 15/11/2018 7 La grappe Tycho 1 noeuds : tycho25 (Juillet 2015) 16 coeurs, Intel Xeon à 3.2 GHz, 96 Go de mémoire, 3,6 To d'espace

15/11/2018 4

NUMA

Espace mémoire distribué sur chaque nœud de calcul. L'accès à la mémoire se fait via un

réseau d'interconnexion (Ethernet, infiniband)

➢Avantages :

➢Accès rapide à la mémoire locale

➢Non limitée en nombre de CPUs

➢(Top 500 : Sunway TaihuLight 10,649,600 cœurs, Rpeak 125 Pflop/s)

➢coût

➢Inconvénients :

➢Plus complexe à programmer (MPI) l'utilisateur doit gérer les communications

➢Administration système plus complexe

Page 5: La grappe de calcul à la DIO · 2020. 4. 24. · 15/11/2018 7 La grappe Tycho 1 noeuds : tycho25 (Juillet 2015) 16 coeurs, Intel Xeon à 3.2 GHz, 96 Go de mémoire, 3,6 To d'espace

15/11/2018 5

Les grappes de calcul à l'observatoire

➢MesoPSL1 (2011)

➢ 216 cœurs - 3.06 GHz - 2 Go

➢ 29 To Lustre

➢MesoPSL (2012)

➢ 2128 cœurs - 2.6 GHz - 4 Go

➢ 128 To

➢ Infiniband

➢AstroA (Mars 2018)

➢ 1152 cœurs - gros noeuds 96 cœurs - 768 Go

➢ 426 To

➢Tycho

Tier – 0PRACETGCC

Tier – 1GENCI

IDRIS – CINES – CCRT

Tier – 2Meso-centres

PSL

Page 6: La grappe de calcul à la DIO · 2020. 4. 24. · 15/11/2018 7 La grappe Tycho 1 noeuds : tycho25 (Juillet 2015) 16 coeurs, Intel Xeon à 3.2 GHz, 96 Go de mémoire, 3,6 To d'espace

15/11/2018 6

La grappe Tycho

La grappe est constituée de :

➢1 frontale (tycho) et 1152 cœurs de calcul

➢12 noeuds : quadri[17-28] (Juin 2010)

8 coeurs, Intel Xeon à 2.27 GHz, 24 Go de mémoire,

160 Go d'espace disque local

➢52 nœuds :

➢tycho[01-20] (Oct. 2013)

➢tycho[21-24] (Nov. 2015)

➢tycho[26,29-32] (Mar. 2016)

16 coeurs, Intel Xeon à 2.60 GHz, 64 Go de mémoire,

1,7 To d'espace disque local

Page 7: La grappe de calcul à la DIO · 2020. 4. 24. · 15/11/2018 7 La grappe Tycho 1 noeuds : tycho25 (Juillet 2015) 16 coeurs, Intel Xeon à 3.2 GHz, 96 Go de mémoire, 3,6 To d'espace

15/11/2018 7

La grappe Tycho

➢1 noeuds : tycho25 (Juillet 2015)

16 coeurs, Intel Xeon à 3.2 GHz, 96 Go de mémoire, 3,6 To d'espace disque local

➢2 noeuds : tycho[27-28] (Janvier 2016)

24 coeurs, Intel Xeon à 2.6 GHz, 256 Go de mémoire, 2,6 et 4,5 To d'espace disque

➢4 noeuds : tycho[33-36] (Septembre 2017)

24 coeurs, Intel Xeon à 2.2 GHz, 128 Go de mémoire, 1,6 To d'espace disque local

➢8 noeuds : tycho[37-44] (Décembre 2017)

16 coeurs, Intel Xeon à 2.1 GHz, 96 Go de mémoire, 0,7 To d'espace disque local

➢4 noeuds : tycho[45-48] (Décembre 2017)

24 coeurs, Intel Xeon à 2.3 GHz, 128 Go de mémoire, 1,6 To d'espace disque local

➢4 noeuds : tycho[49-52] (Novembre 2018)

24 coeurs, Intel Xeon à 2.3 GHz, 192 Go de mémoire, 1,6 To d'espace disque local

Page 8: La grappe de calcul à la DIO · 2020. 4. 24. · 15/11/2018 7 La grappe Tycho 1 noeuds : tycho25 (Juillet 2015) 16 coeurs, Intel Xeon à 3.2 GHz, 96 Go de mémoire, 3,6 To d'espace

15/11/2018 8

Tycho

Page 9: La grappe de calcul à la DIO · 2020. 4. 24. · 15/11/2018 7 La grappe Tycho 1 noeuds : tycho25 (Juillet 2015) 16 coeurs, Intel Xeon à 3.2 GHz, 96 Go de mémoire, 3,6 To d'espace

15/11/2018 9

La grappe Tycho

Espaces de stockage :

➢/obs/son_login

8.8 To - 30 Go/user - Sauvegardé tous les jours

➢/data/son_login

18 To - 60 Go/user - Sauvegardé toutes les semaines

➢/poubelle/son_login

54 To - non sauvegardé, nettoyé tous les 120 jours

➢/scratch/son_login

1,7 To - local, non sauvegardé, nettoyé tous les 20 jours

Page 10: La grappe de calcul à la DIO · 2020. 4. 24. · 15/11/2018 7 La grappe Tycho 1 noeuds : tycho25 (Juillet 2015) 16 coeurs, Intel Xeon à 3.2 GHz, 96 Go de mémoire, 3,6 To d'espace

15/11/2018 10

La grappe Tycho

Accès à la grappe :

➢Faire une demande de compte à [email protected]

(Compte LDAP)

➢Inscription automatique à la liste de diffusion [email protected] (Machine parallèle de l'Observatoire de Paris-Meudon) pour être informé des arrêts programmés de la grappe ou des mises à jour des logiciels

Page 11: La grappe de calcul à la DIO · 2020. 4. 24. · 15/11/2018 7 La grappe Tycho 1 noeuds : tycho25 (Juillet 2015) 16 coeurs, Intel Xeon à 3.2 GHz, 96 Go de mémoire, 3,6 To d'espace

15/11/2018 11

La grappe Tycho : logiciels

Les logiciels sont installés à la demande, plusieurs versions peuvent

être disponible (module available)

https://dio.obspm.fr/Calcul/logiciels_pour_tycho

Les logiciels payant nécessitant une licence :

https://sionet.obspm.fr/mrtg/mrtg-logiciel.html

Page 12: La grappe de calcul à la DIO · 2020. 4. 24. · 15/11/2018 7 La grappe Tycho 1 noeuds : tycho25 (Juillet 2015) 16 coeurs, Intel Xeon à 3.2 GHz, 96 Go de mémoire, 3,6 To d'espace

15/11/2018 12

La grappe Tycho : Compilateurs

Les compilateurs C/C++

➢gcc, g++ 6.3.0 / gcc ,

Les compilateurs Fortran

➢GNU Fortran 6.3.0 / gfortran

➢Intel Fortran 19.0.0 / ifort

➢NAGWare Fortran 6.0 / f95.nag (nag-server)

Page 13: La grappe de calcul à la DIO · 2020. 4. 24. · 15/11/2018 7 La grappe Tycho 1 noeuds : tycho25 (Juillet 2015) 16 coeurs, Intel Xeon à 3.2 GHz, 96 Go de mémoire, 3,6 To d'espace

15/11/2018 13

La grappe Tycho : Parallélisme

➢OpenMP

➢ifort -qopenmp

➢gfortran -fopenmp

OMP_NUM_THREADS

➢MPI

➢OpenMPI (module load openmpi)

OMPI_FC

OMPI_FCFLAGS

Page 14: La grappe de calcul à la DIO · 2020. 4. 24. · 15/11/2018 7 La grappe Tycho 1 noeuds : tycho25 (Juillet 2015) 16 coeurs, Intel Xeon à 3.2 GHz, 96 Go de mémoire, 3,6 To d'espace

15/11/2018 14

La grappe Tycho : slurm

➢Simple Linux Utility for Resource Management

➢Utilisé sur MesoPSL

➢2 fonctions :

➢Gestion des ressources

➢Exécution des tâches, limitations des tâches / nœud / utilisateur

➢Comptabilité : heures consommées

➢Extinction des nœuds

➢Ordonnancement des tâches

➢Backfill, fairshare, priorité, préemption, réservation

Page 15: La grappe de calcul à la DIO · 2020. 4. 24. · 15/11/2018 7 La grappe Tycho 1 noeuds : tycho25 (Juillet 2015) 16 coeurs, Intel Xeon à 3.2 GHz, 96 Go de mémoire, 3,6 To d'espace

15/11/2018 15

SLURM

➢Partitions/Queues

➢Publiques : short, medium, long, verylong

➢Publique basse priorité : low

➢Accès prioritaire aux nœuds dédiés : mis, gaia, skybot, grace, virage, plato, mosaic

➢ Limitations

➢Globale : 80 cœurs par utilisateur

Page 16: La grappe de calcul à la DIO · 2020. 4. 24. · 15/11/2018 7 La grappe Tycho 1 noeuds : tycho25 (Juillet 2015) 16 coeurs, Intel Xeon à 3.2 GHz, 96 Go de mémoire, 3,6 To d'espace

15/11/2018 16

SLURM

Durée max. tychoNN quadriNN noeud max/job

Queues publiques

short 1 h 03-16, 53-56 4

medium 1 j 01-24,26-32,53-56 17-25 4

long 5 j 01-48

sauf 03,16, 25

17-28 4

verylong 15 j 01-32

sauf 03, 12-16,25

17-22 4

nag 15 j 03=nag-server

Queue basse priorité préemptible

low 15 j 03-16 17-28 5

Page 17: La grappe de calcul à la DIO · 2020. 4. 24. · 15/11/2018 7 La grappe Tycho 1 noeuds : tycho25 (Juillet 2015) 16 coeurs, Intel Xeon à 3.2 GHz, 96 Go de mémoire, 3,6 To d'espace

15/11/2018 17

SLURM

Durée max. tychoNN quadriNN Coeurs max/util

Queues pour accès prioritaire

mis 15 j 01, 22-24, 37-44

gaia 15 j 02, 21, 33-36, 49-52

skybot 15 j 17-20

grace 15 j 25

virage 15 j 26, 45-48

plato 15 j 27-28

mosaic 15 j 29-32

Page 18: La grappe de calcul à la DIO · 2020. 4. 24. · 15/11/2018 7 La grappe Tycho 1 noeuds : tycho25 (Juillet 2015) 16 coeurs, Intel Xeon à 3.2 GHz, 96 Go de mémoire, 3,6 To d'espace

15/11/2018 18

SLURM : Préemption

➢Préemption : mise en pause et en swap par un job prioritaire

➢Un job lancé sur short, medium, long, verylong ou low et

occupant le nœud dédié tycho01 (vs tycho02, vs tycho[17-20])

sera préempté par un job lancé sur la partition mis (vs gaia, vs

skybot…)

➢Un job lancé sur low pourra être interrompu par n'importe quel

autre job

Page 19: La grappe de calcul à la DIO · 2020. 4. 24. · 15/11/2018 7 La grappe Tycho 1 noeuds : tycho25 (Juillet 2015) 16 coeurs, Intel Xeon à 3.2 GHz, 96 Go de mémoire, 3,6 To d'espace

15/11/2018 19

SLURM : Commandes

➢sbatch : soumission d'un script

tycho> sbatch monjob.slurm

submitted batch job 12345

➢salloc : exécution interactive

tycho> salloc -t 10 -J monJob

salloc : Granted job allocation 12346

➢squeue : liste des jobs

tycho> squeue

Page 20: La grappe de calcul à la DIO · 2020. 4. 24. · 15/11/2018 7 La grappe Tycho 1 noeuds : tycho25 (Juillet 2015) 16 coeurs, Intel Xeon à 3.2 GHz, 96 Go de mémoire, 3,6 To d'espace

15/11/2018 20

SLURM : Commandes

tycho> squeue

JOBID PARTITION NAME USER ST TIME NODES NODELIST

381 long MonProg marchand R 2-23:49:59 2 tycho[03-04]

472 medium Test vaillant R 23:18 1 tycho06

473 medium MonProg marchand PD 0:00 1 (ressources)

tycho> squeue -o « %.7i %.8j %.8u %Q»

JOBID NAME USER PRIORITY

381 MonProg marchand 73

472 Test vaillant 53

473 MonProg marchand 51

Page 21: La grappe de calcul à la DIO · 2020. 4. 24. · 15/11/2018 7 La grappe Tycho 1 noeuds : tycho25 (Juillet 2015) 16 coeurs, Intel Xeon à 3.2 GHz, 96 Go de mémoire, 3,6 To d'espace

15/11/2018 21

SLURM : Commandes

➢sinfo : information sur les partitions

➢sacct : récapitulatif des jobs sur une période

tycho> sacct -o jobid,user,nodelist,state

tycho> sacct -helpformat

➢scontrol : visualisation et modification d'un job

tycho> scontrol show job {jobid}

tycho> scontrol update JobID={jobid} TimeLimit=10:00:00

Page 22: La grappe de calcul à la DIO · 2020. 4. 24. · 15/11/2018 7 La grappe Tycho 1 noeuds : tycho25 (Juillet 2015) 16 coeurs, Intel Xeon à 3.2 GHz, 96 Go de mémoire, 3,6 To d'espace

15/11/2018 22

SLURM : commandes

➢Commandes utiles :

➢proc.use.sh : nombre de cœurs utilisés par noeud

➢proc.use2.sh : temps de réservation des nœuds

➢pdsh -a df /scratch

➢scratch_ls : liste le contenu de /scratch/$USER sur tous les nœuds

➢scratch_du : affiche l'espace occupé par /scratch/$USER sur tous les nœuds

➢scratch_rm {liste_noeuds} : efface le contenu de /scratch/$USER sur les nœuds passés en paramètre (option -a)

Page 23: La grappe de calcul à la DIO · 2020. 4. 24. · 15/11/2018 7 La grappe Tycho 1 noeuds : tycho25 (Juillet 2015) 16 coeurs, Intel Xeon à 3.2 GHz, 96 Go de mémoire, 3,6 To d'espace

15/11/2018 23

SLURM : Script

#!/bin/bash

#SBATCH --job-name=MonProg {Nom du programme}

#SBATCH --nodes=2 --ntasks-per-node=16 {Le nombre de noeud et de coeurs/noeud}

#SBATCH --time=120 {Le temps en minute ou D-HH:MM:SS}

#SBATCH --partition=medium {La file d'attente}

#SBATCH --mem=1gb {la mémoire globale}

mpiexec ./MonProg > MonProg.out

Page 24: La grappe de calcul à la DIO · 2020. 4. 24. · 15/11/2018 7 La grappe Tycho 1 noeuds : tycho25 (Juillet 2015) 16 coeurs, Intel Xeon à 3.2 GHz, 96 Go de mémoire, 3,6 To d'espace

15/11/2018 24

SLURM : /scratch

➢/scratch est local à chaque nœud

Rapidité d'accès

Destiné aux jobs en exécution sur le nœud

L’espace doit être libéré en fin de job

Pas toujours accessible pour des raisons d'économie d'énergie :

extinction automatique des nœuds après une demi journée

d'inactivité

Page 25: La grappe de calcul à la DIO · 2020. 4. 24. · 15/11/2018 7 La grappe Tycho 1 noeuds : tycho25 (Juillet 2015) 16 coeurs, Intel Xeon à 3.2 GHz, 96 Go de mémoire, 3,6 To d'espace

15/11/2018 25

SLURM : /scratch

#!/bin/bash

#SBATCH ...

SCRATCH=/scratch/$USER/run.${SLURM_JOBID}

srun --ntasks=$SLURM_JOB_NUM_NODES mkdir -p $SCRATCH

cd $SCRATCH

srun --ntasks=$SLURM_JOB_NUM_NODES cp /obs/$USER/MonProg .

srun --ntasks=$SLURM_JOB_NUM_NODES cp /data/$USER/MesDonnees .

mpiexec ./MonProg > MonProg.out

...

Page 26: La grappe de calcul à la DIO · 2020. 4. 24. · 15/11/2018 7 La grappe Tycho 1 noeuds : tycho25 (Juillet 2015) 16 coeurs, Intel Xeon à 3.2 GHz, 96 Go de mémoire, 3,6 To d'espace

15/11/2018 26

SLURM : /scratch

...

mpiexec ./MonProg > MonProg.out

srun --ntasks=$SLURM_JOB_NUM_NODES mv MesResultats /data/$USER

cd ${SLURM_SUBMIT_DIR}

mv ${SCRATCH}/MonProg.out .

srun --ntasks=$SLURM_JOB_NUM_NODES rm -rf ${SCRATCH}

Page 27: La grappe de calcul à la DIO · 2020. 4. 24. · 15/11/2018 7 La grappe Tycho 1 noeuds : tycho25 (Juillet 2015) 16 coeurs, Intel Xeon à 3.2 GHz, 96 Go de mémoire, 3,6 To d'espace

15/11/2018 27

SLURM : interactif

➢Pour exécuter une application sur un des nœuds :

tycho> salloc -t 04:00:00 -p medium -n 1 -c 1 srun --pty --x11 matlab

➢Pour travailler de façon interactive :

tycho> salloc -t 10 -J NomJob -p short srun --pty bash

Salloc: Job allocation 12345

quadri17>

Page 28: La grappe de calcul à la DIO · 2020. 4. 24. · 15/11/2018 7 La grappe Tycho 1 noeuds : tycho25 (Juillet 2015) 16 coeurs, Intel Xeon à 3.2 GHz, 96 Go de mémoire, 3,6 To d'espace

15/11/2018 28

Machine de post-traitement

Johannes :

➢48 coeurs Intel Xeon 3.00GHz

➢1,5 To de mémoire partagée entre les cœurs

➢https://dio.obspm.fr/Calcul/posttraitement

Page 29: La grappe de calcul à la DIO · 2020. 4. 24. · 15/11/2018 7 La grappe Tycho 1 noeuds : tycho25 (Juillet 2015) 16 coeurs, Intel Xeon à 3.2 GHz, 96 Go de mémoire, 3,6 To d'espace

15/11/2018 29

Liens

➢Aide en ligne

https://dio.obspm.fr/Calcul/tycho/

➢Utilisation de la grappe en temps réel:

https://palpatine.obspm.fr/ganglia/

➢Liste de diffusion

[email protected]

Page 30: La grappe de calcul à la DIO · 2020. 4. 24. · 15/11/2018 7 La grappe Tycho 1 noeuds : tycho25 (Juillet 2015) 16 coeurs, Intel Xeon à 3.2 GHz, 96 Go de mémoire, 3,6 To d'espace

15/11/2018 30

Discussion

➢Retour d’expérience

➢Accès aux ressources

➢Facilité d'utilisation

➢Documentation

➢Évolution de vos besoins

➢Nombre de CPU

➢Mémoire

➢Espace de stockage