Patrice Lebrun - D0-France - Lyon Production MC Patrice Lebrun 26/05/04 Patrice Lebrun - D0-France - Lyon
Simulation MC au CCIN2P3 (production privée) Documentation à l’URL : http://d0-france.in2p3.fr/WORKING_GROUPS/SOFTWARE/mc_prod/mc_runjob-in2p3-mcp14.html Interface à mc_runjob $THRONG_DIR/info_data/mcp14/mcrun_tools_v06-02-08.tar.gz mc_runjob version v06-02-08 ( version ‘current’ v06-02-01 !! ) exemples de macros pour les différents jobs : génération, génération + filtre , d0gstar, d0sim, d0reco, d0sim+d0reco, concaténation des TMBs Edition des macros : SubmitMC.py ./SubmitMC.py –help pour voir la liste des options Questions/comments/remarks to the author !! Product=mc_runjob Version=v06-02-01 Flavor=NULL Qualifiers="" Chains=current,development,test Product=mc_runjob Version=v06-02-08 Flavor=NULL Qualifiers="" Chain="" 26/05/04 Patrice Lebrun - D0-France - Lyon
Gestion des Productions MC: Neter Interface python utilise une database oracle le lien avec mc_runjob se fait par l’intermédiaire de la commande suivante: Administrateur (Tibor Kurca, Patrice Lebrun) Besoin de cobayes et faire une doc par la même occasion , des volontaires ? Faire des réunions spécifiques sur ce point $MC_RUNJOB_DIR/jobscripts/mc_jobscript.py -ccin2p3 -jobname=<jobname> -macro=<macropath> -runjobvers=v06_02_08 Cette commande ci-dessus crée un script qui peut être soumis en batch. L ’option -submit=<command> peut aussi être ajoutée pour soumettre directement ce script 26/05/04 Patrice Lebrun - D0-France - Lyon
Patrice Lebrun - D0-France - Lyon Releases vs Tarball StandardD0 (macro) tarball sélectionné avec la valeur 0 Releases setup D0RunII <release> Tarball Contient uniquement les exécutables, RCP … nécessaires Chemin donnée par les variables d ’environnement SRT_LOCAL et SRT_DIST def setSrt(self,phase,type): self.setMCprodPath(type) self.srt_local=self.mcprod_dir+"/"+phase+"-dist" self.srt_dist=self.srt_local+"/mcc-dist" os.environ['SRT_LOCAL']=self.srt_local os.environ['SRT_DIST']=self.srt_dist print "SRT_LOCAL=%s" % os.environ['SRT_LOCAL'] print "SRT_DIST=%s" % os.environ['SRT_DIST'] 26/05/04 Patrice Lebrun - D0-France - Lyon
NETER: Gestion locale des jobs et des fichiers au ccin2p3 Tables oracle Requêtes informations générales sur le tache à faire et comment la faire. Descriptions des jobs par type et dépendance informations pour BQS informations pour les jobs (nombre d’événements, macro, script de soumission …) Etats des jobs (peut être le résultat d’un transfert de fichier) les jobs eux même mettent à jour cette table Informations sur les fichiers localisation taille, nombre d ’événements SAM (déclaration, transfert à Fnal … logfiles, metadata Autres tables sam, administration, archivage ... 26/05/04 Patrice Lebrun - D0-France - Lyon
Gestion des jobs et des fichiers au ccin2p3 (suite) Exemple de commandes (environ 60 commandes) neter addRequest --filename=<fichier python> le fichier python est un descriptif de la requête (très pratique) neter format crée les entrées dans la table des jobs avec leur inter-dépendance à partir des informations entrées dans la table des requêtes neter submit Soumet tous les jobs pour lesquels les jobs dont ils dépendent se sont terminés sans erreur et tient compte des informations trouvées dans la table d ’administration. Neter cleanErrors permet de nettoyer les disques des fichiers produits par les jobs qui se sont terminés en erreur neter declare, neter store, ... declare à SAM les fichiers produits, stockage des fichiers à FNAL 26/05/04 Patrice Lebrun - D0-France - Lyon
Statistiques, remarques sur NETER Database Neter ~ 110 000 fichiers enregistrés dont environ 6200 « capturés » (5.6%) à partir de la liste des fichiers contenus dans le cache de HPSS (non connus de la DB). 100 MB d ’informations stockées à ce jour Déjà utiliser pour « nettoyer » HPSS (environ 20 To) 67 TB de fichiers stockés dans HPSS 51.5 TB sont « connus » de NETER Neter n ’est pas encore mis à la dispostion de tous les utilisateurs (reste à faire) NETER pourra être utilisé pour la: Gestion de l ’espace des disques semi-permanents Production MC privés, analyses ... 26/05/04 Patrice Lebrun - D0-France - Lyon
Patrice Lebrun - D0-France - Lyon ccd0% cat Request_1001227.py from import_classes import * datatier='reconstructed' appfamily=AppFamily('reconstruction','p14.05.02','d0reco') dict={ 'Simulated':{ 'keepparticlecalenergy':'off', 'geometry':'plate', }, 'Reconstructed':{ 'frameworkrcpname':'runD0reco_mc.rcp', 'Global':{ 'runtype':'Monte Carlo', 'stream':'notstreamed', 'description':'stdhep_extern-Z+1j_mumu+1j_run4.3', 'producedforname':'muanza', 'phase':'mcp14', 'groupname':'dzero', 'Generated':{ 'pdflibfunc':'cteq5l', 'cardfiledir':'higgs', 'etalt':'+4.2', 'kinmasslt':'-1.0', 'etagt':'-4.2', 'production':'gam-z', 'kinmassgt':'500.0', 'ptgt':'0.0', 'ptlt':'-1.0', 'collisionenergy':'1960.0', 'decay':'bb', 'generator':'pythia', 'multiplepartoninteractions':'on', 'cardfileversion':'v00-05-10', 'Digitized':{ 'calorimeternoise':'on', 'mergeminbias':'on', 'minbiopt':'poisson', 'numminbi':'0.8', } Exemples (1) Repertoires $THRONG_DIR/MCProd/Metadata/Oracle/Template/mcp14/Request_1001227.py Fichier Request_1001227.py décrit les paramètres pour le MC neter addRequest --filename=$PWD/Request_1001227.py permet la création de la requête dans la DB. Attention le path complet doit être donné ! (Pb à résoudre) 26/05/04 Patrice Lebrun - D0-France - Lyon
Patrice Lebrun - D0-France - Lyon jobsdescription={ 'bbftp':{ 'numrecords':'25000', 'status':'formatted', 'refjobtype':'', }, 'd0gstar':{ 'numrecords':'500', 'refjobtype':'bbftp', 'macro':'d0gstar.macro', 'bqsarg':'-p g=12', 'cputime':'1000000', 'batchqueue':'T', 'tape':'', 'tapeseq':'', 'info':'', 'subfunction':'submitMC', 'd0reco':{ 'refjobtype':'d0gstar', 'macro':'d0simreco.macro', 'bqsarg':'-l M=1GB -p g=13', 'cputime':'200000', 'subfunction':'submitMC' 'thumb':{ 'numrecords':'12500', 'refjobtype':'d0reco', 'macro':'merger.macro', 'bqsarg':'-p g=15 -l M=512MB,scratch=2050MB', 'cputime':'50000', 'batchqueue':'G', 'merge':'thumb' } Exemples (2) Informations locales: local_request_1001227 ccd0% cat local_Request_1001227.py from import_classes import * validJobType=['d0gstar','d0reco','d0sim','gen','recoanalyze','d0trig','thumb','bbftp'] requestid=1001227 refphysid=30 processid=0 location='cchpssd0.in2p3.fr:/hpss/in2p3.fr/group/d0/mc_prod/mcp14' metadatapath='/afs/in2p3.fr/throng/d0/MCProd/Metadata/Oracle/mcp14' adminphysid=[ ['lebrun','no','ok'], ['kurca','no','ok'], ['d0prod','no','no'] ] saminfos={ 'bbftp':'locate', 'd0gstar':'locate', 'd0sim':'declare', 'd0reco':'store', 'thumb':'declare', 'mrg':'store' } ... 26/05/04 Patrice Lebrun - D0-France - Lyon
Patrice Lebrun - D0-France - Lyon Exemple (3) ccd0% cat d0simreco.macro #MiniDB StandardD0 SaveOnMake LinkerOption farm=ccin2p3 LinkerOption RelativeDestDir LinkerOption RelativeCurrDir attach samglobal cfg samglobal define int UniquenessLevel 3 cfg samglobal define string Phase <phase> #cfg samglobal define string RequestID <requestid> cfg samglobal define string RunType Monte Carlo cfg samglobal define string Stream notstreamed cfg samglobal define string Description <description> cfg samglobal define string ProducedByName lebrun cfg samglobal define string OriginName ccin2p3 cfg samglobal define string FacilityName ccin2p3-<requestid> cfg samglobal define string DestinationDir ./dest cfg samglobal define string ProducedForName <producedforname> cfg samglobal define string GroupName <groupname> cfg samglobal define string JobName <jobname> cfg samglobal define string CurrentDir . attach runjob_ccin2p3 cfg runjob_ccin2p3 define string RunOption RunExec cfg runjob_ccin2p3 define string CopyBackDir <copybackdir> cfg runjob_ccin2p3 define string CopyBackContent partial attach filestream cfg filestream define string SingleInputFile <inputfilename> # # Read in list of filenames cfg filestream make filelist #cfg filestream make nextfile ... attach d0sim cfg d0sim define string MinBiD ataset /afs/in2p3.fr/throng/d0/info_data/mcp14/overlapset_mcp14 _cteq5l_tuneA_simulated cfg d0sim define string MinBiDir null cfg d0sim define string MergeMinBias on cfg d0sim define string MinBiOpt Poisson cfg d0sim define string CalorimeterNoise on … attach d0reco # attach and configure d0reco cfg d0reco define string D0Release p14.05.02 cfg d0reco define string LinkToRundata on cfg d0reco define int UseMaxopt 1 cfg d0reco define string FrameworkRCPName runD0reco_mc.rcp cfg d0reco define int NumRecords <numrecords> attach relocator cfg relocator define string CopyMode d0rfcp cfg relocator define string TargetNode cchpssd0 cfg relocator define string TargetDir <targetdir> cfg relocator RegisterFile d0reco::OutputFileName cfg relocator RegisterFile d0reco::ThumbName repeat 1 reset chain cfg filestream make nextfile make job save print script cfg runjob_ccin2p3 run end Macro Template 26/05/04 Patrice Lebrun - D0-France - Lyon
Interface Web (php) http://d0-france.in2p3.fr/WORKING_GROUPS/SOFTWARE/mc_prod/steve1.php Steve1 est le type de production entré dans la DB physid requestid 26/05/04 Patrice Lebrun - D0-France - Lyon
Patrice Lebrun - D0-France - Lyon Web suite ... Langage PHP Erreurs SAM 26/05/04 Patrice Lebrun - D0-France - Lyon
Application : NETER utilisée pour le reprocessing des données Désynchronise les différentes étapes du reprocessing: améliore l’efficacité car chaque étape n’est pas directement tributaire de la précédente mais demande de l ’espace de stockage (HPSS) Transfert des fichiers à reprocesser SAM + BBFTP à FNAL A partir d ’un ensemble de « dataset, » copie les DST dans HPSS au ccin2p3 Déclaration à SAM et à NETER de la localisation HPSS des fichiers Procédure automatique de mise à jour de NETER à partir de SAM Soumissions des jobs neter submit chaque job met à jour NETER (jobname, status, metadata, statistique …) Déclaration à SAM des fichiers produits et transfert à FNAL des mDST neter declare neter store Archivage des logfiles (nettoyage des disques) neter archiveLogfiles neter archiveMetadata 26/05/04 Patrice Lebrun - D0-France - Lyon
Patrice Lebrun - D0-France - Lyon Jobs en classe V D0declar 1 seul job obligatoirement sur ccwall01 déclaration dans SAM des fichiers chkFiles 1 seul job (plusieurs possibles) Mise à jour de Neter à partir des infos données par SAM Divers vérifications Archivages .. D0survey 1 par utilisateur soumission des jobs user jobname status time worker cputime prio ------------------------------------------------------------------------------ lebrun d0declar RUNNING 05/18-11:40 V.ccwall01 160/ 25000 9910 lebrun chkFiles RUNNING 05/18-11:46 V.ccwalk63 2284/ 25000 9910 lebrun d0survey RUNNING 05/24-09:33 V.ccwali48 656/ 25000 9910 26/05/04 Patrice Lebrun - D0-France - Lyon
Patrice Lebrun - D0-France - Lyon Fermi News Février 2004 SAM+Runjob SAM+Runjob SAM+Runjob SAM+Runjob Neter SAM+Runjob Nombre de CPU juste suffisant pour suivre le transfert des fichiers 26/05/04 Patrice Lebrun - D0-France - Lyon
Patrice Lebrun - D0-France - Lyon Merci à: Michel Installation et adaptation de mc_runjob Laurent, Smaïn installation des releases Tibor suivi de la production MC 26/05/04 Patrice Lebrun - D0-France - Lyon