Offline Report Finale Grid! I Corso di formazione INFN su aspetti pratici dell'integrazione di applicazioni in GRID Domenico D’Urso Roberto Pesce Mario Scuderi Mariangela Settimo
Auger Offline WorkFlow XML Config Files Module Sequence Data Input Files Event Detector MySQL DBs XML Config Files Output Data
Verso l’integrazione Installazione framework Offline e relativi pacchetti esterni connessione databases MySQL gestione files di configurazione gestione files di input/output Ottimizzazione scripts ed utilizzo potenzialità della grid infrastructure Installazione framework Offline e relativi pacchetti esterni connessione databases MySQL gestione files di configurazione gestione files di input/output Ottimizzazione scripts ed utilizzo potenzialità della grid infrastructure
Avanti a piccoli passi… Compilazione Offline: ROOT : opzione Castor disabilitata Aires 2.8.4a: forzato a compilare con g77 Esecuzioni primi job di test Strategia di esecuzione di base Copia input files su storage elements Invio tramite InputSandbox dell’eseguibile e dei files di configurazione utente necessari Connessione via rete a MySQL databases localizzati su un cluster ai LNGS Copia output files prodotti su storage elements Indirizzo output files attraverso l’OutputSandbox Aggiunta Corsika + Conex (simulaz. sciami) Compilazione Offline: ROOT : opzione Castor disabilitata Aires 2.8.4a: forzato a compilare con g77 Esecuzioni primi job di test Strategia di esecuzione di base Copia input files su storage elements Invio tramite InputSandbox dell’eseguibile e dei files di configurazione utente necessari Connessione via rete a MySQL databases localizzati su un cluster ai LNGS Copia output files prodotti su storage elements Indirizzo output files attraverso l’OutputSandbox Aggiunta Corsika + Conex (simulaz. sciami)
MonteCarlo-Offline chain DAT1 … DAT2DATn input1input2inputN … Detector Simulation Event Reconstruction Simulazioni MC (Corsika/Conex) Offline AMGA db
L’utilizzo degli strumenti grid per la gestione dei database MySQL interrogati dall’Offline richiede pacchetti con librerie in C++ e modifiche ai moduli di gestione della comunicazione con i db. Possibilità di interrogare direttamente dei databases MySQL pubblici, presenti ai LNGS Files di configurazione dell’Offline tramite la InputSandBox File di output delle simulazioni (input dell’Offline) di grandi dimensioni copiati sugli storage elements e da lì scaricati sui WNs Mounting dei file con PARROTMounting dei file con PARROT fallito L’utilizzo degli strumenti grid per la gestione dei database MySQL interrogati dall’Offline richiede pacchetti con librerie in C++ e modifiche ai moduli di gestione della comunicazione con i db. Possibilità di interrogare direttamente dei databases MySQL pubblici, presenti ai LNGS Files di configurazione dell’Offline tramite la InputSandBox File di output delle simulazioni (input dell’Offline) di grandi dimensioni copiati sugli storage elements e da lì scaricati sui WNs Mounting dei file con PARROTMounting dei file con PARROT fallito Database MySQL e Gestione File I/O
DB Amga Input Generazione delle n-tuple di parametri di input per la MonteCarlo-Offline chain Fill del database: 1 entry per ogni n-tupla Possibilita’ di monitorare lo stato del job durante il riempimento del db Auger Offline Output Scrittura nel database delle principali quantità di interesse derivanti dalla ricostruzione degli eventi mediante un modulo Offline creato ad hoc (api C++) DB Amga Input Generazione delle n-tuple di parametri di input per la MonteCarlo-Offline chain Fill del database: 1 entry per ogni n-tupla Possibilita’ di monitorare lo stato del job durante il riempimento del db Auger Offline Output Scrittura nel database delle principali quantità di interesse derivanti dalla ricostruzione degli eventi mediante un modulo Offline creato ad hoc (api C++) Interazione con AMGA
Struttura DB AMGA di test Header Input Energy Primary Mass ………… ShowerRecData NTriggeredEyes NTriggeredStations ReconstructedEnergy ……………. ShowerFRecData ZenithAngle AzimuthAngle ………….. ShowerSRecData Barycenter Curvature ……….. Input Output della Ricostruzione
Sottomissione Jobs Test di sottomissione di jobs, usando job parametrici per le simulazioni corsika/conex Test di job DAG con schema Test di job DAG con schema - nodo a) “Type= Parametric” (simulazione di sciami corsika) - nodo a) “Type= Parametric” (simulazione di sciami corsika) - nodo b) “Type=Normal” (per HSimulation e ricostruzione) - nodo b) “Type=Normal” (per HSimulation e ricostruzione) e dipendenza {a,b}. DAG parametrici non ancora implementati nel middleware!!! e dipendenza {a,b}. DAG parametrici non ancora implementati nel middleware!!! Sottomissione concatenata di job mediante scripts per la produzione automatica di files JDL Sottomissione concatenata di job mediante scripts per la produzione automatica di files JDL
Esempio JDL Type = "Job"; JobType = "Normal"; Executable = "/bin/bash"; Arguments = "conex_hrec_example.sh /domenico/DatiConex1 4"; StdOutput = "check.out"; StdError = "check.err"; InputSandbox = {"conex_hrec_example.sh","HSimulation_Conex.tgz", "HReconstruction_Conex.tgz","mdclient.config","replace"}; OutputSandbox = {"check.err","check.out","hsim.log","hrec.log","amga_entry.out"};
Simulazione in GEANT4 dei telescopi di fluorescenza Simulazione in GEANT4 dei telescopi di fluorescenza Porting in GRID: Porting in GRID: Compilazione effettuata disabilitando le librerie grafiche (VRML, OpenGL, DAWN,…) InputSandbox: eseguibile, libreria di interfaccia con ROOT, files ausiliari (descrizione del detector e macro di esecuzione GEANT4). Test con jobs parametrici che generano automaticamente le macro di GEANT4 Test con jobs parametrici che generano automaticamente le macro di GEANT4 FDsimG4 Implementazione di un metodo per la generazione di eventi a partire da una collection AMGA Lettura PDG code (E, x, y, z, p x, p y, p) per la particella da generare Simulazione in GEANT4 dei telescopi di fluorescenza Simulazione in GEANT4 dei telescopi di fluorescenza Porting in GRID: Porting in GRID: Compilazione effettuata disabilitando le librerie grafiche (VRML, OpenGL, DAWN,…) InputSandbox: eseguibile, libreria di interfaccia con ROOT, files ausiliari (descrizione del detector e macro di esecuzione GEANT4). Test con jobs parametrici che generano automaticamente le macro di GEANT4 Test con jobs parametrici che generano automaticamente le macro di GEANT4 FDsimG4 Implementazione di un metodo per la generazione di eventi a partire da una collection AMGA Lettura PDG code (E, x, y, z, p x, p y, p) per la particella da generare FDSimG4
Simulazione campo magnetico del Gruppo Locale con FLASH Particolari richieste: Ricorso al calcolo parallelo. Gestione di molti files di output. Ogni simulazione produce migliaia di files di output. Richiesta di una discreta quantità di memoria di massa. Dimensione dei files di output di decine di Gbyte. Invio job di tipo semplice. Non è necessario ricorrere a job parametrici DAG, ecc… Particolari richieste: Ricorso al calcolo parallelo. Gestione di molti files di output. Ogni simulazione produce migliaia di files di output. Richiesta di una discreta quantità di memoria di massa. Dimensione dei files di output di decine di Gbyte. Invio job di tipo semplice. Non è necessario ricorrere a job parametrici DAG, ecc…
Job MPI: File JDL: Eseguibile: flash2 Opzione e parametro: –par_file flash.par Il numero di processori impiegati è definito da NodeNumber Il job chiama mpi.pre.sh prima del calcolo per definire l’ambiente e le operazioni da compiere prima dell’esecuzione ed al termine del run mpi.post.sh per spostare i files di output nello storage element File JDL: Eseguibile: flash2 Opzione e parametro: –par_file flash.par Il numero di processori impiegati è definito da NodeNumber Il job chiama mpi.pre.sh prima del calcolo per definire l’ambiente e le operazioni da compiere prima dell’esecuzione ed al termine del run mpi.post.sh per spostare i files di output nello storage element
Meta raggiunta! Installazione framework Offline e relativi pacchetti esterni connessione databases MySQL files di input/output files di configurazione Ottimizzazione scripts ed utilizzo potenzialità della grid infrastructure Installazione framework Offline e relativi pacchetti esterni connessione databases MySQL files di input/output files di configurazione Ottimizzazione scripts ed utilizzo potenzialità della grid infrastructure
Conclusioni Il framework Auger Offline, con tutti i relativi pacchetti esterni, è stato inserito in ambiente GRID Sono stati aggiunti dei MonteCarli (CORSIKA e Conex) per la produzione di sciami simulati (input per l’Offline) E’ stato portato in GRID anche il pacchetto FDSimG4 per la simulazione dei telescopi di fluorescenza con GEANT4 nell’Offline Utilizzo del DB AMGA per la gestione dei parametri di input per i job e la scrittura delle principali quantità ricostruite degli eventi processati con creazione di un modulo Offline ad hoc Porting in ambiente GRID di FLASH per lo studio dei campi magnetici galattici ed extragalattici, sfruttando le potenzialità di parellizzazione offerte dalla griglia Il completamento del porting dell’applicazione, con gestione dei database MySQL mediante gli strumenti di GRID, richiede un ulteriore sviluppo di tools in C++ (GrelC) e la modifica del codice Offline Il framework Auger Offline, con tutti i relativi pacchetti esterni, è stato inserito in ambiente GRID Sono stati aggiunti dei MonteCarli (CORSIKA e Conex) per la produzione di sciami simulati (input per l’Offline) E’ stato portato in GRID anche il pacchetto FDSimG4 per la simulazione dei telescopi di fluorescenza con GEANT4 nell’Offline Utilizzo del DB AMGA per la gestione dei parametri di input per i job e la scrittura delle principali quantità ricostruite degli eventi processati con creazione di un modulo Offline ad hoc Porting in ambiente GRID di FLASH per lo studio dei campi magnetici galattici ed extragalattici, sfruttando le potenzialità di parellizzazione offerte dalla griglia Il completamento del porting dell’applicazione, con gestione dei database MySQL mediante gli strumenti di GRID, richiede un ulteriore sviluppo di tools in C++ (GrelC) e la modifica del codice Offline
Grazie tutors !!! Offline–Grid puzzle ricomposto CIAO A TUTTI!!!