> DIO/ Calcul/ Machine de Post-traitement

Description générale

Présentation du service

La DIO met à la disposition des utilisateurs une machine de post-traitement : johannes (2016)

L'accès à cette machine est ouvert à tous les membres de l'Observatoire néanmoins il est nécessaire d'en faire la demande et de justifier des besoins d'accès à cette machine (nombre de coeurs, taille mémoire). Pour cela envoyez un mail à

admin.dio@obspm.fr

Nous invitons tous les utilisateurs à lire les paragraphes ci-dessous et à suivre ces recommandations. Pour une utilisation optimale de cette machine les utilisateurs doivent soumettre leurs jobs via le système de gestionnaire de tâches SLURM (Simple Linux Utility for Resource Management).

Description et caractéristiques techniques de la machine

48 coeurs Intel(R) Xeon(R) CPU E7-8857 v2 @ 3.00GHz

1,5 To de mémoire partagée entre les coeurs

Le répertoire home est celui de la grappe tycho

  • sauvegarde une fois par jour, en rotation sur 14 occurrences
  • à utiliser pour y mettre les fichiers produits par l'utilisateur lui-même : fichiers bureautiques, programmes, scripts, etc... En bref tout ce qui n'est pas reproductible par calcul ou traitement, et qui a beaucoup de valeur
  • quota de 30 Go

De même, /data et /poubelle sont ceux de tycho.

Le gestionnaire de tâches SLURM

Pour une utilisation optimale des ressources de la machine vous devez utiliser le gestionnaire de taches SLURM que ce soit pour travailler de manière interactive ou batch.

Plusieurs queues de soumission sont disponibles en fonction de vos besoins. Il est impératif de définir le temps et la mémoire souhaités.

La machine fonctionne selon deux modes : toutes les 3 semaines il est possible d'utiliser la machine en totalité pendant le week-end et en dehors de ces périodes la machines est partagée entre projets.

Il est important lancer tous les programme via le gestionnaire de ressources slurm. Autrement il y a risque de sur-utilisation des ressources en particulier de la mémoire et la machine risquerait de <> et de devenir inutilisable.

Un script de surveillance envoit un mail lorsqu'il détecte de tels processus (plus tard il tuera ces processus).

Par contre il est possible de lancer un éditeur de texte en dehors de slurm.

Fonctionnement en mode projet

Les ressources de la machine sont réparties en 4 partitions : 3 réservées pour des projets et une ouverte aux utilisateurs hors projet.

partition temps max nb coeurs max mémoire max
alma 15 jours 12 coeurs 282 Go
orage 15 jours 12 coeurs 282 Go
wibar 15 jours 12 coeurs 358 Go
pub 15 jours 12 coeurs 512 Go

Une partition de moindre priorité permet d'utiliser plus de coeurs pendant que les partition dédiées aux projets sont partiellement utilisées. Le jobs soumis sur cette partition peuvent être suspendus pour permettre aux jobs soumis sur les partitions projets de démarrer immédiatement.

partition temps max nb coeurs max mémoire max
low 15 jours 36 coeurs 128 Go

Attention : en soumettant un job, il faut tenir compte de la prochaine réservation car un job ne peut démarrer que s'il se termine avant le début de la réservation.

Fonctionnement en mode réservation

Régulièrement, actuellement toutes les trois semaines pendant les week-end, il est possible de lancer un job utilisant jusqu'à 83% des ressources de la machine sur la partition all.

Pendant cette période, seuls les jobs soumis sur les deux partitions suivantes peuvent s'exécuter :

partition nb coeurs max mémoire max
all 40 coeurs 1195.7 Go ( = 1224420 Mo )
urg 8 coeurs 239.1 Go ( = 244884 Mo)

Ce découpage a été fait pour évité l'immobilisation totale de la machine et permettre le lancement de jobs de taille modeste de dernière minute sur la partition urg.

La prochaine réservation est affichée quand on se loggue sur la machine, par exemple :

Prochaine reservation de la machine :
 ReservationName=all_1 StartTime=2016-10-28T19:00:00 EndTime=2016-10-31T06:00:00 Duration=2-12:00:00

Pour soumettre un job pendant cette période, il faut utiliser les options suivantes :

--partition=all ou --partition=urg
--reservation=all_1 ou all_2 etc.

On peut afficher toutes les reservations avec la commande :

scontrol show reservation

Soumission de jobs de type batch

Des exemples de fichiers de soumission sont disponibles sur la page de la grappe tycho ainsi que la description des commandes SLURM

Un modèle simple de script exemple.slurm :

#!/bin/bash
#SBATCH --job-name=MonProg {Nom du programme}
#SBATCH --partition=pub    {La file d'attente}
#SBATCH --time=1-23:00:00  {Le temps sous la forme J-HH:MM:SS}
#SBATCH -n 12              {Le nombre de coeurs}
#SBATCH --mem=1gb          {La mémoire demandée}
./nom_de_l_executable      {Le programme a lancer}

Le script est à soumettre avec la commande :

sbatch exemple.slurm

Remarque : pour utiliser toute la mémoire disponible sur une partition, il faut préciser la valeur exacte en Mo. Cette valeur peut-être obtenue avec une des commandes :

scontrol show partition [nom_de_la_partition]

Par exemple dans le cas de la partition pub on obtient MaxMemPerNode=524288 il faut donc préciser --mem=524288 dans le script de soumission.

Soumission de jobs interactifs

Pour la réservation de ressources pour travailler de manière interactive il faut utiliser la commande srun

    srun -p [partition] -t [tempsMinute] -J [NomJob] --mem=[memoire] --pty bash

Pour avoir le numero du job qui s'affiche dans le prompt il faut ajouter dans votre fichier ~/.bashrc la ligne

    PS1='\u@\h${SLURM_JOBID:+:$SLURM_JOBID}:\w\$ '

Statistiques d'utilisation

Statistiques pour l'année 2018

Statistiques pour l'année 2017

Statistiques pour l'année 2016