Computing in ALICE Alessandro De Falco 5o seminario nazionale sul software della fisica nucleare, subnucleare ed applicata Alghero, 5-9/6/2008 1 Gli argomenti trattati • • • • • • • • • La fisica degli ioni pesanti I risultati ottenuti finora all’SPS e a RHIC Il QGP a LHC ALICE Le risorse necessarie per il computing in ALICE Simulazione Ricostruzione Analisi Calcolo distribuito 2 Il plasma di quark e gluoni La QCD su reticolo predice, per alte temperature e densita’ di energia, una transizione alla fase di plasma di quark e gluoni in cui i partoni sono deconfinati Valori attesi per la transizione: e/T4 T = 170 MeV e = 0.8 GeV/fm3 hadrons quark/gluon T/Tc 3 Transizione di fase QCD nel vuoto QCD nella materia densa • Il potenziale aumenta linearmente con la distanza • Grande forza attrattiva • I quark sono confinati nei barioni e nei mesoni • I quark acquistano una massa effettiva • Schermatura delle cariche di colore • Il potenziale diventa nullo a grandi distanze • I quark riacquistano la loro massa nuda • deconfinamento dei quarks Lattice QCD calculation r 4 Diagramma di fase • Analogia con processi noti Diagramma di fase per l’acqua Diagramma di fase per la materia nucleare 5 Dove studiare la fase di QGP Big Bang RHIC oggi CERN SPS ieri, LHC nel futuro prossimo Only one chance… Lattice QCD Neutron stars 6 Transizioni nell’universo primordiale 7 Calcoli di QCD su reticolo • La QCD e’ una teoria non abeliana – I calcoli di QCD perturbativa (pQCD) possono essere svolti solo ad alto q2 • A basse energie occorrono potenti supercomputer nella scala dei teraflop • Come abbiamo visto nell’introduzione, e’ prevista una transizione di fase: (F. Karsch, hep-lat/0106019) Tc ~ 150 200 MeV e c ~ 1.5 GeV / fm3 8 Stelle costituite da QGP? April 8, 2002 Today, NASA announced the discovery of such a star, based on results from their space telescope the Chandra X-ray Observatory. The star, called RX J185635-375, is about 360 light years from Earth. Unfortunately, new measurements of the radius show 15 km rather than 4 km… 9 Collisioni tra ioni pesanti Hard Lorentz-contracted nuclei (Dz~R/g) Collisions pQCD Parton Dynamics Hadron Dynamics QCD Matter? Quarks and gluons are the relevant degrees of freedom Mesons and Baryons are always the final degrees of freedom 10 Evoluzione spazio-temporale delle collisioni tra ioni pesanti 11 Sonde della materia calda time p f g g jet p K ep J/Y L e Freeze-out Hadronization QGP? Thermalization? Hard Scattering space Au Au 12 Scopo delle misure • QGP: – La QCD diventa piu’ semplice ad alte temperature e densita’? – Quale e’ il diagramma di fase della QCD? – Le previsioni di QCD su reticolo sono in accordo con le osservazioni? • Sistemi fortemente interagenti – Possiamo comprendere l’evoluzione di un sistema di due nuclei collidenti? – Possiamo comprendere le prime fasi di espansione di un sistema mediante l’osservazione delle ultime fasi? 13 Che cosa misurare Che cosa? Perche’? Come? Osservabili Globali Lo stato iniziale e’ abbastanza denso? • Molteplicita’ delle particelle • Densita’ di energia Fenomeni collettivi Lo stato di QGP e’ termalizzato? • Yields degli adroni • Flusso ellittico Formate nei primi stadi della collisione Sondano il mezzo • Perdita di energia dei jets • Produzione di quark pesanti e quarkonia Hard Probes 14 Distribuzioni di molteplicita’ dNch/dh 19.6 GeV 130 GeV 200 GeV PHOBOS Preliminary Central Peripheral h 4200 particelle cariche in collisioni centrali AuAu a 130 GeV •Plateau a (pseudo)rapidita’ prossime allo zero 15 Molteplicita’ Central A+A 16 Peter Steinberg Densita’ di energia La densita’ di energia puo’ essere stimata a partire dalla misura della molteplicita’ o dell’energia trasversa in funzione della rapidita’ N ET Ei sin i i 1 e E dET dET 1 dET ~ ~ V pRT 2 dz pRT 2 dy pRT 2 dy •preliminary 17 Tre forme di moto collettivo • In collisioni centrali (b=0) l’unico flusso e’ in direzione trasversale y x • Per b>0, flusso ellittico causato dalla asimmetria della regione di sovrapposizione y x x • Flusso diretto, sensibile alle fasi iniziali della collisione z 18 Perche’ il flusso ellittico e’ una sonda importante? • coordinate space y • x • Per b>0 la distribuzione delle coordinate spaziali mostra un’anisotropia, mentre le distribuzioni nello spazio dei momenti e’ isotropa Per liberi cammini medi bassi, le interazioni tra i costituenti, trasformano l’anisotropia nello spazio delle coordinate in un’anisotropia nello spazio dei momenti Interazioni multiple portano a una termalizzazione Momentum space d 3N 1 d 2N E 3 1 2vn cosn Yr d p 2p pt dpt dy n 1 v2 cos 2( Yr ) , tan ( 1 py px ) 19 Misura del flusso ellittico Hydrodynamic limit STAR PHOBOS Compilation and Figure from M. Kaneta First time in Heavy-Ion Collisions a system created which at low pt is in quantitative agreement with hydrodynamic model predictions for v2 up to mid-central collisions 20 Rapporti tra particelle: potenziale chimico e freeze-out • Assumiamo che le distribuzioni siano descritte da una temperatura T e un potenziale chimico m – Determiniamo sperimentalmente due rapporti tra particelle, (es.,p / p e K / p ) – Quindi prediciamo tutti gli altri rapporti dn ~ e ( E μ) / T d 3 p p e ( E μ ) / T ( E μ ) / T e 2μ / T p e 21 Soft Physics • Stima della densita’ di energia ben oltre il valore critico dato dalla QCD su reticolo • Rapporti di particelle ben descritti secondo il modello termico • Distribuzioni consistenti con un boost termico • Elliptic flow consistente coi modelli idrodinamici • Osservabili consistenti con interazioni partoniche nei primi stadi e col raggiungimento di equilibrio locale 22 Soppressione della J/Y 1. Colliding Ions 2. Charm Production 4. Freezeout! QGP 3. Charmonia Destruction 23 Heavy quarkonia e deconfinamento Stati diversi del charmonio dissociati a temperature diverse in funzione dell’energia di legame state Mass [GeV} B.E. [GeV] Td/Tc J/y 3.096 0.64 --- cc 3.415 0.2 0.74 y' U(1s) 3.686 0.05 0.15 9.46 1.1 --- cb 9.859 0.67 --- U(2s) 10.023 0.54 0.93 cb' 10.232 0.31 0.83 U(3s) 10.355 0.2 0.74 24 hep-ph/0105234 Risultati di NA50 NA50 at the CERN-SPS “Strong evidence for the formation of a transient quark-gluon phase without color confinement is provided by the observed suppression of the charmonium states J/y, cc, and y’.” Maurice Jacob and Ulrich Heinz Discontinuity due to cc melting Drop due to J/y melting Using Drell-Yan as control 25 J/Y all’SPS e al RHIC • present status: SPS RHIC LHC more cc reco dominates? F.Karsch et al.: PLB637 75 (2006) larger e J/y finally melts? • very similar suppression at RHIC and SPS... – only y’and cc melt? – J/y melting compensated by cc recombination? • at LHC we should finally be able to tell... 26 Aumento di stranezza • La produzione di particelle con stranezza e’ soppressa in collisioni elementari (rispetto a quella con quark u,d) • In sistemi deconfinati la produzione di stranezza e’ favorita • Massa nuda del quark s • Livelli energetici liberi • Se le particelle sono ottenute mediante ricombinazione, ci si aspetta un aumento piu’ pronunciato per particelle multistrane K+ Xp+ W+ [Rafelski: Phys. Rep. 88 (1982) 331] [Rafelski-Müller: P. R. Lett. 48 (1982) 1066] [Koch, Müller & Rafelski: Phys. Rep. 142 (1986) 167] d su u u d d u d d d d ss us d u d u d d d u u s u u d u u d s uu s s ud d d ss u u s d u u s s d us u d u s sd 27 d u u d d p- p L Iperoni all’SPS • top SPS NA57 28 Iperoni al RHIC • Aumento forte ma lievemente minore rispetto all’SPS • • open: NA57 @ SPS closed: STAR @ RHIC 29 QGP a LHC Aumento della densita’ di energia e della vita media del QGP di un fattore 2~3 LHC puo’ accedere a valori di x ~30 volte piu’ bassi che a RHIC 30 QGP a LHC II Le sezioni d’urto di diversi processi importanti crescono rapidamente con l’energia. Ci si aspetta un incremento di un fattore ~10 per cc, ~100 per bb e >~ 105 per jets ad altissimi pt 31 Prestazioni attese per LHC 32 La collaborazione ALICE 33 L’apparato 8kHz (160 GB/s) Level 0 (special hw) 200Hz (4 GB/s) L1 (embedded processors) 30Hz (2.5 GB/s) Level 2 PCs 30Hz (1.25 GB/s) Data recording 34 and offline analysis Display di una collisione centrale simulata in PbPb (/100) 35 Sviluppo del software in HEP • I programmi dell’era di LHC sono di enorme complessità – Misurati in unità di 106 linee di codice (MLOC) – Le collaborazioni sono molto grandi (ATLAS, CMS ~ 2000 fisici e ingegneri) • • I fisici sono utenti e sviluppatori, con differenti livelli di esperienza Il ricambio delle persone è frequente – Il codice spesso non viene mantenuto da chi lo ha sviluppato • Necessità di un’architettura solida e modulare 36 Architettura adottata in ALICE ROOT Framework Geant3, PAW Fortran Geant3 Alice kinematics in C++ Hits Zebra/RZ/FZ NIET Geometry in C++ Geant4 Virtual MC Hits Digits ROOT Trees 37 Il calcolo in ALICE • Codice scritto in C++ • Framework di base: ROOT • Sono implementati / interfacciati generatori per collisioni pp o PbPb, generatori parametrici, o di singole particelle • Virtual MC per la simulazione dell’apparato • Framework per la ricostruzione e l’analisi dei dati • Calcolo distribuito (GRID) 38 Apologia della programmazione OO • • • • Generalizzazione dei tipi di variabile: le classi Incapsulamento Modularità Ereditarietà 39 ROOT • Framework per l'analisi dati (interattiva e non) nella fisica delle alte energie • Mutua alcune idee (e alcuni autori) di PAW, il pacchetto di analisi che e' stato lo standard incontrastato fino alla fine degli anni '90. • Ampiamente diffuso nella fisica delle alte energie (in particolare nella fisica degli ioni pesanti) e altrove • Sito: http://root.cern.ch 40 Caratteristiche principali di ROOT • Librerie di classi (310) scritte interamente in C++ • Classi per l'uso di istogrammi, fit, n-tuple, plot, I/O, librerie matematiche etc. • CINT: interprete C++ • Può essere utilizzato in modalità interattiva o in batch • Codice disponibile precompilato per diverse piattaforme (unix/linux, MacOS, Windows) o sotto forma di sorgente 41 Gruppi di classi in root Le classi di root possono essere suddivise in 19 categorie: • • • • • • Base Container Istogrammi e minimizzazione Trees e ntuple Algebra lineare e matrici ‘Physics vector classes’ – Feldman-Cousins, quadrivettori di Lorentz, rotazioni… • • • • Grafica 2D Grafica 3D Canvas e Pad Geometrie dei rivelatori • GUI • GUI per win32 • Meta-classi – Classi per la manipolazione di classi e oggetti in root • • • • • • Interfaccia col S.O. Networking Documentazione Interfaccia PostScript Interfaccia interattiva (TRint) Server PROOF 42 Sessioni interattive o batch • Al prompt di root si possono digitare delle istruzioni in C++ che possono includere l’uso delle classi che fanno parte del programma, o altre scritte dall’utente e caricate – Utile per eseguire test rapidi e lavorare in maniera interattiva – La sintassi e’ piu’ “rilassata” rispetto a quella del C++ usuale • Alternativamente si possono usare macro interpretate o compilate – Il codice compilato e’ piu’ rapido – Il codice compilato e’ piu’ solido, perche’ il compilatore esegue dei controlli piu’ restrittivi sulla sintassi – Il codice interpretato e’ piu’ semplice da scrivere e piu’ comodo per calcoli semplici e che non richiedono grande tempo di CPU • Le macro contengono solitamente una o piu’ funzioni – Sviluppo analogo a quello del codice strutturato • E’ comunque possibile (e consigliato se il software dell’utente non e’ semplice) sviluppare classi, in uno o piu’ files che possono essere caricati al prompt di root o mediante una macro, oppure compilati mediante un makefile • Una macro di root puo’ essere eseguita in batch root –b –q MyMacro.C 43 AliRoot: General Layout • AliRoot usa root come framework e sviluppa un gran numero di classi specifiche AliRoot classes General - Base classes - Steering - IO control Simulation - Interface classes - Event generators - Geometry & Materials Reconstruction - Clusterization - Tracking - PID Analysis - ESD/AOD classes - HBT - Charm, jets, etc. AliRoot modules General STEER EVGEN ANALYSIS Detectors ITS TPC TRD Generators HIJING PYTHIA6 HERWIG "On-line" HLT RAW MONITOR 44 AliRoot Layout G3 VZEROACORDESTRUCT HLT T0 G R I D A L I E N PMD FMD ITS G4 Fluka Virtual MC PDF HIJING PYTHIA6 EVGEN DPMJET RAW Monit STEER AliSimulation ISAJET AliReconstruction ESD/AOD classes Analysis HBTAN JETAN TPC TRD TOF PHOS EMCAL HMPID MUON ZDC ROOT CINT HIST GRAPH TREES CONT IO MATH 45 … Flusso di processazione dei dati 46 AliRoot: Execution Flow Initialization Clusters Tracking Event Generation Digits/ Raw digits PID Particle Transport Event Merging (optional) ESD AOD Hits Summable Digits Analysis 47 Generatori esterni: HIJING • HIJING: Heavy Ion Jet Interaction Generator (Gyulassy, Wang) • Ci si aspetta che lo scattering (hard, semi-hard) tra partoni con impulsi trasversi di qualche GeV sia il processo dominante nelle collisioni tra ioni pesanti ad alte energie • HIJING incorpora un modello di produzione di jet basato sulla QCD con il modello di Lund (modello fenomenologico di adronizzazione) per la frammentazione dei jets 48 Uso di HIJING • Hijing viene usato per – Generazione di eventi underlying (fondo) • Fluttuazioni realistiche • Molteplicita’ sovrastimata (dN/dy ~ 6000) – Studi di correlazioni tra particelle – Effetti nucleari • Shadowing • Quenching (parton energy loss) 49 Collisioni protone-protone • Minimum Bias – Pythia, Herwig • Hard Probes – Pythia tuned to NLO (MNR) – Modifica nucleare delle funzioni di struttura secondo EKS 50 Generatori parametrici Esempio: MUON Library Parametrizzazioni: kPhi, kOmega, kEta, kJpsi, kJpsiFamily, kPsiP, kJpsiFromB, kUpsilon, kUpsilonFamily, kUpsilonPP, kCharm, kBeauty, kPion, kKaon 51 Interfacce ai generatori di eventi • ‘Cocktail generators’ per assemblare eventi • Per esempio: – Underlying event + hard process – Sorgenti di (coppie di) muoni generate singolarmente con generatori parametrici – pA + nucleoni lenti 52 Simulazione del rivelatore • GEANT 3 – Creato nel 1981 – Ancora ampiamente usato da molti esperimenti • GEANT 4 – Grande investimento • FLUKA – Lo stato dell’arte per la fisica dei neutroni e degli adroni • I DIVERSI CODICI HANNO UN’INTERFACCIA COMUNE NEL VIRTUAL MONTE CARLO 53 Virtual Monte Carlo This strategy facilitates DAQ migration or comparisons Online AliRoot with a common input and a common output Geant3 Kinematics Geometry Geant4 Fluka TVirtualMC Hits, Digits Geant3.tar.gz includes an upgraded Geant3 with a C++ interface Geant4_mc.tar.gz includes the TVirtualMC <-->Geant4 interface classes 54 Simulazione: Summable Digits • Vengono applicate tutte le simulazioni della risposta dell’apparato che permettono un merging – Do not add noise – Do not convert AtD – Do not apply thresholds 55 Digitizzazione • • • • Viene aggiunto il rumore Si applica una soglia Si applica la conversione in valore ADC Soppressione degli zeri 56 Ricostruzione • Possible inputs – – – – • DATE DDL files (only for test) RAW DATE file (only for test) RAW rootified file (standard format) MC/Digit files (standard for simulated data) Local/Detector reconstruction (Files <DET>.RecPoint.root) – Calibration – Clusterisation – Cluster splitting… • Vertex finder (Fills ESD) – Primary vertex (Z coordinate) found in SPD, and/or T0. • Tracking (HLT and/or Barrel), filling of ESD – Gives final vertex from tracks and secondary vertecies. – HLT uses Conformal mapping (or similar) or a fast Kalman – Final tracking is a full Kalman • • • {TPC→ITS→TPC} →{TRD→TOF →{EMCAL|HMPID|PHOS}→TOF→TRD→TPC→ITS) MUON. Combined PID (Fills ESD) 57 Ricostruzione nel central barrel Processo incrementale 58 Gli ESD AliESDEvent AliESDVertex AliESDTZERO Estimated with SPD TZERO information AliESDVertex AliESDVZERO Estimated with ESD tracks VZERO infornation AliMultiplicity ESDPmdTrack SPD tracklets Tracks in PMD ESDTrack Detailed information in central barrel ESDCascade Cascade vertices ESDKink Kinks ESDTrdTracks ESDCaloClusters Triggered tracks in TRD PHOS/EMCAL clusters AliESDMuonTrack ESDV0 Tracks in Muon arm V0 vertices ESDFMD FMD multiplicity 59 ESD e AOD AliVEvent AliESDEvent AliAODEvent • standard access to containers • common getters and setters AliVHeader AliESDHeader AliAODHeader AliVParticle AliExternalTrackParam AliAODTrack … AliESDtrack 60 Contenuto degli AOD AliAODEvent contains an (extendable) TList event information AliAODHeader TClonesArray of tracks AliAODTrack TClonesArray of vertices AliAODVertex TClonesArray of jets AliAODJet Container for SPD tracklets AliAODTracklets 61 Framework di analisi • Dati in ingresso sotto forma di ESD / AOD • Dove viene eseguito il codice di analisi? – In locale: sulla propria macchina – Mediante PROOF (Parallel ROOT Facility) • Analisi eseguita in parallelo su un cluster • Non c’è relazione con la Grid – Su AliEn ("ALIce ENvironment") • AliEn è il software di ALICE per l’accesso alla Grid • Eseguito come job dell’utente o mediante l’analisi organizzata 62 Che cosa è l’analisi organizzata • Coordinata a livello centrale – I task di analisi (trains) vengono eseguiti ordinatamente sui dati – Si evitano così richieste di accesso ai dati caotiche • Efficiente per processare l’intera statistica, in particolare se le risorse di calcolo sono distribuite • Ottimizza il rapporto CPU/IO 63 The single task view • AliAnalyisTask CONT 0 CONT 1 – User provided code • Input data – Provided via numbered slots – Each slot connected to a data container of the corresponding type at run time – Content can be any TObject – “Handlers” handle data specific operations • Output data – – – – INPUT 0 INPUT 1 AliAnalysisTask Communicated via one or more slots Handlers e.g. for AOD output Simpler output e.g. histograms Output can be disk resident (file) or only memory resident (transient data) OUTPUT 0 • Several of these tasks can be collected in the manager CONT 2 64 Analysis train che produce AODs Acceptance and Efficiency Correction Services Monte Carlo Truth ESD/AOD TASK 1 TASK 2 TASK … TASK N AOD 65 Schema di analisi AliAnalysisManager I/O via slots AliVEventHandler AliESDInputHandler (AliAODInputHandler) AliMCEventHandler AliAODHandler (Output) AliVEvent AliAnalysisTask AliAnalysisTask AliAnalysisTask AliAnalysisTask AliESDEvent (AliAODEvent) Tasks AliMCEvent AliAODEvent AliVParticle AliESDtrack AliMCParticle Data AliAODtrack 66 PROOF • Parallel ROOT Facility • Una parte di ROOT • Analisi parallela interattiva su un cluster locale – Feedback rapido • PROOF non è legato alla Grid – Ma può accedere ai files della Grid – Lo stesso codice può essere eseguito localemente o con PROOF (se si adottano alcune regole di base) 67 Schema di PROOF Client – Local PC root ana.C Result stdout/result ana.C Remote PROOF Cluster root node1 root Data Result Data node2 root node3 Proof master Proof slave root node4 Result Data Result Data 68 Applicazione banale di parallelismo (basata sugli eventi) 69 Come usare PROOF • Si usa il framework di analisi – I files che devono essere analizzati vengono concatenati (TChain) – Analisi scritta come task AliAnalysisTask • Eventuali librerie addizionali devono essere incluse come packages Input Files (TChain) Analysis (AliAnalysisTask) Output 70 Cern Analysis Facility (CAF) • La CAF (CERN Analysis Facility) è il cluster in cui verranno eseguiti i job di PROOF per ALICE – Analisi rapida dei dati p-p – Analisi ‘pilota’ dei dati Pb-Pb data – Calibrazione & Allineamento • Accessibile a tutta la collaborazione, ma il numero di utenti sarà limitato per ragioni di efficienza • Design: – 500 CPUs – 100 TB di dati immagazzinati localmente 71 La necessità del calcolo distribuito Utenti del CERN nel mondo In Europa: 267 istituti, 4942 utenti Fuori dall’Europa: 208 istituti, 1752 utenti Dati prodotti in un anno di presa dati a LHC: 10PB Il computing su questa scala non può essere svolto in un singolo sito Sono necessari strumenti per la condivisione delle risorse che permettano di localizzare e accedere ai dati 72 La grid I siti sono organizzati in Tiers – Tier 0: CERN – TIER1: Centri di calcolo nazionali – TIER2 Modello di calcolo in ALICE: • pp: simile a quello degli altri esperimenti di LHC – Data distribution quasi-online – Prima ricostruzione su Tier0 (CERN) – Ulteriori ricostruzioni su Tier1 (Siti nazionali) • Pb-Pb: modello differente – Calibrazioni, allineamento, ricostruzioni ‘pilota’ e esportazione di parte dei dati durante la presa dati – Data distribution e prima ricostruzione su Tier0 nei 4 mesi di shutdown dopo la presa dati – Ulteriori ricostruzioni e copie di dati sui Tier1 – Analisi finali, simulazioni e copia di ESD/AOD sui Tier2 73 Gestione dei siti con gLite • gLite è il middleware per l’implementazione della grid • Sviluppato e mantenuto da EGEE (Enabling Grids for E-sciencE) • Vantaggi: – E’ il software più maturo per la realizzazione delle grid – Può soddisfare le necessità di varie applicazioni in diversi centri di ricerca 74 Servizi generali del middleware • • • • • Sistema di autenticazione e autorizzazione Sistema di informazione Workload management Data management Servizi di monitoring • Diversi siti con – Computing elements – Worker nodes – Storage elements 75 Sistema di autenticazione e autorizzazione • Contiene la lista degli utenti autorizzati all’uso della struttura • Diviso per organizzazioni virtuali (VO) • Un database per VO • Il database contiene i certificati di tutti gli utenti • I Computing elements, storage elements e resource brokers accedono al database 76 Sistema di informazione • Fornisce le informazioni sulle risorse e sul loro stato • Informazione pubblicata dalle risorse individuali e copiata in database centrali 77 Workload management system • Gestisce i job sottomessi dagli utenti • Cerca le risorse disponibili che soddisfano le richieste del job e mette i job in coda • Traccia lo stato del job • Permette all’utente di recuperare l’output • Gira su una macchina che viene indicata come resource broker 78 Data management system • Permette di: – spostare i files all’interno e all’esterno della grid – replicare i files in diverse locazioni – Trovare i files • Interagisce con un central file catalog 79 Grid topology User Interface Information System submit Resource Broker query retrieve update credential query submit query retrieve File and Replica Catalogs Site X Computing Element Authorization Service Publish state and general information Storage Element 80 81