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