Scheduler
Les logiciels d'ordonnancement et de traitement des tâches sont essentiels dans le fonctionnement d'un site de grille. Ils permettent à la fois :
- De gérer l'accès aux ressources de calcul (allocation des ressources, gestion de la file d'attente, ...)
- D'exécuter et de suivre les tâches sur les nœuds de calcul.
L'objectif de cette page est de fournir des informations et des recettes de cuisine pour configurer au mieux ces logiciels.
Sommaire
TORQUE / Maui
TORQUE est un gestionnaire de ressources Open Source pour exécuter et contrôler des tâches réparties sur des nœuds de calcul. Les paquets RPM du logiciel TORQUE sont disponibles dans les dépôts EPEL :
- SL5 -> http://dl.fedoraproject.org/pub/epel/5/x86_64/repoview/torque.html
- SL6 -> http://dl.fedoraproject.org/pub/epel/6/x86_64/repoview/torque.html
Le logiciel Maui Cluster Scheduler est une solution Open Source d'ordonnancement de tâches pour cluster et supercalculateur. Il possède de nombreuses options de configuration et permet de mettre en place différents types de polices d'ordonnancement et de fairshare. Le paquet RPM du logiciel Maui est disponible dans les dépôts EMI :
- SL5 / EMI-2 -> http://emisoft.web.cern.ch/emisoft/dist/EMI/2/sl5/x86_64/third-party/
- SL6 / EMI-2 -> http://emisoft.web.cern.ch/emisoft/dist/EMI/2/sl6/x86_64/third-party/
Les logiciels TORQUE / Maui sont utilisés par de nombreux sites de grille.
Configuration
Les variables suivantes sont ajoutées ou modifiées dans le fichier /var/spool/maui/maui.cfg afin d'améliorer la stabilité de Maui (les valeurs sont celles du site de l'IRFU, merci à Frédéric) :
CLIENTTIMEOUT 00:02:00 # Temps que le client peut attendre une réponse du serveur. Augmenter cette valeur permet d'éviter les timeouts showq JOBAGGREGATIONTIME 00:00:30 # Temps minimum que Maui va attendre lorsqu'il reçoit un job avant de traiter cet évènement (0 par défaut). RESDEPTH 128 # Nombre de réservation max par machine (24 par défaut, insuffisant pour les nouvelles machines à 32 cpu) RMPOLLINTERVAL 00:01:30 # Temps entre deux rafraîchissements du resource manager. Augmenter cette durée permet de faire baisser la charge sur Maui. # Resource manager parameters RMCFG[base] TYPE=PBS TIMEOUT=60 # Timeout lors de l'interfaction entre le scheduler et le resource manager # Job priority parameters NODEMEMOVERCOMMITFACTOR 1.33 # Ce paramètre permet d'utiliser plus de mémoires (RAM+swap) que disponible. Cela évite de toujours devoir avoir SWAP = 2*RAM.
Jobs surnuméraires / jobs de test
(MaJ 26-feb-2016, C. biscarat) Les jobs de tests des VO sont envoyes non plus avec la VO ops mais dans le flot des jobs courants des VO. Il peut ainsi arriver qu'un job de test reste en queue car tous les slots de la ferme sont deja pris et le test echoue. Pour eviter cette situation, il faut definir des slots surnuméraires dans MAUI pour l'utilisateur avec lequel la VO envoie ses tests - atls dans le cas de ATLAS.
Pour cela (recette de E. fede), dans maui.cfg : au dessous des lignes du type (à faire pour chaque réservation)
SRCFG[sdj_XXX] CLASSLIST=dteam,ops
il faut ajouter
SRCFG[sdj_XXX] USERLIST=atls
il faut aussi donner une haute priorité à atls. Au LPSC par exemple :
# Define user specific parameters. USERCFG[DEFAULT] PRIORITY=100 USERCFG[alis] PRIORITY=180 USERCFG[atlp] PRIORITY=200 USERCFG[atlpilot] PRIORITY=500 USERCFG[atls] PRIORITY=1000 USERCFG[dtes] PRIORITY=800 USERCFG[opss] PRIORITY=800
Liens externes
SLURM
Simple Linux Utility for Resource Management (SLURM) est une solution d'ordonnancement de tâches utilisé par de nombreux supercalculateurs du TOP 500. Ses trois rôles sont :
- Allouer l'accès aux ressources (noeuds de calcul) aux tâches des utilisateurs pour un temps donné
- Gérer le démarrage, l'exécution et la surveillance des tâches de calcul
- Arbitrer l'accès aux ressources en gérant les priorités des jobs dans la queue
Le logiciel SLURM sera supporté par la version EMI-3 du CREAM CE.