percorso a cura di A. Gozzelino
Le risorse di calcolo necessarie per l’analisi dell’enorme mole di eventi prodotta da esperimenti scientifici richiedono migliaia di computer che siano in rete e in grado di eseguire programmi come se fossero un unico calcolatore. L’idea vincente è l’uso di più computer in parallelo. Alcuni fra i più importanti centri di ricerca europei hanno oramai unito le proprie risorse di calcolo per realizzare, grazie alla tecnologia GRID computing, un mega calcolatore distribuito della potenza di svariati teraflops, ovvero in grado di svolgere 1012 calcoli tra variabili (operazioni in virgola mobile) al secondo. La collaborazione scientifica a livello informatico diventa un’organizzazione virtuale; ciascun membro è dotato di un certificato personale, cioè un documento informatico che ne garantisce l’identità. I membri accedono ai dati e svolgono le analisi con le risorse di calcolo distribuito attraverso la GRID. La potenza di calcolo è disponibile in svariati centri sparsi nel mondo: l’utente sceglie lui stesso, ma più spesso avvalendosi di servizi automatici, i siti maggiormente disponibili e affidabili ove inviare i programmi di lavoro, detti job, della sua analisi. Prima di lanciare job sulla GRID, l’utente si accerta con dei test in locale, su un numero limitato di eventi, che il codice sia funzionante e dia risultati attendibili. La GRID serve dunque a processare moli di dati (statistica di eventi) e ottenere i grafici per le pubblicazioni. Tra l’altro, la GRID è usata in vari Paesi per altre discipline, dalla meteorologia alla medicina, dalla biologia alla farmacologia.
Oltre alla GRID, altre tecnologie informatiche, come la CLOUD, forniscono supporto agli esperimenti, spazi comuni per servizi e attività di progettazione, aree di sviluppo e conduzione degli attuali e futuri acceleratori.
II programmi attualmente usati per l’analisi dei dati utilizzano per lo più il linguaggio di programmazione C o i suoi eredi (C++) e sono sviluppati all’interno della comunità dell’esperimento. La comunità scientifica privilegia i sistemi operativi open source basati su Linux (Scientific Linux, Ubuntu, Fedora, Centos, …).
Figura 8: Esempio di codice per l’analisi dei dati.