Exploiter un calculateur ou un cluster de calcul: Les gestionnaires … · 2008. 1. 11. ·...
Transcript of Exploiter un calculateur ou un cluster de calcul: Les gestionnaires … · 2008. 1. 11. ·...
Exploiter un calculateur ou un cluster de calcul:Les gestionnaires de taches et de ressources
Olivier Richard
Laboratoire d’Informatique de Grenoble (LIG)Projet INRIA Mescal
13 septembre 2007
Olivier Richard ( Laboratoire d’Informatique de Grenoble (LIG) Projet INRIA Mescal)Exploiter un calculateur ou un cluster de calcul: Les gestionnaires de taches et de ressources13 septembre 2007 1 / 32
Sommaire
1 Introduction
2 Principes
3 Fonctionnalies
4 Ordonnancement
5 Autres
6 OAR
7 Conclusion
Olivier Richard ( Laboratoire d’Informatique de Grenoble (LIG) Projet INRIA Mescal)Exploiter un calculateur ou un cluster de calcul: Les gestionnaires de taches et de ressources13 septembre 2007 2 / 32
Introduction
Evolutions des grappes (clusters)
Democratisation
Niveau d’integration
Nombre de processeurs en augmentationNombre de coeurs (bi-processeurs / bi-coeurs) x4, x8 ...L’ennemi numero 1 : la puissance electrique
Exemple : 1U → 16coeurs(600W )
Olivier Richard ( Laboratoire d’Informatique de Grenoble (LIG) Projet INRIA Mescal)Exploiter un calculateur ou un cluster de calcul: Les gestionnaires de taches et de ressources13 septembre 2007 3 / 32
Introduction
Top 500 (www.top500.org)
1) BlueGene/L, 280.6TFlop/s, 131072processeurs (juin 2007)
500) 896 processeurs, 4TFlop/s
La majorite des grappespossedent plus de 1024processeurs
Olivier Richard ( Laboratoire d’Informatique de Grenoble (LIG) Projet INRIA Mescal)Exploiter un calculateur ou un cluster de calcul: Les gestionnaires de taches et de ressources13 septembre 2007 4 / 32
Introduction
Les grappes au quotidien
Des utilisateurs et des programmes :
Utilisateurs avec une connaissance tres variable des aspects systemes/ gestion des ressources
Les taches a executer sont variees (nombre, taille, duree...)
Les ressources reste(ro)nt limitees
Roles de l’administrateur :
Aider les utilisateurs a exploiter les ressources de calcul (et destockage)
Maintenir un bon niveau d’utilisation de(s) grappe(s)
Olivier Richard ( Laboratoire d’Informatique de Grenoble (LIG) Projet INRIA Mescal)Exploiter un calculateur ou un cluster de calcul: Les gestionnaires de taches et de ressources13 septembre 2007 5 / 32
Introduction
Necessite d’un gestionnaire de taches et de ressources
Organiser/repartir manuellement les ressources entre les utilisateurs etleurs taches a traiter est realiste qu’a petite echelle, moins de 10utilisateurs et peu de taches en concurrence (agenda partage, mailing-list).
A moyenne et grande echelle on utilise un gestionnaire de ressource
gere l’attribution des ressources aux taches suivant une politiquepreetablie
fait le suivi de l’execution des taches
surveille l’etat des ressources
Attention : l’administrateur est toujours necessaire ! !
Olivier Richard ( Laboratoire d’Informatique de Grenoble (LIG) Projet INRIA Mescal)Exploiter un calculateur ou un cluster de calcul: Les gestionnaires de taches et de ressources13 septembre 2007 6 / 32
Introduction
Les Gestionnaires de taches et de ressources
Aussi appeles Batch SchedulerExistent en tres grand-nombre :
Logiciels proprietaires :
LSF, PBSpro, Moab, ...
Logiciels libres :
Torque/Maui, SGE, Condor, Slurm, OAR ...
Note : Ici calcul haute-performance/grappe, mais utilises dans d’autredomaine gestion/finance/rendu de film (enchainement de taches).
Olivier Richard ( Laboratoire d’Informatique de Grenoble (LIG) Projet INRIA Mescal)Exploiter un calculateur ou un cluster de calcul: Les gestionnaires de taches et de ressources13 septembre 2007 7 / 32
Principes
Principe general
Separation en 2 couches
Olivier Richard ( Laboratoire d’Informatique de Grenoble (LIG) Projet INRIA Mescal)Exploiter un calculateur ou un cluster de calcul: Les gestionnaires de taches et de ressources13 septembre 2007 8 / 32
Principes
Organisation generale
Un serveur central
Des programmes clients (en ligne de commandes) pour l’interactionavec les utilisateurs
Une grande latitude dans le parametrage
Submission
Scheduler
Matchingof resource
Launching and control of execution
Client
Server
Computing nodes
Users
Log, Accounting
Monitoring
Olivier Richard ( Laboratoire d’Informatique de Grenoble (LIG) Projet INRIA Mescal)Exploiter un calculateur ou un cluster de calcul: Les gestionnaires de taches et de ressources13 septembre 2007 9 / 32
Fonctionnalies
Fonctionnalites
liste non-exhaustive
Tache (soumission) Interactive (shell) / Batch
Tache sequentielle et parallele
Walltime (temps limite). (important pour l’ordonnancement)
Acces execlusif / non-exclusif aux ressources
Appariement de ressources
Scripts Epilogue/Prologue (executer avant/apres les taches)
Suivi (monitoring des taches (consommation des ressources)
Dependance entre taches (workflow)
Logging et accounting
Suspension/reprise des taches
Olivier Richard ( Laboratoire d’Informatique de Grenoble (LIG) Projet INRIA Mescal)Exploiter un calculateur ou un cluster de calcul: Les gestionnaires de taches et de ressources13 septembre 2007 10 / 32
Fonctionnalies
Cycle de general
Olivier Richard ( Laboratoire d’Informatique de Grenoble (LIG) Projet INRIA Mescal)Exploiter un calculateur ou un cluster de calcul: Les gestionnaires de taches et de ressources13 septembre 2007 11 / 32
Fonctionnalies
Diagramme d’etat d’une tache
Exemple du systeme OAR (version 1.6)
Waiting toLaunch Launching
Error
toError
Hold
Running Terminated
toAckReservation
Advance reservation
negociation
Exectution steps
Scheduling
Olivier Richard ( Laboratoire d’Informatique de Grenoble (LIG) Projet INRIA Mescal)Exploiter un calculateur ou un cluster de calcul: Les gestionnaires de taches et de ressources13 septembre 2007 12 / 32
Fonctionnalies
Examples de soumission : OAR
Soumission pour tache interactive : 1
oarsub -l nodes=4 -i
Soumission en batch (avec walltime et choix de queue) :
oarsub -q default -l walltime=2 :00,nodes=10/home/toto/script
Soumission d’une reservation :
oarsub -r ”2008-04-27 11 :00” -l nodes=12
Connection a une reservation (utilise le numero de tache) :
oarsub -C 154
1Note : Chacune des commandes de soumission renseigne un numero de tache.Olivier Richard ( Laboratoire d’Informatique de Grenoble (LIG) Projet INRIA Mescal)Exploiter un calculateur ou un cluster de calcul: Les gestionnaires de taches et de ressources13 septembre 2007 13 / 32
Ordonnancement
Ordonnancement
L’ordonnancement est l’etape 2 ou le systeme choisi les ressources aattribuees aux taches et les dates de lancement.
L’ordonnancement est defini suivant une politique qui se traduit parl’utilisation d’algorithmes d’ordonnancement et un ensemble.
De plus de nombreux criteres et parametres sont utilises pour guider etcadrer les allocations et les priorites.
2Note : l’ordonnancement est recalcule a chaque changement d’etat (majeur) d’unetache.
Olivier Richard ( Laboratoire d’Informatique de Grenoble (LIG) Projet INRIA Mescal)Exploiter un calculateur ou un cluster de calcul: Les gestionnaires de taches et de ressources13 septembre 2007 14 / 32
Ordonnancement
Organisation de l’ordonnancement
Gestion des taches par file (queues)
chaque file a une priorite
chaque file a sa propre politique d’ordonnancement
Scheduler
Scheduler
Scheduler
Scheduler
Meta−scheduler
Priority 10
Priority 1
Priority 2
Priority 7
Best effort
Admission
Olivier Richard ( Laboratoire d’Informatique de Grenoble (LIG) Projet INRIA Mescal)Exploiter un calculateur ou un cluster de calcul: Les gestionnaires de taches et de ressources13 septembre 2007 15 / 32
Ordonnancement
Politiques d’ordonnancement
Equilibrage de charge
FIFO (First-In First-Out)
First-Fit (Backfilling)
FairSharing
SLA (Service Level Agrement)(Qualite de Sercice)
Olivier Richard ( Laboratoire d’Informatique de Grenoble (LIG) Projet INRIA Mescal)Exploiter un calculateur ou un cluster de calcul: Les gestionnaires de taches et de ressources13 septembre 2007 16 / 32
Ordonnancement
FIFO : Fisrt-In First-Out
Olivier Richard ( Laboratoire d’Informatique de Grenoble (LIG) Projet INRIA Mescal)Exploiter un calculateur ou un cluster de calcul: Les gestionnaires de taches et de ressources13 septembre 2007 17 / 32
Ordonnancement
First-Fit (Backfilling)
Remplissage des trous si l’ordre des taches precedentes ne sont pasmodifiees
Olivier Richard ( Laboratoire d’Informatique de Grenoble (LIG) Projet INRIA Mescal)Exploiter un calculateur ou un cluster de calcul: Les gestionnaires de taches et de ressources13 septembre 2007 18 / 32
Ordonnancement
FairSharing (partage equitable)
L’ordre est calcule suivant ce qui a ete consomme (on favorise lesutilisateurs peu gourmands). Definition d’une fenetre et parametres deponderation.
Olivier Richard ( Laboratoire d’Informatique de Grenoble (LIG) Projet INRIA Mescal)Exploiter un calculateur ou un cluster de calcul: Les gestionnaires de taches et de ressources13 septembre 2007 19 / 32
Ordonnancement
Reservation (advance reservation)
Tres pratique pour demo, planification, tache de type grille...Mais
Contraignant pour l’ordonnancement (attention au niveau d’utilisation)Les ressources sont rarement utilisee sur toute la duree (gaspillage)
Olivier Richard ( Laboratoire d’Informatique de Grenoble (LIG) Projet INRIA Mescal)Exploiter un calculateur ou un cluster de calcul: Les gestionnaires de taches et de ressources13 septembre 2007 20 / 32
Autres
Divers cas d’exploitation
Applications Multiparametriques
Utilisation des ressources non-utilisees
Economie d’Energie
Controle du demarrage/arret des noeuds
Deploiement/Virtualisation
Des ressources plus simples a exploiter pour les utilisateurs
Ressources heterogenes
memoirereseauxlicence
Tolerance aux pannes
Haute-disponibilite
Multi-grappes
Olivier Richard ( Laboratoire d’Informatique de Grenoble (LIG) Projet INRIA Mescal)Exploiter un calculateur ou un cluster de calcul: Les gestionnaires de taches et de ressources13 septembre 2007 21 / 32
Autres
Haute-disponibilite
Assurer la continuite de service est important pour les grandesinfrastructurePannes d’un noeud de calcul :
Arret en erreur de la tache (nettoyage des autres noeuds)
re-soumission automatique (si option positionnee)reprise depuis un point de reprise si disponible (checkpointing)
Pannes du seveur :
1 maintient d’un second serveur (synchronisation d’etat), bascule auto
2 election d’un nouveau serveur parmi les noeuds de calcul (LSF)
Note : Suppose la HA sur les autres services critiques commel’authentification (ex Ldap), le systeme de fichier distribue (ex NFS), denommage (ex DNS)...
Olivier Richard ( Laboratoire d’Informatique de Grenoble (LIG) Projet INRIA Mescal)Exploiter un calculateur ou un cluster de calcul: Les gestionnaires de taches et de ressources13 septembre 2007 22 / 32
Autres
Multi-grappe
Le cas des multi-grappes est tres courant :
1 achat d’une nouvelle grappe et conservation de l’ancienne
2 achat par tranche
Deux approches distinctes :1 un gestionnaire par grappe
file de routage vers les autres gestionnaire de taches/ressources
2 un seul gestionnaire pour l’ensemble des grappes 3
chaque grappe est vue comme une partition homogene dans l’ensembledes ressourcessuppose (pousse pour) que les services soient commun a chaque grappe(ex : systeme de fichier, authentification,...)simplifie enormement l’administration
3C’est le cas pour Grid’5000, 3 a 5 grappes par siteOlivier Richard ( Laboratoire d’Informatique de Grenoble (LIG) Projet INRIA Mescal)Exploiter un calculateur ou un cluster de calcul: Les gestionnaires de taches et de ressources13 septembre 2007 23 / 32
Autres
Cas des longues taches
1 Dedier des noeuds
2 Suspendre en journee / relancer la nuit ou le week-end3 Checkpoint (point de reprise)
applicatif (la solution la plus sure)systeme (contraintes, limitations)
Olivier Richard ( Laboratoire d’Informatique de Grenoble (LIG) Projet INRIA Mescal)Exploiter un calculateur ou un cluster de calcul: Les gestionnaires de taches et de ressources13 septembre 2007 24 / 32
OAR
OAR
Historique :
Debut 2003 : OpenPBS(Torque) est instable et difficile a faire evoluerPBSpro se comporte mieux (passage a l’echelle imparfait)
Objectifs :
Un Batch Scheduler passant a l’echelle, facile a modidiferUtilisable pour la productionUtilisable pour des travaux de recherches (ordonnancement etsysteme )
Olivier Richard ( Laboratoire d’Informatique de Grenoble (LIG) Projet INRIA Mescal)Exploiter un calculateur ou un cluster de calcul: Les gestionnaires de taches et de ressources13 septembre 2007 25 / 32
OAR
OAR : principes de conception
1 - Utilisation de composants logiciels de haut niveau
base de donnee relationnelle (MySql/PostgreSQL) pour stocker :
information sur les noeuds (ressources)information sur les tachesrelations entre les noeuds et les tachesl’etat interne du systeme
language de script (Perl) pour le moteur d’execution
bien adapte pour les parties systemescycles de developpement court
langage de haut niveau (Perl, Ruby, Caml) utilises pourl’ordonnanceur
structures de haut niveau (listes, tables associatives, tris...)developpements simplifies
Olivier Richard ( Laboratoire d’Informatique de Grenoble (LIG) Projet INRIA Mescal)Exploiter un calculateur ou un cluster de calcul: Les gestionnaires de taches et de ressources13 septembre 2007 26 / 32
OAR
OAR : organisation general
La base de donnee a un role central
l’etat interne simplement accessiblele moteur est compose de petit modules Perlchaque module (= un script) peut-etre facilement remplace
Submission
Scheduler
Matchingof resource
Launching and control of execution
Client
Server Computing nodes
Users
Log, AccountingMonitoring
SQL databasePerl
Olivier Richard ( Laboratoire d’Informatique de Grenoble (LIG) Projet INRIA Mescal)Exploiter un calculateur ou un cluster de calcul: Les gestionnaires de taches et de ressources13 septembre 2007 27 / 32
OAR
OAR : hierarchie de resources
Bien adaptee aux infrastructures actuelles : multi-grappe, architectureNUMA, processeurs multi-coeurs...
Olivier Richard ( Laboratoire d’Informatique de Grenoble (LIG) Projet INRIA Mescal)Exploiter un calculateur ou un cluster de calcul: Les gestionnaires de taches et de ressources13 septembre 2007 28 / 32
OAR
OAR : Diagramme de Gantt
Olivier Richard ( Laboratoire d’Informatique de Grenoble (LIG) Projet INRIA Mescal)Exploiter un calculateur ou un cluster de calcul: Les gestionnaires de taches et de ressources13 septembre 2007 29 / 32
Conclusion
Conclusion
Ce qu’il faut retenir :
Les grappes deviennent ominipresentesLeur taille augementeLes gestionnaires de taches et de ressources sont necessairesFixer une politique de partage et d’accesFormer/informer les utilisateurs (documentation, chartre,tutoriaux...)Des gestionnaires de ressources pour tout les gouts (logiciels libres etproprietaires)Le reglage fin reste complexe (les infrastructures sont complexes, etles demandes aussi). Beacoup de compromis.
Olivier Richard ( Laboratoire d’Informatique de Grenoble (LIG) Projet INRIA Mescal)Exploiter un calculateur ou un cluster de calcul: Les gestionnaires de taches et de ressources13 septembre 2007 30 / 32
Conclusion
Des questions ?
Olivier Richard ( Laboratoire d’Informatique de Grenoble (LIG) Projet INRIA Mescal)Exploiter un calculateur ou un cluster de calcul: Les gestionnaires de taches et de ressources13 septembre 2007 31 / 32
Conclusion
Liens
OARhttp ://oar.imag.fr
Condorhttp ://www.cs.wisc.edu/condor/
LSFhttp ://www.platform.com
TORQUE/MAUIhttp ://www.clusterresources.com/
Olivier Richard ( Laboratoire d’Informatique de Grenoble (LIG) Projet INRIA Mescal)Exploiter un calculateur ou un cluster de calcul: Les gestionnaires de taches et de ressources13 septembre 2007 32 / 32