Software Moderno dalla Fisica ad altre applicazioni Luca Lista INFN [email protected] Le sfide nel Software • Il software per la Fisica sub-nucleare serve a risolvere problemi complessi • Esperimenti con numerosi rivelatori eterogenei, enormi numeri di canali – ~100Mpixel acquisiti a decine di kHz processati e filtrati online – Gestione off-line di campioni di dati multi-petabyte • Segnali rari si confondono rispetto al ‘rumore di fondo’ • Algoritmi di calcolo matematico avanzati si interfacciano con modelli di dati complessi • I dati sono distribuiti in tutto il mondo con organizzazione gerarchica – Modelli a “Tier” Luca Lista, INFN 2 Le sfide della Fisica delle particelle CMS ad LHC Luca Lista, INFN 3 Tecnologie Software • • • • • Analisi & Design Object Oriented C++, STL Template programming (boost libraries) Uso di Java per interfacce utenti Piattaforma di sviluppo: – Tipicamente Linux (open source, free) • Analisi delle perfomances e profiling – Valgrind • Strumenti per l’analisi interattiva, visualizzazione 3D e l’I/O sviluppati al CERN – Es.: ROOT: http://root.cern.ch • Documentazione del codice – Web tools: doxygen, TWiki, … Luca Lista, INFN 4 Software complessi • Progetti con milioni di linee di codice • Evolvono per >10 anni • Software sviluppato e utilizzato da una comunità internazionale distribuita su tutto il pianeta – Centinaia di sviluppatori attivi in maniera concorrente in fusi orari diversi • Strumenti di collaborazione – CVS, Release management tools, nigthly builds • Strumenti di comunicazione remota – Videoconferenze, Hyper-news forum Luca Lista, INFN 5 Alcuni grandi progetti software Year Operating System SLOC (Million) Graphics Program SLOC (Million) 1993 Windows NT 3.1 4-5 OpenOffice.org ~10 1994 Windows NT 3.5 7-8 Blender 2.42 ~1 1996 Windows NT 4.0 11-12 GIMP v2.3.8 0.65 2000 Windows 2000 more than 29 Paint.NET 3.0 0.13 2001 Windows XP 40 Luca Lista, INFN 6 Problematiche nella Fisica • Simulazione dei rivelatori: – Interazioni tra particelle – Interazioni delle particelle nel rivelatore • Ricostruzione delle particelle nei rivelatori – Algoritmi di clustering, tracciamento (Kalman filter), … – Fit con vincoli geometrici-cinematici • Discriminazione segnale/fondo – Tecniche statistiche multivariate • Visualizzazione dei dati e dei rivelatori • Analisi dati interattiva Luca Lista, INFN 7 Applicazioni in ambiti più generali • Simulazioni, in generale: – Simulazione di interazione della radiazione con la materia • medicina, radioterapia, spazio, … – Modelli di problemi realistici in generale • Traffico, finanza, videogiochi, … • Analisi statistica dei dati – – – – – – Analisi di correlazioni statistiche Discriminazione segnale/fondo Likelihood ratio Reti neuronali Algoritmi di ottimizzazione genetici Analisi statistica di segnali rari e con bassa statistica • Algoritmi specifici: – Es.: tracking, clustering Luca Lista, INFN 8 Kalman Filtering www.houseprices.uk.net Anche: – radar tracking – navigatori satellitari – dati economici –previsione arrivi bus Kalman, R.E., “A New Approach to Linear Prediction Problems”, Transactions of the ASME--Journal of Basic Engineering, pp. 35-45, March 1960. Luca Lista, INFN 9 Propagazione particelle (I) Leipzig applicator Simulazione dosimetrica in radioterapia Simulazione di sciame cosmico Luca Lista, INFN 10 Propagazione particelle (II) Sistemi di particelle in computer grafica Luca Lista, INFN 11 Simulazioni: modellistica Simulazione di un mercato azionario basato su modelli di comportamento degli investitori 9 8 7 6 5 4 3 Esercizio per il corso di P.O. (Informatica) 2 1 0 1 1001 2001 3001 Luca Lista, INFN 4001 12 Quali interazioni con le aziende? • Alcune tipologie di aziende già usano tecnologie software avanzate – Es.: grafica 3D, giochi – Scambi di esperienze nella risoluzione di problemi complessi sono possibili in questi contesti • Esperienza di stage per lauree triennali presso aziende seguite da tutor dell’INFN a Napoli – Framework 3D ad oggetti con sistemi paricellari: motore real-time ed editor interattivo, Raylight studios s.r.l. – Modello Orientato agli Oggetti di Primitive Geometriche per un Motore di Rendering per Grafica Tridimensionale, Digitalcomoedia s.r.l. • Collaborazione con aziende che avviano relazioni con partner la scelta delle tecnologie software Luca Lista, INFN 13 Un’applicazione specifica Analisi di immagini 2D/3D Trattamento immagini 2D/3D • Software “SySal” (System of Salerno) per acquisizione/analisi dell’immagine 2D/3D – Applicato per acquisizione e analisi di immagini su emulsioni Cluster di robots di misura operanti con SySal Cristiano Bozza – Gruppo Collegato di Salerno – [email protected] Luca Lista, INFN 15 Applicativi per immagini 2D/3D Sviluppato in C#/C++/C/Assembler Funzionalità di calcolo distribuito basata su tecnologia .NET Modulare e personalizzabile Interfaccia grafica per utilizzo da parte di personale non esperto Il software funziona sia in applicazioni off-line che “sul campo” in applicazioni di robotica e machine-vision (ambito in cui è stato sviluppato) Cristiano Bozza – Gruppo Collegato di Salerno – [email protected] Luca Lista, INFN 16 Caratteristiche di SySal • Alta velocità di analisi immagine – fino ad un fattore x100 su Pentium rispetto al processore di visione industriale Matrox Odyssey – Calcolo in parallelo su macchine multiprocessori e/o reti di calcolatori • Capacità di pilotare motori e leggere sensori per applicazioni di macchine vision 2D/3D • Uso in collaborazioni e aziende estese con reti di acquisizione dati multi-sito • Immagazzinamento dati basato su DB relazionali (Oracle/SQL Server) Cristiano Bozza – Gruppo Collegato di Salerno – [email protected] Luca Lista, INFN 17 Possibili applicazioni di SySal • Riconoscimento oggetti e classificazione • Acquisizione dati da superfici o spessori, controllo qualità, riconoscimento ed elaborazione immediati di strutture topologiche e di parametri geometrici • Controllo di robots di misura o per lavorazioni con feedback visivo • SySal può usare sia configurazioni hardware minimali che estremamente complesse Cristiano Bozza – Gruppo Collegato di Salerno – [email protected] Luca Lista, INFN 18