Changes between Version 50 and Version 51 of Tutorial/JobSubm
- Timestamp:
- Jun 6, 2008, 2:45:33 PM (17 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
Tutorial/JobSubm
v50 v51 188 188 189 189 En gLite 3.1 le WMS (Workload Management System) remplace le RB. Il comprend deux services : 190 le WMS lui-même et le Logging and Bookkeeping service (LB). Ces deux services peuvent 191 être sur des machines séparés.C'est pourquoi votre jobId contient le nom du LB quit être différent de celui du WMS utilisé.190 le WMS lui-même et le Logging and Bookkeeping service (LB). Ces deux services peuvent être sur des machines séparées. 191 C'est pourquoi votre jobId contient le nom du LB quit être différent de celui du WMS utilisé. 192 192 193 193 Le WMS permet une meilleure gestion des jobs : meilleure temps de réponse, meilleure tenue de la charge. … … 213 213 {{{ 214 214 diarra@ipngrid01 ~/work]$ glite-wms-job-list-match -a HelloWorld.jdl 215 215 216 Connecting to the service https://grid09.lal.in2p3.fr:7443/glite_wms_wmproxy_server 216 217 ========================================================================== … … 226 227 {{{ 227 228 diarra@ipngrid01 ~/work]$ glite-wms-job-submit -o jobId -a HelloWorld.jdl 229 228 230 Connecting to the service https://grid09.lal.in2p3.fr:7443/glite_wms_wmproxy_server 229 231 ====================== glite-wms-job-submit Success ====================== … … 247 249 === La délégation explicite de proxy au WMSProxy === 248 250 249 Nous avons déjà utilisé la délégation automatique (simple et pratique) plus haut avec l'option -a des commandes glite-wms-job-submit et glite-wms-job-list-match. Mais l'inconvenient de cette méthode est que la délégation est r epétée pour chaque job. Avec la délégation explicite, la délégation est faite une seule fois, ce qui est plus performant car les251 Nous avons déjà utilisé la délégation automatique (simple et pratique) plus haut avec l'option -a des commandes glite-wms-job-submit et glite-wms-job-list-match. Mais l'inconvenient de cette méthode est que la délégation est répétée pour chaque job. Avec la délégation explicite, la délégation est faite une seule fois, ce qui est plus performant car les 250 252 jobs suivants seront soumis plus rapidement. 251 253 … … 295 297 }}} 296 298 297 Note: A cause d'un bug, si le UI est configuré avec une liste de WMS, glite-wms-job-delegate-proxy ne d elegera le proxy qu'a un seul de la liste. Ceci est une limitation de la delegation explicite.299 Note: A cause d'un bug, si le UI est configuré avec une liste de WMS, glite-wms-job-delegate-proxy ne déléguera le proxy qu'a un seul de la liste. Ceci est une limitation de la délégation explicite. 298 300 299 301 … … 321 323 {{{ 322 324 [diarra@ipngrid01 ~/work]$ glite-wms-job-status -i jobId 323 (ou glite-wms-job-status https://grid02.lal.in2p3.fr:9000/Rw0lve7pSId8-DBP2jiatw) 325 ou 326 [diarra@ipngrid01 ~/work]$ glite-wms-job-status https://grid02.lal.in2p3.fr:9000/Rw0lve7pSId8-DBP2jiatw 324 327 325 328 ************************************************************* … … 334 337 }}} 335 338 336 Le job est terminé, on peut récupérer les résultats (OutputSandbox)avec glite-wms-job-output :339 Le status 'Done (Success) indique que le job est terminé, on peut récupérer les résultats (OutputSandbox)avec glite-wms-job-output : 337 340 338 341 {{{ 339 342 [diarra@ipngrid01 ~/work]$ glite-wms-job-output -i jobId 340 (ou glite-wms-job-output https://grid02.lal.in2p3.fr:9000/Rw0lve7pSId8-DBP2jiatw) 343 ou 344 [diarra@ipngrid01 ~/work]$glite-wms-job-output https://grid02.lal.in2p3.fr:9000/Rw0lve7pSId8-DBP2jiatw 341 345 342 346 Connecting to the service https://grid09.lal.in2p3.fr:7443/glite_wms_wmproxy_server … … 357 361 === Tuer un job === 358 362 359 [diarra@ipngrid01 ~/work]$ glite-wms-job-cancel <jobID> 360 ou 361 glite-wms-job-cancel -i <jobIdFile> 363 Faire glite-wms-job-cancel <jobID> ou glite-wms-job-cancel -i <jobIdFile> 362 364 363 365 Exemple: … … 367 369 368 370 === Obtenir des détails (logging information) sur un job === 371 369 372 Pour avoir des détails sur la vie d'un job, utiliser la commande glite-wms-job-logging-info <jobID> . Pour un mode plus verbeux, utiliser les option -v 1 ou -v 2 ou -v 3 370 373 … … 375 378 === Collection de jobs (bulk submission) === 376 379 377 Vous pouvez utiliser le bulk submission pour soumettre une collections de jobs indépendants. Pour cela, il faut mettre tous les .jdl dans un même directory et utiliser l'option --collection avec glite-wms-job-submit . Ce mécanisme est378 très performant et préférable à la soumission individuel d'un grand nombre de jobs.380 Vous pouvez utiliser le bulk submission pour soumettre une collections de jobs indépendants. Pour cela, il faut mettre tous les .jdl dans un même directory et utiliser l'option --collection avec glite-wms-job-submit en donnant comme argument le nom du 381 directory contenant les .jdl. Ce mécanisme est très performant et préférable à la soumission individuel d'un grand nombre de jobs. 379 382 380 383 Ici nous avons par exemple trois fichiers .jdl dans le directory jdl : … … 387 390 }}} 388 391 389 Pour soumettre la collection des 3 jobs , faire :392 Pour soumettre la collection des 3 jobs dans le sous-directory ./jdl, faire : 390 393 391 394 {{{ … … 456 459 457 460 {{{ 458 [diarra@ipngrid01 ~/work]$ ls /home/diarra/JobOutput/diarra_6zqZkrgnQ2vYkPaeNabbiQ459 ids_nodes.map Node_job1_jdl Node_job2_jdl Node_job3_jdl 461 [diarra@ipngrid01 ~/work]$ ls -F /home/diarra/JobOutput/diarra_6zqZkrgnQ2vYkPaeNabbiQ 462 Node_job1_jdl/ Node_job2_jdl/ Node_job3_jdl/ ids_nodes.map 460 463 461 464 [diarra@ipngrid01 ~/work]$ ls /home/diarra/JobOutput/diarra_6zqZkrgnQ2vYkPaeNabbiQ/Node_job1_jdl/ … … 484 487 fonctionnalité car elle est augmente la charge du WMS. 485 488 486 Dans l'exemple ci-dessous nous allons lancer le job perusal.jdl et récupérer des fichiers pendant que le job tourne. Il y aun upload toutes les 2 minutes (120 secondes) du WN vers le WMS.489 Dans l'exemple ci-dessous nous allons lancer le job perusal.jdl et récupérer des fichiers pendant que le job tourne. Nous avons choisi ici un upload toutes les 2 minutes (120 secondes) du WN vers le WMS. 487 490 488 491 {{{ … … 493 496 StdError = "std.err"; 494 497 InputSandbox = {"perusal.sh"}; 495 OutputSandbox = {"std.out", "std.err", "perusal.log"};498 OutputSandbox = {"std.out", "std.err", "perusal.log"}; 496 499 PerusalFileEnable = true; 497 500 PerusalTimeInterval = 120; … … 506 509 {{{ 507 510 [diarra@ipngrid01 ~/work]$ glite-wms-job-submit -o pjid -a perusal.jdl 511 508 512 https://grid02.lal.in2p3.fr:9000/1nX3gfh6Ba9NLtxy5FKe2g 509 513 The job identifier has been saved in the following file: … … 515 519 {{{ 516 520 [diarra@ipngrid01 ~/work]$ glite-wms-job-perusal --set -f std.err -f std.out -f perusal.log -i pjid 521 517 522 Connecting to the service https://grid09.lal.in2p3.fr:7443/glite_wms_wmproxy_server 518 523 ====================== glite-wms-job-perusal Success ====================== … … 522 527 }}} 523 528 524 Onrécupère par exemple le fichier perusal.log :529 Pour récupère par exemple le fichier perusal.log : 525 530 526 531 {{{ … … 538 543 539 544 Ici, le fichier se trouvera dans /home/diarra/JobOutput/diarra_1nX3gfh6Ba9NLtxy5FKe2g . Le nom du fichier contient en plus 540 la fenêtre de temps couverte. A chaque récupération, un nouveau fichier est créé. Après plusieurs inspections des fichiers , on a par exemple:545 la fenêtre de temps couverte. A chaque récupération, un nouveau fichier est créé. Après plusieurs inspections des fichiers de notre exemple, on a : 541 546 542 547 … … 554 559 Si l'option --nodisplay n'est pas utilisé, le fichier sera en plus affiché à l'écran (pas toujours 555 560 commode). Par ailleurs à chaque récupération, seule le delta depuis le dernier upload est transmis. 556 Pour récupérer à chaque fois l'intégralité du fichier, utiliser l'option --all de glite-wms-job-perusal.557 558 L'option --unset de glite-wms-job-perusal permet de d esactiver le Job Perusal :561 Pour récupérer à chaque fois l'intégralité du fichier, il faut utiliser l'option --all de glite-wms-job-perusal. 562 563 L'option --unset de glite-wms-job-perusal permet de désactiver le Job Perusal : 559 564 560 565 {{{ … … 570 575 }}} 571 576 572 === Le renouvel lement automatique de proxy ===577 === Le renouvelement automatique de proxy === 573 578 574 579 Pour des raisons de sécurité, il est recommandé de ne pas crée des proxies de plusieurs jours. Par ailleurs la durée de l'extension VOMS du proxy est limitée par les VOs, en général à 24h. Si un job dure plus longtemps que la … … 585 590 }}} 586 591 587 Avant d'enregistrer son proxy, en cré r un valide :592 Avant d'enregistrer son proxy, en créer un valide : 588 593 589 594 {{{ … … 597 602 }}} 598 603 599 Pour enregistrer son proxy dans le serve ir myprosy :604 Pour enregistrer son proxy dans le serveur myprosy : 600 605 601 606 {{{ … … 614 619 {{{ 615 620 [diarra@ipngrid01 work]$ myproxy-info -s myproxy.grif.fr -d 621 616 622 username: /O=GRID-FR/C=FR/O=CNRS/OU=IPNO/CN=Christophe Diarra 617 623 owner: /O=GRID-FR/C=FR/O=CNRS/OU=IPNO/CN=Christophe Diarra … … 620 626 621 627 Ensuite il suffit de soumettre un job avec un proxy VOMS valide. Même si le job dure plusieurs jours, son proxy 622 n'expirera pas. Bien sûr il faut que le temps d'exécution job n'excèdela durée de vie totale du proxy enregistré sur le serveur myproxy.628 n'expirera pas. Bien sûr il faut que le temps d'exécution du job n'excède pas la durée de vie totale du proxy enregistré sur le serveur myproxy. 623 629 624 630 === Ressoumission automatique === 625 631 626 632 Le WMS peut resoumettre automatiquement les jobs s'ils sont 'aborted' par la grille. Deux types de ressoumission sont disponibles en gLite 3.1 WMS: 627 * deep resubmission : pour les jobs échouent quiaprès démarrage sur un WN633 * deep resubmission : pour les jobs qui échouent après démarrage sur un WN 628 634 * shallow resubmission : dans les autres cas 629 635 … … 631 637 de tentatives de ressoumission des jobs, respectivement pour les modes deep et shallow. Une valeur à zéro (0) dévalide la resoumission. 632 638 633 Il est recommandé dévalider le deep resubmission car le WMS peut resoumettre unjob qu'il croit (à tort) aborted ou bien un job qui a échoué peut déjà avoir 634 effectué un certains nombre d'opérations incompatibles avec un deuxième lancement. Par contre il est recommandé d'utiliser shallow resubmission pour donner plus 635 de chance à votre job d'être soumis. 636 637 Dans l'exemple ci-dessous, on devalide le deep resubmission et on limite les 638 tentatives de shallow resubmission à 3: 639 Il est recommandé dévalider le deep resubmission car le WMS peut resoumettre un job qu'il croit (à tort) aborted ou bien un job ayant échoué peut déjà avoir effectué un certains nombre d'opérations incompatibles avec un deuxième lancement. Par contre il est recommandé d'utiliser shallow resubmission pour donner plus de chance à votre job de s'exécuter. 640 641 Dans l'exemple ci-dessous, on devalide le deep resubmission et on limite les tentatives de shallow resubmission à 3: 639 642 640 643 RetryCount = 0; … … 644 647 645 648 Consulter les documents ci-dessous pour plus d'informations. Vous pourrez apprendre par exemple dans le 1er document 646 (comment gLite 3.1 User Guide) :649 (comment gLite 3.1 User Guide) comment : 647 650 648 651 * utiliser GridFTP pour le transfert des SandBox 649 * utiliser les DAG (direct acyclic graphs) : jobs dépendants 650 * utiliser les Parametric jobs : collection de jo sb identiques sauf pour un parametre d'exécution.652 * utiliser les DAG (direct acyclic graphs) : jobs dépendants qui doivent s'exécuter dans un certain ordre 653 * utiliser les Parametric jobs : collection de jobs identiques à tous points sauf pour un parametre d'exécution 651 654 652 655 gLite 3.1 User Guide: