GANGA/DIANE Mohammed AIRAJ CEA/IRFU EGEEIII/NA4 Tutorial Grille (LCG/EGEE) IPNO, 08/07/2009
EGEE/NA4 Méthodologie (GASuc): Contact Pré-sélection Analyse Planning Document Revue interne Prototypage Tests Execution Dissémination et « feedback »
RESPECT Tools GridWay metascheduler P-GRADE Portal GANGA DIANE i2login GReIC Grid Application Platform (GAP)
GANGA
GANGA Framework de soumission/gestion de jobs Utilisé en production par les expériences ATLAS et LHCb Interface utilisable : en ligne de commande CLIP (CLI/interpréteur Python) comme API Python pour lancer des scripts via l’interface graphique http://gangaweb.cern.ch
“configure once, run anywhere” GANGA “configure once, run anywhere”
GANGA : Job Objet Gestion de jobs orientés sur les grosses productions Interface de plus haut niveau que le WMS, s’interface avec le WMS Générique. Gestionnaire de pilot jobs (Atlas/PANDA, LHCb/DIRAC) Gère une queue centrale de jobs à effectuer pour la VO Soumet un job « générique » qui vérifie l’environnement et lance l’exécution d’un job utile uniquement si les prérequis sont réunis Augmente l’efficacité dans les grosses productions Forte diminution des jobs en erreurs
GANGA Ce qu’on peut faire avec Ganga : Un Job peut s’exécuter localement, ou sur un nombre de batch systems (LSF, PBS, …), ou sur la grille Interaction avec tous les systèmes de backends de manière similaire soumission, suppression, suivi des jobs Configuration des applications facile et transparente par rapport aux backends durant les différentes phases de l’application (debugging, test, production)
GANGA historique des jobs sauvegarde cohérente des sorties des jobs Organisation du travail : historique des jobs sauvegarde cohérente des sorties des jobs réutilisation de la configuration de jobs précédents Open source project : Architecture Modulaire Extensible Mature et stable
GANGA
Download, Install & Configure Install & Download Ganga Download : $ wget http://cernch/ganga/download/ganga-install Install : $ python ganga-install \ --prefix=/usr/local/ganga \ --extern=GangaGUI,GangaPlotter Configure Ganga $~/.gangarc : [LCG] GLITE_ENABLE = True [Configuration] Config=$GLITE_LOCATION/etc/vo.irfu.cea.fr/glite_wms.conf gangadir = /home/mairaj/gangadir
Launch Launch Ganga
CLIP/Hello Word #1 Hello World Locally j = Job() j.backend=Local() j.submit() #2 Hello World on Nordu Grid j.backend=NG() #3 Hello World on EGEE j.backend=LCG()
CLIP/Hello World
CLIP/Hello World Job().submit() soumission et exécution du job localement Job.(backend=LCG()).submit() soumission et exécution du job sur LCG jobs browse l’history des jobs j = jobs(1) récupérer le permier job de la liste history job j details du job J= jobs(n).copy().submit() copie et soumission du job(n) Job(n).kill Job(n).remove
Ganga CLIP/Script $cat myscript.sh #!/bin/sh echo "Hello ${1} !" echo $HOSTNAME cat /proc/cpuinfo | grep 'model name‘ cat /proc/meminfo | grep 'MemTotal' echo "Run on `date`" $ganga In [5]:!chmod +x myscript.sh In [6]:j = Job() In [7]:j.application = Executable() In[8]:j.application.exe = File('myscript.sh') In [9]:j.application.args = [‘IPNO'] In [10]:j.backend=Local() In [11]:j.submit()
model name : QEMU Virtual CPU version 091 MemTotal: 515516 kB Ganga CLIP/Output In [12]: j.peek(‘stdout’,’cat’) Hello IPNO ! node15.datagrid.cea.fr model name : QEMU Virtual CPU version 091 MemTotal: 515516 kB Run on lun jui 6 13:59:17 CEST 2009
GANGA GUI [mairaj@node15 ~]$ ganga --gui Your identity: /O=GRID-FR/C=FR/O=CEA/OU=IRFU/CN=Mohammed Airaj (Passphrase) *** Welcome to Ganga ***Version: Ganga-5-1-9
GANGA GUI/EXEC
GANGA GUI/ARGS
GANGA GUI/Middleware
GANGA GUI/Submit
GANGA GUI/Output
GANGA/DIANE
GANGA/DIANE DIANE : DIstributed ANalysis Environment Framework pour le calcul parallèl basé sur un modèle Master/Workers Basé sur Ganga
GANGA/DIANE Exécution de workflows complexes Exécution automatique Interactivité Modulaire Forte diminution des jobs en erreurs
GANGA/DIANE->HelloWorld Exemple
GANGA/DIANE->Script
GANGA/DIANE->Run
GANGA/DIANE->Output
GANGA/DIANE GUI [mairaj@node15 ~]$ ganga --gui *** Welcome to Ganga ***Version: Ganga-5-1-9
Développement de GANGA Ganga is supported by HEP Support for development work Core team: FBrochu (Cambridge), UEgede (Imperial), J Elmsheuser (Munich), KHarrison (Cambridge), HCLee (ASGC Taipei), DLiko (CERN), AMaier (CERN), JTMoscicki (CERN), AMuraru (Bucharest), WReece (Imperial), ASoroko (Oxford), CLTan (Birmingham)
REFERENCES Ganga Tutorial : https://twiki.cern.ch/twiki/bin/view/Atlas/GangaTutorialA tCCIN2P3 Diane Tutorial https://twiki.cern.ch/twiki/bin/view/ArdaGrid/DIANETutor ial EGEEIII/NA4 Application Porting Support https://twiki.cern.ch/twiki/bin/view/EGEE/ApplicationPor tingSupport