Maui
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.
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.
MAUI peut se coupler avec plusieurs gestionnaires de ressources, dont SGE, Torque et Slurm.
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...
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.