Changes between Version 20 and Version 21 of Tutorial/JobSubm


Ignore:
Timestamp:
Oct 9, 2007, 10:46:14 AM (18 years ago)
Author:
jouvin
Comment:

Rewrite requirements/rank explanation

Legend:

Unmodified
Added
Removed
Modified
  • Tutorial/JobSubm

    v20 v21  
    3434
    3535=== Pour comprendre les "Requirements" and "Rank" ===
    36 Il y a deux clés très importantes dans les fichiers JDL :"Requirements" et "Rank".  Les valeurs pour les clés Requirementset Rank sont des expressions.  Votre job va tourner uniquement sur uneressource qui a une valeur "true" pour l'expression Requirements. S'il y a plusieurs ressources qui ont une valeur "true", le système utilise l'expression Rank pour choisir la meilleure ressource. La ressource qui a la plus grande valeur est choisie. S'il y a plusieurs ressources avec la même valeur Rank, la ressource utilisée est choisie aléatoirement entre ces ressources de même valeur Rank. On utilise la VO "dteam" ici pour voir plus de ressources. La VO vo.lal.in2p3.fr est autorisée uniquement sur les deux sites de la GRIF. Réinitialisez votre proxy avecla commande '''voms-proxy-init''' mais ''n'utilisez pas'' l'option "--voms".
     36
     37Il y a deux mots-clés très importants dans les fichiers JDL : `Requirements` et `Rank .  Leurs valeurs sont des expressions.  Ces 2 mot-clés servent à selectionner le CE auxquel sera envoyé le job.
     38 * `Requirements` : ce mot-clé permet de sélectionner les CE qui ont les ressources requises pour exécuter le job. L'expression des ressources peut porter sur n'importe quelle information publié dans le système d'information (BDII). En particulier, le nombre de CPUs libres, le temps d'exécution minimum, la quantité de mémoire... La valeur est une condition logique utilisant une syntaxe assez habituelle (proche de celle du langage C). On peut utiliser des ''regular expressions'' avec les chaines de caractères, en utilisant la fonction `regexp("pattern",attribut)`. Par exemple, pour sélectionner un CE appartenant au domaine `lal.in2p3.fr`, on pourra utiliser l'expression :
     39{{{
     40Requirements = regexp(".*\.lal\.in2p3\.fr:.*", other.GlueCEUniqueID);
     41}}}
     42 * `Rank` : cet mot-clé définit l'ordre de classement des CEs sélectionnés par la clause `Requirements `. Le CE sélectionné pour exécuter le job est celui ayant le meilleur classement suivant le critère défini par `Rank`. En cas d'ex-aequo, le CE est choisi aléatoirement parmi eux. Par exemple pour trier sur le nombre de CPUs libres dans le CE :
     43{{{
     44Rank = other.GlueCEStateFreeCPUs;
     45}}}
     46
     47Le résultat de l'évaluation de `Requirements` et `Rank` est différent suivant la VO utilisée car toutes les sites n'acceptent pas les mêmes VOs. On peut connaitre le résultat de l'évaluation de `Requirements` et `Rank` avant de soumettre le job en utilisant la commande `edg-job-list-match` et en indiquant le fichier JDL en paramètre. Cette commande retourne la liste des CEs sélectionnés par Requirements, classés dans l'ordre indiqué par `Rank`. On peut exécuter cette commande pour une VO pour laquelle on a pas de proxy en ajoutant l'option `--vo voname` (par exemple : `--vo dteam`).
     48
     49__Exercices__ :
    3750 1. Plusieurs valeurs peuvent être utilisées pour définir  les expressions Requirements et Rank.  Par exemple, ajoutez  l'expression ci-dessous dans le fichier  ''HelloWorld.jdl'' pour  choisir tous les sites qui permettent à un job d'utiliser plus d'une  heure de temps CPU.   
    3851  * '''{{{Requirements = (other.GlueCEPolicyMaxCPUTime > 60); }}}''' Pour voir la liste des ressources acceptables utilisez la commande '''edg-job-list-match''' et l'option "-vo dteam".  Combien de ressources autorisent les jobs qui utilisentplus d'une heure de temps CPU?  Plus de deux heures?  Plus de 10000minutes?
     
    4558
    4659=== L'environnent d'exécution sur le Worker Node ===
     60
    4761Chaque utilisateur de la grille est mappé dans un compte local pourchaque site. Maintenant l'accès aux ressources locales est contrôlé par les droits de ce compte. Réinitialisez votre proxy avec l'option "--voms  vo.lal.in2p3.fr".
    4862 1. Visualisez le contenu du fichier JDL ''whoami.jdl.'' Lancez le job et récupérez l'output. Visualisez le fichier ''std.out''. Sur quel compte êtes-vous mappé?