Università di Firenze – Lun, 19/12/2005 – Marco MEONI - 1/32
Aspetti di unSistema di Calcolo Distribuito:
Monitoring della GridAliEn@CERN
Tesi di Laurea – 19/12/2005
Marco MEONI
Università di Firenze – Lun, 19/12/2005 – Marco MEONI - 2/32
Contenuti
I. Concetti di Gride Grid Monitoring
II. Modifiche edEstensioni di MonALISA
III. Analisi dei Risultati di Monitoring del PDC’04
IV. Conclusioni
http://cern.ch/mmeoni/thesis/thesis.ppt
Università di Firenze – Lun, 19/12/2005 – Marco MEONI - 3/32
Sezione I
Concetti di Grid e Grid Monitoring
Università di Firenze – Lun, 19/12/2005 – Marco MEONI - 4/32
Esperimento ALICE al CERN LHC
1) Collisioni di nuclei pesanti e protoni-protoni
2) Particelle secondarie vengono prodotte con le collisioni
3) Queste particelle sono registrate dal detector di ALICE
4) Le proprietà delle particelle (traiettorie, momento, tipo) sono ricostruite dal software AliRoot
5) I fisici di ALICE analizzano i dati alla ricerca di segnali di interesse
• 2/3 PBs di dati all’anno che richiederanno adeguate capacità di elaborazione e storage
Università di Firenze – Lun, 19/12/2005 – Marco MEONI - 5/32
Grid Computing
• Definizione di Grid Computing- “coordinated use of large sets of heterogenous, geographically distributed resources to allow high-performance computation”
• AliEn: la Grid di ALICE- Architettura pull piuttosto che push: lo scheduling service non ha bisogno di conoscere lo stato di tutte le risorse della Grid – le risorse si pubblicano;
- Robusto e fault tolerant, poiché le risorse possono andare e venire in ogni momento;
- Si interfaccia ad altre Grid favorendo una rapida espansione delle risorse di calcolo, in maniera trasparente per l’utente.
Università di Firenze – Lun, 19/12/2005 – Marco MEONI - 6/32
• R-GMA: un esempio di implementazione
• Jini (Sun): fornisce le basi tecniche
Grid Monitoring
Producer
Consumer
RegistryTransfer
Data
Storelocation
Lookuplocation
• Architettura GMA
Università di Firenze – Lun, 19/12/2005 – Marco MEONI - 7/32
MonALISA framework• Sistema di servizi di monitoring distribuiti; usa le tecnologie JINI/JAVA e WSDL/SOAP• Ogni server MonALISA agisce come un servizio dinamico che fornisce le funzionalità per essere individuato ed utilizzato da qualsiasi altro servizio o client che richiede tali informazioni
Università di Firenze – Lun, 19/12/2005 – Marco MEONI - 8/32
Sezione II
Modifiche ed Estensioni di MonALISA
Università di Firenze – Lun, 19/12/2005 – Marco MEONI - 9/32
• Monitoring delle Farm
Configurazione di MonALISA
1. Classe Java per interfacciarsi agli agenti MonALISA (AliEnCMD.java) - estendere lia.Monitor.monitor.cmdExec - implementare lia.Monitor.monitor.MonitoringModule - implementare almeno i metodi init, doProcess, isRepetitive
2. File di configurazione - script di monitoring da eseguire - elenco parametri di monitoring - frequenza monitoring
3. Script bash per monitorare i siti (Monitoring.sh) - restituire alla classe java di interfaccia, in un formato standard, tanti valori quanti sono i parametri
MonALISAAgent
WNs
CEMonitoring.sh
AliEnCMD.java
User code MonALISA frameworkGrid resources
Monitored data
Università di Firenze – Lun, 19/12/2005 – Marco MEONI - 10/32
Setup del Repository
1. Installazione packages (Tomcat, MySQL)
2. Configurazione servlet principali per VO ALICE
3. Setup di script per startup/shutdown/backup
• Un Repository Web come front-end per il monitoring• Conserva la storia completa dei dati monitorati• Mostra i dati in una moltitudine di istogrammi predefiniti• Aggiunto nuovi formati di visualizzazione per fornire un set completo (gauge, distribuzioni)• Semplici interfacce verso codice utente: custom consumers, custom tasks
• Installazione e Manutenzione
• Tutti i grafici prodotti sono stati costruiti e personalizzati a partire da altrettanti file di configurazione
• SQL, parametri, colori, tipo• andamento cumulativo o medio, • smooth, fluttuazioni,• intervalli di tempo personalizzato• …molti altri
Università di Firenze – Lun, 19/12/2005 – Marco MEONI - 11/32
queueinfo
queue list
Repository
• Aggiunto un thread Java (DirectInsert) per alimentare direttamente il Repository, senza passare dagli Agenti MonALISA
Ad hoc java thread
(DirectInsert)
Jobs
information
TOMCATJSP/servlets
Monitoring dei Job in AliEn• Centralizzato o distribuito?• API AliEn per acquisire snapshot dello stato dei job: queueinfo, queue list
Job is submitted
>1h
>3h
(Error_I)
(Error_A)
(Error_S)
(Error_E)
(Error_R)
(Error_V, VT, VN)
(Error_SV)
Università di Firenze – Lun, 19/12/2005 – Marco MEONI - 12/32
• 7+ Gb di performance information, 24.5M record• Durante il DC, in media ogni 2/3 min arrivano dati di ~2k parametri monitorati
Acquisizione Dati:
alimonitor.cern.ch aliweb01.cern.ch
Online Replication
DB Replication: MASTER DB REPLICA DB
• MonALISA Agents• Repository Web Services• AliEn API• LCG Interface• WNs monitoring (UDP)• Web Repository
• ROOT• CARROT
Grid AnalysisData collecting e Grid Monitoring
1min
Averaging
process
10 min 100 min
60 bins for each basic
information
FIFO
Repository DataBase(s)
Università di Firenze – Lun, 19/12/2005 – Marco MEONI - 13/32
• Parametri di monitoring e storage del Data Challenge, job-flow, completamento dei task e stato delle risorse
Interfaccia Web
Università di Firenze – Lun, 19/12/2005 – Marco MEONI - 14/32
Formati di Visualizzazione
Stacked BarsStatistiche e
tabulatireal-time
Carico dei CE e completamento
dei task
Menù
Snapshots e grafici a torta
Running history
Università di Firenze – Lun, 19/12/2005 – Marco MEONI - 15/32
Source Category Number Examples
AliEn API CE load factors 63 Run load, queue load
SE occupancy 62 Used space, free space, number of files
Job information 557 Job status: running, saving, done, failures
Soap CERN Network traffic 29 Size of traffic, number of files
LCG CPU – Jobs 48 Free CPUs, jobs running and waiting
ML service on MQ Job summary 34 Job status: running, saving, done, failures
AliEn parameters 15 DB load, Perl processes
ML services Sites info 1060 Paging, threads, I/O, processes
Job execution efficiency Successfuly done jobs / all submitted jobs
System efficiency Error (CE) free jobs / all submitted jobs
AliRoot efficiency Error (AliROOT) free jobs / all submitted jobs
Resource efficiency Running (queued) jobs / max_running (queued)
Parametri Monitorati
• Classi Derivate: misure di Efficienza
1868
• L’analisi dei dati acquisiti favorisce il miglioramento delle performance della Grid• Ottimizzazione del loro numero e della frequenza di memorizzazione!!
Università di Firenze – Lun, 19/12/2005 – Marco MEONI - 16/32
Estensioni di MonALISA• Monitoring degli utenti della Grid
• Application Monitoring (ApMon) nei WNs
• Repository Web Services
1. Utilizzo dei comandi AliEn (ps –a, jobinfo #jobid, ps –X -st) e parsing dell’output
2. Scansione della JDL dei Job
3. I risultati sono mostrati nel solito front-end web
• Alternativa ad ApMon per gli scopi del Web Repository: - non richiedono gli agenti MonALISA - memorizzano i dati monitorati direttamente nel DB del Repository
• Impiegati per monitorare Traffico di Rete attraverso i server ftp di ALICE al CERN
• ApMon è un set di API che può essere utilizzato da qualsiasi applicativo per inviare informazioni di monitoring agli agenti MonALISA, via datagrammi UDP
• Favorisce l’aggregazione dei dati e la scalabilità del sistema di monitoring• Sviluppata una classe C++ light di monitoring da incapsulare nel payload
del Process Monitor
Università di Firenze – Lun, 19/12/2005 – Marco MEONI - 17/32
Estensioni di MonALISA
• Distribuzioni per principi di Analisi• Primo tentativo di effetture un tuning delle prestazioni della Grid, basato su dati
reali monitorati a partire dalla Grid stessa• Utilizzo di funzionalità ROOT e Carrot• Sistema di cache per ottimizzazione delle richieste
MonALISARepository
ROOT histogramserver process(central cache)
ROOT/Carrot histogram clients
1. ask for histogram2. query NEW data
3. send NEW data
4. send resulting object/file
HTTP
A p
a c h e
Università di Firenze – Lun, 19/12/2005 – Marco MEONI - 18/32
Sezione III
Analisi dei Risultati di Monitoring del PDC’04
Università di Firenze – Lun, 19/12/2005 – Marco MEONI - 19/32
PDC’04• Scopo: testare e validare il computing model di ALICE
Off-line – Produrre e analizzare ~10% dei campioni di dati acquisiti in un anno di
standard data-taking– Usare il set completo di software: AliEn, AliROOT, LCG, Proof
• Struttura: divisa logicamente in tre fasi:1. Fase 1 – Produzione di underlying Pb+Pb events con centralità differenti
(parametri di impatto) + produzione di p+p events
2. Fase 2 – Sovrapposizione di vari tipi di signal events agli underlying Pb+Pb events
3. Fase 3 – Analisi distribuita
Università di Firenze – Lun, 19/12/2005 – Marco MEONI - 20/32
Storage
• Obiettivo – simulare il flusso dei dati al contrario: gli eventi sono prodotti nei centri remoti e memorizzati nel MSS del CERN
Master job submission, Job Optimizer, RB, File catalogue,
processes control, SE…
Central servers
CEs
Sub-jobs
Job processing
AliEn-LCG interface
Sub-jobs
RB
Job processing
CEs
CERN CASTOR: disk servers, tape
Output files
LCG is one AliEn CE
Fase 1 del PDC’04
Università di Firenze – Lun, 19/12/2005 – Marco MEONI - 21/32
Inizio 10/03, fine 29/05 (58 giorni di attività) Numero massimo di job eseguiti in parallelo: 1450 Numero medio di job nel periodo: 430
Total number of jobs running in parallel
18 computing centres participating
Utilizzo CPU• Non sempre possibile funzionare in modo continuativo a causa di limitazioni sulle risorse
Università di Firenze – Lun, 19/12/2005 – Marco MEONI - 22/32
Efficienza
Successfully done jobs all submitted
jobs
Error (CE) free jobs
all submitted
jobs
Error (AliROOT) free jobs all submitted
jobs
• Principio di calcolo: ogni job è immesso una sola volta
Università di Firenze – Lun, 19/12/2005 – Marco MEONI - 23/32
Statistiche della Fase 1Number of jobs
Job duration
56.000
8h (cent1), 5h (peripheral 1), 2.5h (peripheral 2-5)
Files per job
Number of entries in AliEn FC
Number of files in CERN MSS
36
3.8M
1.3M
File size 26TB
Total CPU work
LCG CPU work
285MSI-2k hours
67MSI-2k hours
Università di Firenze – Lun, 19/12/2005 – Marco MEONI - 24/32
Master job submission, Job Optimizer (N sub-jobs), RB, File catalogue,
processes monitoring and control, SE…
Central servers
CEs
Sub-jobs
Job processing
AliEn-LCG interface
Sub-jobs
RB
Job processing
CEs
Storage
CERN CASTOR: underlying events
Local SEs
CERN CASTOR: backup copy
Storage
Primary copy Primary copy
Local SEs
Output files Output files
Underlying event input files
zip archive of output files
Register in AliEn FC: LCG SE: LCG LFN = AliEn PFN
File catalogu
e
Fase 2 del PDC’04• Obiettivo – simulare la ricostruzione degli
eventi e lo storage presso i siti remoti
Università di Firenze – Lun, 19/12/2005 – Marco MEONI - 25/32
Inizio 01/07, fine 26/09 (88 giorni di attività) Come nella prima fase, equilibrio generale del contributo di CPU Sotto il controllo diretto di AliEn: 17 CEs, ciascuno con un SE CERN-LCG comprende le risorse LCG sparse per il mondo
Siti individuali: contributo di CPU
Università di Firenze – Lun, 19/12/2005 – Marco MEONI - 26/32
Utilizzo dei Siti• Fuori dal CERN, siti come Bari, Catania e JINR hanno generalmente funzionato al massimo delle capacità
Università di Firenze – Lun, 19/12/2005 – Marco MEONI - 27/32
Fase 2: Statistiche e FallimentiNumber of jobs
Job duration
400.000
6h/job
Conditions 62
Number of events 15.2M
Number of files in AliEn FC
Number of files in storage
9M
4.5M distributed at 20 CEs world-wide
Storage at CERN MSS
Storage at remote CEs
30TB
10TB
Network transfer 200TB from CERN to remote CEs
Total CPU work 750MSI-2k hours
Submission CE local scheduler not responding 1%
Loading input data Remote SE not responding 3%
During execution Job aborted (insufficient WN memory or AliRoot problems)
Job cannot start (missing application software directory)
Job killed by CE local scheduler (too long)
WN or global CE malfunction (all jobs on a given site are lost)
10%
Saving output data Local SE not responding 2%
Università di Firenze – Lun, 19/12/2005 – Marco MEONI - 28/32
File Catalogue query
CE and SE
processing
User job (many events)
Data set
Job Optimizer
Sub-job 1
Sub-job 2 Sub-job n
CE and SEprocessin
g
CE and SE
processing
Job Broker
Grouped by SE files location
Submit to CE with closest SE
Output file 1
Output file 2
Output file n
File merging job
Job output
Fase 3 del PDC’04• Obiettivo – Analisi utente
distribuita
Università di Firenze – Lun, 19/12/2005 – Marco MEONI - 29/32
Nuovi Strumenti di Analisi
• Distribuzione del numero di job in esecuzione - dipende principalmente dal numero di waiting job nella TQ e dalla disponibilità di CPU libere presso i CE remoti
• Occupazione rispetto al numero di job in coda - c’è un incremento dell’occupazione al crescere dei job in stato di waiting nella coda batch locale; la saturazione è raggiunta attorno ai 60 job in coda
Inizio Settembre 2004, fine Gennaio 2005 Distribuzioni grafiche realizzate a partire dall’ambiente ROOT e con l’interfaccia web Carrot
Università di Firenze – Lun, 19/12/2005 – Marco MEONI - 30/32
Sezione IV
Conclusioni e Prospettive
Università di Firenze – Lun, 19/12/2005 – Marco MEONI - 31/32
Lezioni dal Monitoring del PDC’04 Job utente sono stati eseguiti per 9 mesi utilizzando AliEn MonALISA ha fornito un framework di monitoring completo e flessibile che é stato adattato
con successo alle necessità del Data Challenge MonALISA ha prodotto i risultati attesi in merito a rappresentazione immediata ed estesa
dello stato corrente e passato dei parametri rilevanti per le operazioni della Grid Approccio step by step: dal setup delle procedure di monitoring e del numero dei parametri
di interesse ad una loro ottimizzazione MonALISA ha permesso di acquisire, memorizzare, visualizzare, ordinare e raggruppare
un’ampia varietà di parametri monitorati, sia di base che derivati, in un ricco set di formati di presentazione
Il Repository è stato l’unica sorgente di informazioni storicizzate, e la sua architettura modulare ha reso possibile lo sviluppo di una varietà di moduli custom (~800 linee di codice sorgente fondamentale e ~5k linee per eseguire task di servizio)
Il PDC’04 ha rappresentato un esempio reale di interoperabilità tra Grid, interfacciando AliEn e LCG e dando prova della scalabilità dell’architettura di AliEn
L’utilizzo di MonALISA in ALICE é stato documentato in un articolo per la conferenza al Computing in High Energy and Nuclear Physics (CHEP) ‘04 a Interlaken - Svizzera
Esperienza senza precedenti per sviluppare e migliorare un framework di monitoring sulla base di una Grid realmente funzionante, effettuando massicci test delle tecnologie software coinvolte
Facile estendere il framework e sostituirne i componenti con altri equivalenti in base a necessità tecniche o scelte strategiche
Università di Firenze – Lun, 19/12/2005 – Marco MEONI - 32/32
Ringraziamenti• Dott. F.Carminati, L.Betev, P.Buncic e tutti i colleghi di ALICE
per l’entusiasmo trasmesso durante questo lavoro
• Team MonALISA collaborativo ogni volta che ne ho avuto necessità