Outils pour utilisateurs

Outils du site


labs:grappe

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
labs:grappe [2011-10-25 19:42] – [cluster --os=fc9 --mem=2000 --duree=24h --execute 'ma_commande' -- 'params ...'] dervallabs:grappe [2018-04-26 20:46] (Version actuelle) – modification externe 127.0.0.1
Ligne 11: Ligne 11:
 ====== Principe de fonctionnement ====== ====== Principe de fonctionnement ======
  
-L'idée de base est de réserver une machine +L'idée de base est de réserver une machine pour y exécuter un certain nombre de tâches et de la libérer lorsque les tâches sont terminées. 
-pour y exécuter un certain nombre de tâches +C'est la raison d'être des actions **reserve** et **libere** de la commande **cluster**.
-et de la libérer lorsque les tâches sont terminées. +
-C'est la raison d'être des actions **reserve** et +
-**libere** de la commande **cluster**.+
  
-A cela s'ajoutent les actions **liste** et **charge**+A cela s'ajoutent les actions **liste** et **charge** qui montrent respectivement les réservations et la charge des machines.
  
-qui montrent respectivement les réservations +Finalement l'action **execute** combine à la fois la réservation, la soumission d'une tâche et la libération de la réservation.
-et la charge des machines.+
  
-Finalement l'action **execute** combine à la fois la réservation, +L'action **libere** peut être utilisée pour libérer une réservation orpheline. 
-la soumission d'une tâche et la libération de la réservation. +Il faut aussi noter que l'action **libere** n'agit que sur la réservation de la machine et n'affecte en rien les tâches qui s'y exécutent.
- +
-L'action **libere** peut être utilisée +
-pour libérer une réservation orpheline. +
-Il faut aussi noter que l'action **libere** +
-n'agit que sur la réservation de la machine +
-et n'affecte en rien les tâches qui s'y exécutent.+
  
 ====== Syntaxe ====== ====== Syntaxe ======
  
-La syntaxe de la commande **cluster** +La syntaxe de la commande **cluster** suit à peu près le schéma suivant : un mot clé précédé de "--" 
-suit à peu près le schéma suivant: +et possiblement suivi d'une ou plusieurs valeurs séparées par des ","
-un mot clé précédé de "--" +Les mots clés peuvent être séparés des valeurs, soit par un espace, soit par un "=".
-et possiblement suivi d'une ou plusieurs valeurs +
-séparées par des ","+
-Les mots clés peuvent être séparés des valeurs, +
-soit par un espace, soit par un "=".+
  
-Les mots clés peuvent être abrégés +Les mots clés peuvent être abrégés tant qu'il n'y a pas d'ambiguité et l'ordre n'importe pas. 
-tant qu'il n'y a pas d'ambiguité +En cas d'ambiguité, les valeurs possibles sont énumérées dans le message d'erreur.
-et l'ordre n'importe pas. +
-En cas d'ambiguité, les valeurs possibles sont énumérées +
-dans le message d'erreur.+
  
-Lorsqu'un mot clé est répété, +Lorsqu'un mot clé est répété, seule la dernière instance est utilisée. 
-seule la dernière instance est utilisée. +Un des mots clés présents et un seul doit préciser l'action voulue.
-Un des mots clés présents et un seul doit préciser +
-l'action voulue.+
  
-Un mot clé absent (**--** tout seul) +Un mot clé absent (**--** tout seul) permet de stopper l'interprétation des mots clés 
-permet de stopper l'interprétation des mots clés +et de spécifier à sa suite les paramètres de la commande à exécuter. 
-et de spécifier à sa suite +On peut aussi spécifier la commande et ses paramètres entre "".
-les paramètres de la commande à exécuter. +
-On peut aussi spécifier la commande et ses paramètres +
-entre "".+
  
-Voici quelques exemples de la syntaxe:+Voici quelques exemples de la syntaxe :
  
 <code> <code>
Ligne 102: Ligne 80:
 Le détail des valeurs est expliqué dans la section **Options**. Le détail des valeurs est expliqué dans la section **Options**.
  
-La notation **['criteres']** +La notation **['criteres']** qui a été choisie pour alléger la présentation, 
- +représente un certain nombre d'options ('os', 'memoire', etc.)
-qui a été choisie pour alléger la présentation, +
-représente un certain nombre d'options +
-('os', 'memoire', etc.)+
 précisant surtout le type de machine voulue. précisant surtout le type de machine voulue.
  
Ligne 116: Ligne 91:
  
 Donne la charge et la réservation de chaque machine. Donne la charge et la réservation de chaque machine.
-Les options facultatives permettent de restreindre +Les options facultatives permettent de restreindre l'affichage aux machines se qualifiant. 
-l'affichage aux machines se qualifiant. +Il faut aussi noter que seules les machines auxquelles l'usager a accès seront montrées.
-Il faut aussi noter que seules les machines auxquelles +
-l'usager a accès seront montrées.+
  
-La sortie comprend: le nom de la machine, +La sortie comprend : le nom de la machine, 
-l'usager ayant réservé et les trois valeurs numériques +l'usager ayant réservé et les trois valeurs numériques (//load average//) données par la commande 'uptime'.
-(load average) données par la commande 'uptime'.+
  
 ===== execute 'commande' ['criteres'] [--proc='num'] [-- 'args ...'] ===== ===== execute 'commande' ['criteres'] [--proc='num'] [-- 'args ...'] =====
  
-L'action **execute** est de loin la plus +L'action **execute** est de loin la plus élaborée de la commande **cluster**.
-élaborée de la commande **cluster**.+
  
-Une réservation est d'abord tentée avec les critères +Une réservation est d'abord tentée avec les critères fournis ('os', 'memoire', etc.) ou leurs valeurs par défaut.
-fournis ('os', 'memoire', etc.) ou leurs valeurs par défaut.+
 Si la réservation échoue, un message d'erreur est retourné. Si la réservation échoue, un message d'erreur est retourné.
-Cette action réserve automatiquement les processeurs +Cette action réserve automatiquement les processeurs et les libère lorsque la commande se termine.
-et les libère lorsque la commande se termine.+
  
-En cas de succès, la commande 'commande' est exécutée +En cas de succès, la commande 'commande' est exécutée comme suit sur la machine réservée :
-comme suit sur la machine réservée:+
  
 <code> <code>
Ligne 146: Ligne 114:
 'dir' est le répertoire courant de la commande **cluster** ou celui mentionné via l'option **cwd**. 'dir' est le répertoire courant de la commande **cluster** ou celui mentionné via l'option **cwd**.
  
-[format] indique une chaine facultative qui sera ajoutée +[format] indique une chaine facultative qui sera ajoutée avant les paramètres (args) de la commande
-avant les paramètres (args) de la commande+
 si l'option **format** a été mentionnée. si l'option **format** a été mentionnée.
  
Ligne 153: Ligne 120:
  
 La commande n'est pas limitée à un seul programme. La commande n'est pas limitée à un seul programme.
-En fait toute expression acceptée par le shell de l'usager +En fait toute expression acceptée par le //shell// de l'usager peut être utilisée. 
-peut être utilisée. Il faut cependant faire attention aux +Il faut cependant faire attention aux caractères d'échappement (' " et \ ) reconnus par le //shell//.
-caractères d'échappement (' " et \ ) reconnus par le shell.+
  
 ===== help ===== ===== help =====
Ligne 185: Ligne 151:
 Réserve 'num' processeurs en respectant les critères mentionnés. Réserve 'num' processeurs en respectant les critères mentionnés.
 Par défaut, un seul processeur est réservé. Par défaut, un seul processeur est réservé.
-Si la réservation est réussie, la sortie contiendra les valeurs: +Si la réservation est réussie, la sortie contiendra les valeurs : 'id' 'num' 'machine ...', précisant le numéro de la réservation, le nombre de processeurs et les machines réservées.
-'id' 'num' 'machine ...', précisant le numéro de la réservation, +
-le nombre de processeurs et les machines réservées.+
  
 Cette action n'est plus directement accessible. Cette action n'est plus directement accessible.
Ligne 227: Ligne 191:
 ===== format='chaine' ===== ===== format='chaine' =====
  
-'chaine' spécifie la chaine à passer +'chaine' spécifie la chaine à passer comme premier argument à la commande à exécuter. 
-comme premier argument à la commande à exécuter. +Dans cette chaine, les séquences suivantes seront remplacées par les valeurs correspondantes :
-Dans cette chaine, les séquences suivantes seront remplacées +
-par les valeurs correspondantes:+
  
-%n par le nombre de processus +  %n par le nombre de processus 
- +  %m par le nom de la machine 
-%m par le nom de la machine +  %M par les noms des machines
- +
-%M par les noms des machines+
  
  
Ligne 270: Ligne 230:
  
 Cette option permet de spécifier la version du système d'exploitation Cette option permet de spécifier la version du système d'exploitation
-des machines à réserver en précisant la distribution voulue:+des machines à réserver en précisant la distribution voulue :
  
 <code> <code>
-fc7  pour des noeuds avec Fedora core 7 
 fc9  pour des noeuds avec Fedora core 9 fc9  pour des noeuds avec Fedora core 9
 fc14 pour des noeuds avec Fedora 14 fc14 pour des noeuds avec Fedora 14
-all  pour des noeuds avec fc7 ou fc9+all  pour des noeuds avec fc9 ou fc14
 </code> </code>
  
-La valeur par défaut est présentement 'fc7' pour l'action **execute** et 'fc7,fc9,fc14' pour les actions **charge** et **liste**.+La valeur par défaut est présentement 'fc14' pour l'action **execute** et 'fc9,fc14' pour les actions **charge** et **liste**.
  
 ===== proc='num' ===== ===== proc='num' =====
Ligne 343: Ligne 302:
 </code> </code>
  
-===== cd /tmp ===== + 
-===== cluster --format "-FMT: n=%n m=%m-" --exec "uname -nrp; pwd; echo" -- "etc." =====+===== cd /tmp cluster --format "-FMT: n=%n m=%m-" --exec "uname -nrp; pwd; echo" -- "etc." =====
  
 <code> <code>
Ligne 374: Ligne 333:
 ====== Auteurs ====== ====== Auteurs ======
  
-<pre> +2001-2006 Jean-Louis Martineau.\\ 
-2001-2006 Jean-Louis Martineau. +2006-2011 Claude Goutier.\\
-2006-2011 Claude Goutier. +
-</pre> +
- +
-===== Exemples ===== +
- +
-Voici quelques exemples pour illustrer les principales options du programme **''cluster''**; pour la liste complète, tapez la commande suivante : <code>cluster --aide</code> +
- +
-  * Pour consulter le tableau des réservations : <code>cluster --liste</code> +
-  * Pour réserver 3 processeurs et y exécuter la commande **''hostname''** sur chacun : <code>cluster --proc=3 --lancer=touscpus --exec hostname</code> +
- +
-===== Réservation ===== +
- +
-L'utilisation des processeurs d'une grappe est soumise à une durée par défaut de 8 heures. Une durée supérieure peut être indiquée par le paramètre **''%%--duree temps%%''** où le temps est indiqué par un nombre suivi de **''s''** (seconde), **''m''** (minute) ou **''h''** (heure). Passé ce temps, un usager pourrait arrêter votre tâche avec le paramètre **''%%--force%%''**. +
- +
-Une réservation peut être prolongée par la commande <code>cluster --prolonge</code> ou annulée par la commande <code>cluster --libere</code> +
- +
-===== Myrinet ===== +
- +
-Voici une petite explication de l'utilisation de Myrinet sur ''clac'' (surtout avec ''mpi'') : +
- +
-Comment utiliser MPI sur le cluster? Pour utiliser ''mpich'' avec Myrinet : +
- +
-  inclure mpich-myrinet +
-  mpicc .....   # compilation du programme +
-  cluster --proc=? --myrinet --mpich --lancer local --execute mpirun -- -machinefile machinefile -np ? PROGRAM +
- +
-Pour utiliser ''mpich'' sans Myrinet : +
- +
-  inclure mpich +
-  mpicc .....   # compilation du programme +
-  cluster --proc=? --mpich --lancer local --execute mpirun -- -machinefile machinefile -np ? PROGRAM +
- +
-Pour compiler un programme ''mpi'', c'est toujours via **''mpicc''**.+
  
-===== Grappes du DIRO ===== 
  
-Voici la liste des grappes (clusters) du Département d'informatique et de recherche opérationnelle . 
  
-^ Laboratoire ^ Grappe ^ Caractéristiques des noeuds ^ Responsable ^ 
-| DIRO | ''clac''\\  ''clop'' | 2 CPU FC4 4G\\ 1 ou 2 CPU FC4  3.7G| Comité des labos \\ (Douglas Eck, prés.) | 
-| LBIT | ''acgt'' | 2 CPU FC4   8G| Miklos Csuros | 
-| LISA | ''clyb''\\ ''lisa''\\ ''mona'' | 1 CPU FC4  1G\\ 1 CPU FC4  1G\\ 2 CPU FC4   4G| Yoshua Bengio | 
-| OPTIM | ''kiwi'' | 2 CPU FC4  4G| Pierre L'Écuyer | 
-| RALI | ''cite''\\ ''giga'' | 2 CPU FC4  3.7G\\ 2 CPU FC4  8G| Jian-Yun Nie\\ Philippe Langlais | 
  
labs/grappe.1319571759.txt.gz · Dernière modification : 2018-04-26 20:46 (modification externe)