Maui

Fiche logiciel validé
  • Création ou MAJ importante : 11/04/13
  • Correction mineure : 11/04/13
  • Rédacteur de la fiche : Romaric David - Direction Informatique - Pôle HPC (Université de Strabourg)
  • Relecteur(s) : Sylvain Faure (Laboratoire de Mathématiques Orsay)
  • Responsable thématique : Geneviève Romier (Institut des Grilles et du Cloud)
Mots-clés

Maui : gestionnaire de batch

  • Site web
  • Système : UNIX-like
  • Version évaluée : 3.2.6p21
  • Langue(s) de l'interface : anglais
  • Licence : Autre

    Licence dite "End User Open Source". Attention, comme indiqué par l'éditeur, la licence n'est pas open source, par exemple, usage non commercial requis !!!

    "The software license allows end-user organizations to freely use, support, modify, and distribute the code for non-commercial purposes. The license may not meet the strict definitions of open source as defined by some organizations. Read the full license for details."

Description
Fonctionnalités générales

MAUI est un ordonnanceur capable de se coupler avec différents gestionnaires de ressources, comme SGE, Torque ou Slurm.
En tant qu'ordonnanceur, le rôle de MAUI est de mettre en œuvre les politiques d'exploitation des ressources de calcul, en pilotant les gestionnaires de ressources.

De manière macroscopique, les politiques d'exploitation s'appuient sur le calcul des priorités des jobs remontés via le gestionnaire de ressources. Ainsi, à chaque étape d'ordonnancement, les ressources disponibles sont affectées selon l'ordre des priorités calculées par l'ordonnanceur.

Plus précisément, dans MAUI, le calcul des priorités prend la forme d'une somme pondérée de termes. Certains de ces termes sont fixes (comme par exemple la priorité absolue donnée à un groupe d'utilisateurs), d'autres sont variables, comme par exemple le temps passé en file d'attente.

Les politiques d'exploitation disponibles dans MAUI permettent de :

  • répartir de manière équitable la puissance de calcul entre utilisateurs ou au au contraire, favoriser certains utilisateurs, en priorité ou en historique d'utilisation ;
  • favoriser des profils d'applications (grosses applications parallèles) ;
  • prendre en compte certaines topologies de machines (sous-clusters faiblement interconnectés) ;
  • effectuer des réservations des ressources en permanence ou sur un intervalle de temps donné. Cela permet à l'ordonnanceur d'utiliser à plein ces ressources jusqu'au début de la réservation, et à partir de la fin de celle-ci, de manière totalement automatique (mode jour/nuit, semaine/week-end par exemple) ;
  • mettre en place des files préemptives sur d'autres (1 seul niveau de préemption) ;
  • affecter des priorités différentes à un job provenant d'un utilisateur donné, selon la file dans lequel il est affecté. Par exemple, certains utilisateurs peuvent n'être très prioritaires que dans certaines files, et pas dans toutes.
Autres fonctionnalités

MAUI permet également de conditionner l'attribution de ressources à un crédit suffisant. Par exemple, un groupe n'ayant acheté qu'un nombre donné d'heures de calcul ne pourra plus lancer de nouveaux travaux une fois ce nombre atteint.
Pour cela, MAUI se couple avec des gestionnaires d'allocation comme Gold ou QBank. Il reste à vérifier si ce contexte d'utilisation est très fréquent. L'auteur de la présente fiche utilise Gold uniquement pour disposer d'un accounting des jobs dans une base de données.

Interopérabilité

MAUI peut se coupler avec plusieurs gestionnaires de ressources, dont SGE, Torque et Slurm.

Contexte d'utilisation dans mon laboratoire/service

MAUI est l'ordonnanceur utilisé sur le méso-centre de l'université de Strasbourg. Nous l'utilisons pour restituer à des laboratoires de recherche ayant acheté des nœuds leur quote-part d'heures CPU. Notre configuration s'appuie sur la notion de "Qualité de service" (QoS) associée à des groupes ou listes d'utilisateurs et à des files d'attente identifiées.
MAUI nous permet d'atteindre des taux de charge instantanées de 100%.
Nous avons présenté notre utilisation de MAUI à l'occasion de l'édition 2011 des JRES : https://conf-ng.jres.org/2011/document_revision_16...

Limitations, difficultés, fonctionnalités importantes non couvertes

La documentation de MAUI est très incomplète. Une grande partie des éléments décrits dans la documentation de MAUI le sont mieux encore dans la documentation de MOAB, ordonnanceur commercial issu de MAUI. En particulier, nous avons souvent dû croiser les 2 documentations dans la mise en place de nos QoS. La documentation de MOAB détaille certains éléments non documentés du coté MAUI. La documentation comporte également des erreurs sur des mots-clés, erreurs corrigées dans la documentation de MOAB.

Toute la configuration de MAUI repose sur un fichier peu lisible. Comme certaines données (par exemple les ressources associées à des nœuds de calcul) peuvent être indiquées à la fois dans la configuration du gestionnaire de ressources et de l'ordonnanceur, il faut choisir où écrire ces éléments de configuration, ce qui n'est pas évident lorsque l'on démarre avec MAUI.
De plus, une grande partie des valeurs par défaut sont contre-intuitives.

La gestion des GPU (ou autres ressources génériques comme les licences logicielles) n'est pas fonctionnelle dans MAUI : s'il est possible au niveau du gestionnaire de ressources d'associer des GPU à un serveur de calcul, cette information n'est pas utilisée à l'ordonnancement, c'est-à-dire lors du choix des machines. Un patch posté sur la liste de diffusion permet de corriger ce défaut.

De plus, l'auteur de la fiche constate des limitations dans la "scalabilité" et la robustesse du produit au delà d'une centaine de serveurs de calcul intégrés. Pour ces raisons, une migration vers Slurm a été réalisée.

L'auteur déconseille à ce jour le choix de MAUI comme gestionnaire de batch.

Environnement du logiciel
Plates-formes

Unix, Linux

Logiciels connexes
Autres logiciels aux fonctionnalités équivalentes
  • MOAB produit commercial de la même entreprise. Voir les différences
  • PBS Pro, voir le site de PbsWorks, qui couple gestionnaire de ressources et ordonnanceur (commercial)
  • Platform HPC, sur le site de Platform (commercial)
  • LoadLeveler d'IBM, Tivoli Workload Scheduler LoadLeveler
Environnement de développement
Type de structure associée au développement

L'entreprise Cluster Resources, Inc gère le développement et propose le produit commercial MOAB

Eléments de pérennité

Attention, la licence de MAUI ne permet pas l'usage commercial. il ne s'agit donc pas d'un produit Open Source ou libre. L'éditeur vend également un produit "pro" aux fonctionnalités très proches. Il n'est donc pas impossible que l'éditeur change de politique et ferme un jour son produit MAUI dans une version ultérieure ou encore ne le fasse plus vraiment évoluer.

Références d'utilisateurs institutionnels

U.S. Department of Energy, PNNL, the Center for High Performance Computing at the University of Utah (CHPC), Ohio Supercomputing Center (OSC), University of Southern California (USC), SDSC, MHPCC, BYU, NCSA sont cités par l'éditeur

Environnement utilisateur
Liste de diffusion ou de discussion, support et forums
Documentation utilisateur
Divers (astuces, actualités, sécurité)

Ne pas hésiter à consulter la documentation de Moab, qui contient un grand nombre d'informations applicables à MAUI ...

Contributions

Contacter developers [at] supercluster [dot] org