Sommaire Introduction 1 Introduction aux clusters et aux grilles : pourquoi un ordonnanceur de tâches? 2 WIKI Au niveau cluster Au niveau Grid 5000 3 GRID 4 Appariement de ressources CPUSET Notification
Présentation globale de Grid 5000
Rôle de Gérer l ensemble des ressources (noeuds de calcul). Répondre aux demandes des utilisateurs (en temps et puissance de calcul). Appliquer une politique d exploitation sur une grappe. Essayer de refléter les particularités (topologie réseau, équipement des noeuds,...). Remonter des informations sur l état de fonctionnement. Fournir un point d entrée à la grappe pour tout le monde.
Rôle de GRID Essayer de faciliter les expérimentations grilles. Réserver des ressources sur différentes grappes via. Garder toutes les informations sur les réservations. Récupérer la liste des machines (de tous les sites) correspondante à une réservation grille. Les n ont pas connaissance d une antité supérieure, ils ont un fonctionnement indépendant. GRID n est pas un META gestionnaire de ressources
WIKI Au niveau cluster Au niveau Grid 5000 1 Introduction aux clusters et aux grilles : pourquoi un ordonnanceur de tâches? 2 WIKI Au niveau cluster Au niveau Grid 5000 3 GRID 4 Appariement de ressources CPUSET Notification
Liens sur le WIKI Introduction WIKI Au niveau cluster Au niveau Grid 5000
Vision instantanée Introduction WIKI Au niveau cluster Au niveau Grid 5000
Vision dans le temps WIKI Au niveau cluster Au niveau Grid 5000
Vision instantanée Introduction WIKI Au niveau cluster Au niveau Grid 5000
Vision dans le temps WIKI Au niveau cluster Au niveau Grid 5000
GRID 1 Introduction aux clusters et aux grilles : pourquoi un ordonnanceur de tâches? 2 WIKI Au niveau cluster Au niveau Grid 5000 3 GRID 4 Appariement de ressources CPUSET Notification
oarsub : soumettre une tâche GRID Mode interactif : option -I Lance le shell de l utilisateur sur le premier noeud alloué. (le temps maximum pour ce type de tâche est fixé à 12 heures) oarsub -I Mode passif Lance le script spécifié par l utilisateur sur le premier noeud alloué. oarsub /chemin/programme.sh oarsub renvoie un identifiant de tâche.
oarsub : lancement des tâches GRID
GRID oarsub : lancement des tâches dans la queue deploy
oarsub : les options Introduction GRID -l Renseigne le nombre de noeuds voulu, le poids et le walltime. oarsub -l nodes=4,weight=1,walltime=2:00:00 -I Par défaut : nodes=1, weight est fonction des clusters (1 noeud complet) et le walltime est de 1 heure. -q Renseigne la queue dans laquelle la tâche sera schedulée. oarsub -q deploy -I Par défaut : -q default
oarsub : les options (2) GRID -p Permet de restreindre le type de noeuds voulus en fonction des propriétés (qui sont affichées dans Monika). oarsub -p "switch = sw1 AND memory > 500" -I -r Permet de soumettre une réservation : tâche ayant une date de début fixe. (ex : réserver un cluster pour le week-end prochain) oarsub -r "2006-04-27 11:00:00" /chemin/programme.sh oarsub -r "2006-04-27 11:00:00"
oarsub : les options (3) GRID -c Permet de se connecter à une réservation et notamment d avoir le fichier $ NODEFILE. oarsub -c 42 -I
oardel : tuer une tâche GRID Supprime une tâche qui a été soumise via oarsub. oardel 42 2 cas : Soit la tâche n est pas en cours d exécution elle ne sera pas soumise. Soit la tâche est en cours d exécution le script (ou le shell), déjà lancé, sera tué violemment (kill -9) ainsi que ses fils.
GRID oarstat : informations sur les tâches Affiche les informations sur les tâches courantes. Option -f Affiche les informations détaillées sur les tâches courantes. oarstat -f Option -j Affiche les informations détaillées sur une tâche précise (même passée). oarstat -j 42
GRID oarnodes : informations sur les noeuds Affiche les informations détaillées de chacuns des noeuds (notamment leurs propriétés). gdx0216.orsay.grid5000.fr nextfinauddecision = NO weight = 0 finauddecision = NO nextstate = UnChanged pcpus = 1 hostname = gdx0216.orsay.grid5000.fr state = free properties = deploy=yes,besteffort=yes,hostname=gdx0216.orsay.grid5000.fr
GRID oargridsub : soumettre des tâches sur plusieurs grappes Transforme la requête de l utilisateur en réservations sur chaque cluster. Exemple de syntaxe : oargridsub cluster1:nodes=1:weight=1:prop="hostname = node1 ",cluster2:nodes=2:prop="switch = sw3 " Option -s Spécifie la date de début des réservations.
oargridsub : options GRID Option -q Spécifie la queue à utiliser pour les tâches. Option -p Si vous voulez lancer un script sur chaque grappe. Option -w Spécifie le walltime de chaque tâche.
GRID oargriddel : tuer les tâches d un job grille Un exemple : oargriddel 42 Cet exemple tue toutes les tâches de chacuns des clusters de la réservation grille 42.
GRID oargridstat : informations sur un job grille Affiche les informations sur une ou des tâches GRID : oargridstat 42 Permet de récupérer la liste de tous les noeuds d une tâche GRID : oargridstat -l 42 Avec l option -l, il est possible d utiliser les options : -w : si toutes les tâches ne sont pas à Running, oargridstat les attend. -c : restreind les noms des noeuds au(x) cluster(s) spécifié(s). -j : restreind les noms des noeuds au(x) job(s) spécifié(s). Note : il est possible d optenir les sorties de la commande en XML, YAML ou Dmper(Perl) (options -X, -Y, -D).
Appariement de ressources CPUSET Notification 1 Introduction aux clusters et aux grilles : pourquoi un ordonnanceur de tâches? 2 WIKI Au niveau cluster Au niveau Grid 5000 3 GRID 4 Appariement de ressources CPUSET Notification
Appariement de ressources CPUSET Notification Nouvelle approche de l ordonnanceur But : demander des ensembles de noeuds qu il n est pas possible d avoir avec la version actuelle de. Exemples Je veux 4 noeuds appartenant au même switch (ce qui est complètement différent et plus dur que de spécifier le nom du switch). Je veux tous les noeuds de la salle 105 étant sur le même switch. Je veux 4 noeuds avec 2 CPUs par noeuds et 10 noeuds avec un seul CPU. Je veux 10 noeuds ayant la même capacité mémoire et qu elle soit > 300Mo....
Technique utilisée Introduction Appariement de ressources CPUSET Notification Utilisation de la structure implicite en arbre des propriétés.
Confinement et nettoyage Appariement de ressources CPUSET Notification Présentation Code dans les noyaux Linux > 2.6 en standard (écrit par Bull). Permet de définir des groupes de CPU au sein d une machine et de leur affecter des processus confinement des processus sur une partie de la machine Avantages pour les clusters avec des machines multiprocesseurs et multicores Les processus ne s exécuteront que sur les processeurs réservés. Les processus d un utilisateur ne pollueront donc pas ceux d un autre en terme des CPUs réservés/utilisés.
Notification des utilisateurs Appariement de ressources CPUSET Notification Pour l instant, l implémentation est prévue via l option -n de la commande oarsub. Les méthodes envisgées sont : par mail par fichier exécutable spécifié par l utilisateur???
Et bien sûr... Introduction Appariement de ressources CPUSET Notification Maintenir le code. Déboguer. Robustifier... La TODO liste se trouve à l adresse : http ://oar.imag.fr/docs/todo.html
Appariement de ressources CPUSET Notification Questions?
GRID : fonctionnement