Software Moderno dalla Fisica ad altre applicazioni Luca Lista INFN
Luca Lista, INFN2 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 on- line –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, INFN3 Le sfide della Fisica delle particelle CMS ad LHC
Luca Lista, INFN4 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: Documentazione del codice –Web tools: doxygen, TWiki, …
Luca Lista, INFN5 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, INFN6 Alcuni grandi progetti software YearOperating SystemSLOC (Million) 1993Windows NT Windows NT Windows NT Windows 2000more than Windows XP40 Graphics ProgramSLOC (Million) OpenOffice.org~10 Blender 2.42~1 GIMP v Paint.NET
Luca Lista, INFN7 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, INFN8 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, INFN9 Kalman Filtering Kalman, R.E., “A New Approach to Linear Prediction Problems”, Transactions of the ASME--Journal of Basic Engineering, pp , March Anche: – radar tracking – navigatori satellitari – dati economici –previsione arrivi bus
Luca Lista, INFN10 Propagazione particelle (I) Simulazione di sciame cosmico Leipzig applicator Simulazione dosimetrica in radioterapia
Luca Lista, INFN11 Propagazione particelle (II) Sistemi di particelle in computer grafica
Luca Lista, INFN12 Simulazioni: modellistica Simulazione di un mercato azionario basato su modelli di comportamento degli investitori Esercizio per il corso di P.O. (Informatica)
Luca Lista, INFN13 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
Un’applicazione specifica Analisi di immagini 2D/3D
Luca Lista, INFN15 Cluster di robots di misura operanti con SySal Cristiano Bozza – Gruppo Collegato di Salerno – 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
Luca Lista, INFN16 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) Applicativi per immagini 2D/3D Cristiano Bozza – Gruppo Collegato di Salerno –
Luca Lista, INFN17 Cristiano Bozza – Gruppo Collegato di Salerno – 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)
Luca Lista, INFN18 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 –