Scheduler

Un article de lcgwiki.
Jump to: navigation, search

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.

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 :

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 :

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.

Liens externes