buttazzo.ppt [modalità compatibilità] - Scuola Superiore ... · Robotica: programmazione di robot...
Transcript of buttazzo.ppt [modalità compatibilità] - Scuola Superiore ... · Robotica: programmazione di robot...
2/15/2013
1
Real-Time Systems LaboratoryRETIS Lab
Giorgio Buttazzo
L’evoluzioneL’evoluzione dell’informaticadell’informatica
Sommario
ImpattoImpatto nellanella societàsocietà
TendenzeTendenze generaligenerali
ProgettiProgetti pressopresso lala ScuolaScuola Sant’AnnaSant’Anna
UnoUno sguardosguardo alal futurofuturoUnoUno sguardosguardo alal futurofuturo
2/15/2013
2
InformaticaScienza che si occupa dei fondamenti teoricidell’elaborazione dell'informazione:
Linguaggi per descrivere l'informazione
Algoritmi per trasformare l'informazione e risolvere problemi
Politiche di gestione delle risorse per rendere più efficientel’uso del calcolatore (Sistemi operativi)
I t lli tifi i l t di l i l i di bl iIntelligenza artificiale - metodi per la risoluzione di problemi eragionamenti tipici della mente umana
Gestione dati per archiviare e recuperare informazioni
Reti di calcolatori - metodi per il trasferimento di informazionesu canali di comunicazione.
Informatica
L’evoluzione dell’informaticaè strettamente legataa quella dei calcolatori
2/15/2013
3
Evoluzione esponenziale
prestazioni
108 IPS
dimensioni10 m3 10 IPS10 m
1950 1960 1970 1980 1990 2000 2010
10 IPS 10 cm3
La legge di Moore
Nel 1965, Gordon Moore, uno dei fondatoridell’Intel predisse che il numero di transistor
In effetti, fino ad oggi,La poten a di calcolo dei comp ter è
dell Intel, predisse che il numero di transistornei circuiti integrati sarebbe raddoppiato ogni18 mesi fino al raggiungimento dei limiti fisici.
La potenza di calcolo dei computer èraddoppiata ogni 2 anniLa memoria dei computer è decuplicata ogni4 anni
2/15/2013
4
Oggi il 98% dei processori è di tipo embedded:
Invisibilità
È un oggetto contenente al suo interno un computerspecializzato per controllarne le funzionalità, gestire
Sistema Embedded
le risorse, e semplificare le interazioni con l’utente:
Ambienteattuatori
imicrocontrollore
Oggetto
sensori
comunicazione
utente altre unità
2/15/2013
5
Il numero dei sistemi embedded è in forte aumento:
Smart objects
Chiavi elettroniche Localizzatori GPSContapassi
penne cheregistrano Cardiofrequenzimetri Watch computer
Smart objects
Pneumatici sensorizzati Scarpe energetiche
Occhiali con telecamere
Tappi elettronici
2/15/2013
6
Oggi l’informatica influisce su tutti i settori dellanostra società:
Pervasività
IndustriaIndustria
TrasportoTrasporto
AgricolturaAgricoltura
MedicinaMedicina
EdiliziaEdilizia
ArteArte ee intrattenimentointrattenimento
Industriaprogrammazione
e controllo di robot
Assemblaggio
Produzioneautomatizzata:
• precisioneffi i• efficienza
• qualità• costo
2/15/2013
7
Controllo del trafficoSupporto alla guida:
Trasporti
• affidabilitài• sicurezza
• efficienza• prestazioni
Controllo macchineAutomazionearatura, semina
Agricoltura
irrorazione, raccolta
rapiditàefficienzaefficienzariduzione uso sostanze chimiche
2/15/2013
8
MedicinaTAC, PET, NMR
AnalisiMonitoraggioMonitoraggioChirurgia assistita
Edilizia
Strumenti di misura Progettazione CAD
2/15/2013
9
IndustriaArte e intrattenimento
Stereogrammi Virtual games
Animazione Smart toys
Dall’Hardware al Software• smaterializzazione: tutto diventa informazione
2/15/2013
10
Vantaggi del software
1. Il software è più flessibile dell’hardware
2 P ò difi d l2. Può essere modificato e adattato velocemente
3. È possibile aggiungere nuove funzionalitàfacilmente e rapidamente
4. Può evolvere verso sistemi intelligenti e autonomi
5. Non ha peso
6. Può viaggiare alla velocità della luce!
IndustriaTrasferimento delle informazioni
scannerizzazione stampa
Se nel processo non si perde informazione, la
copia è uguale all’originale
codifica decodifica
trasmissione
2/15/2013
11
IndustriaSmaterializzazionedi parti meccaniche
Steer by wire
SensorMotor
SensorMotor
ControlUnit
Software nelle automobili
Quasi tutto è controllato via software, dai freni alvolume della radio.
Motore: iniezione, ottimizzazione consumo, ecc.
Display: visualizzazione messaggi e stato veicolo
Diagnostica: gestione e previsione di guasti
Sicurezza: ABS, ESC, EAL, CBC, TCS, …
Assistance: servosterzo, navigazione, parcheggio,sensori di sonno, radar anti-nebbia,visione notturna, sensori anti-collisione
Comfort: ventilazione, climatizzazione, musica,regolazione sterzo/luci/sedili/specchi/vetri…
2/15/2013
12
100
Processoriin un’auto
Complessità crescente
40
60
80
100
1970 1990 2000 20100
20
1980 year
109
1010Linee di codice in un’auto
Complessità crescente
105
106
107
108
10
1980 1990 2000 2010 2020102
103
104
2/15/2013
13
100 M30 M
100 M
Complessità crescenteLinee di codice
1 M
10 M
200 K
2 M
10 M
100 K
Complessità e bug
Con il crescere della complessità crescono anchegli errori software:
100
1000
10.000bugs
1 K 100 K 1 M 10 M0
10
10K
Linee di codice
2/15/2013
14
Affidabilità del software
Quando il controllo di un aereo è affidato a unprogramma lungo 100 milioni di istruzioni,l’ ffid bilità è bi tti i il’affidabilità è un obiettivo primario
100 milioni di istruzioni
Affidabilità del software
L’affidabilità non dipende solo dalla correttezza delleoperazioni, ma anche dal tempo in cui sono eseguite:
controllorecontrollore
i
comandox(t)
Δ
azioney(t+Δ)
Un’azione corretta che arriva in ritardo può essereinutile o addirittura dannosa.
2/15/2013
15
Sistemi Real-Time
I sistemi di calcolo che devono garantireritardi temporali limitati prendono il nomedi sistemi real-time.
I ritardi massimi devono essere garantitiper ogni possibile combinazione di eventi
ossia nel caso peggiore possibile!
Leggi di Murphy
Se qualcosa può andar male, lo farà
Se un sistema smetterà di funzionare, lo farà nel peggior
momento possibile
P i i l iPrima o poi, la peggiore combinazione possibile di
circostanze è destinata a prodursi.
2/15/2013
16
Dimostrazione della legge di Murphy
Qual è la probabilità che E accada in n giorni?Sia pE la probabilità che un evento E accada in un giorno
qE = 1 − pEprob. che E nonaccada in un giorno
Qual è la probabilità che E accada in n giorni?
day 1 day 2 day 3 day 4 day 5
pE pE pE pE pE
31
g
QE (n) = (1 − pE )nprob. che E nonaccada in n giorni
PE (n) = 1 − QE (n)prob. che Eaccada in n giorni
Capire la legge di Murphy
PE (n) = 1 − (1 − pE )nPE (n)
n
1
pE = 0.0000000001
32
nSe qualcosa può andar male (per quanto pE siapiccolo), lo farà (cioè, la probabilità che E accada inun lungo periodo tende a 1).
2/15/2013
17
Real-Time Systems LaboratoryRETIS Lab
Struttura del software
OUTPUT
INPUT
OUTPUT
task buffer
2/15/2013
18
Struttura del software
Generico task periodico
Ci
timer
tempo di calcolo
(periodo Ti )sincro
input
outputfattore di
utilizzazione
CiTi
Ui =
taskperiodico
Ti
Ci
timer (periodo Ti )
Struttura del software
τ1 τ2
sensore
memorybuffer
motoresincro
sincro
input input
outputoutput
timer sincrotimertimer
La prevedibilità dipende dalla capacità di valutare i tempi dicalcolo e le interferenze subite dagli altri task.
2/15/2013
19
Valutare Ci non è semplice
Ci tempo di calcolo massimo Cimax
?
# occorrenzeloop?
?
tempo diesecuzione
Cimin
Cimax
timer
Priorità
Poiché molti task possono essere attivi simultaneamente, ilsistema operativo deve scegliere l’ordine con cui eseguirli.
Il metodo più comune consiste nell’associarea ogni task una priorità Pi e scegliere il taskcon priorità più elevata.
scheduling
Ad esempio, l’algoritmo Rate Monotonicassegna una priorità proporzionale allafrequenza di attivazione (rate) di un task:
Pi ∝ Ti
1
2/15/2013
20
Esempio
τ1 τ2
C1 = 3 C2 = 6
Rate Monotonic: Pi ∝ 1/Ti
1
T1 = 102
T2 = 15
preemptionP1 > P2
τ1
3
τ1
τ210
15
20
300
6
tempo di risposta Ri
Esempio
τ1 τ2
C1 = 3 C2 = 61
T1 = 102
T2 = 15
Rate Monotonic: Pi ∝ 1/Ti
preemptionP1 > P2
τ1
3
costo di preemption
τ1
τ210
15
20
300
6
tempo di risposta Ri
2/15/2013
21
Esempio di schedulazione
τ1
τ2
τ3
τ4
Una schedulazione si dice fattibile se tutti i taskriescono a terminare entro il proprio periodo.
Problemi di ricercaDato un insieme di task di cui è noto il codice: teoria
dei grafi
teoria deiValutare i tempi di calcolo massimo Ci
Determinare i “migliori” periodi di attivazione Ti
Esistenza: Dati un insieme di task di cui siano noti (Ci, Ti),d i l’ i di l i f ibil
teoria deicontrolli
ottimizzazionecombinatoriaDeterminare la priorità Pi dei task
determinare l’esistenza di una soluzione fattibile,indipendentemente dall’assegnamento di priorità.
Fattibilità: Dato un insieme di task (Ci, Ti) e un particolareassegnamento di priorità, verificare se laschedulazione è fattibile.
2/15/2013
22
Problemi di ricerca
Esempio: TASK Ci (ms) Ti (ms)Altimetri 20 100
Assegnando le priorità secondo Rate Monotonic,
Pressione 50 200Controllo 80 300Temperatura 30 500Visualizzazione 300 800
Quali sono i tempi di risposta massimi dei task?
La schedulazione prodotta risulta fattibile?
Se no, come posso modificare i parametri per renderlafattibile?
Problemi di ricerca
Se si ha un sistema con N processori:
Come si estendono i problemi di esistenza e fattibilità?
P1 P2 P3 P4
Come si distribuisce il carico (i task) sui vari processori?
Qual è l'incremento di prestazioni che si ottiene con N unità
Come si tiene conto dei ritardi di comunicazione traprocessori per lo scambio dei dati?
2/15/2013
23
Real-Time Systems LaboratoryRETIS Lab
ObiettivoAumentare prevedibilità ed efficienza dei sistemi dicontrollo computerizzati a bordo di aerei e automobili
2/15/2013
24
ACTORS
ContestoSupporto per il software dei cellulari della prossimagenerazionegenerazione
ObiettiviSfruttare il parallelismo offerto dalle architetture multicoreRidurre l’interferenza tra le varie funzionalità del sistema
Ridurre il consumo energetico
Il kernel Linux è stato integrato conmeccanismi di scheduling in grado di ridurrel i t f t l i tti ità di l l
ACTORS
le interferenze tra le varie attività di calcolo:
ARM11 (4 cores)Linux 2.6.x
2/15/2013
25
Supporto per sistemi multicore
Risparmio energetico
I processori moderni offrono la possibilità difunzionare in diverse modalità (tensione/frequenza):
In genere: più lenta è l’esecuzione minore è il consumo
potenzatempo di calcolo
In genere: più lenta è l esecuzione, minore è il consumo
velocità
2/15/2013
26
Risparmio energetico
Assodato che conviene andare più lenti perrisparmiare energia, occorre capire come variano leprestazioni al variare della velocità:prestazioni al variare della velocità:
potenzaprestazioni
Livello minimo
velocitàvmin
Reti di Sensori
© Scuola Superiore Sant’Anna 52
2/15/2013
28
Velivolo autonomo sensorizzato
Unità di CalcoloUnità di Calcolo ServomotoriServomotori
Scheda diScheda diComunicazioneComunicazione
Telecamera aTelecamera ainfrarossiinfrarossi
GPSGPSSensori di Sensori di TempTemp..
ASCOLTA
Assistenza domiciliare allo SCOmpenso cardiaco attraversoLe Tecniche Avanzate di comunicazione digitale
Ridurre i costi di ricovero attraversoun monitoraggio continuo in casa.
Sviluppo di un sistema indossabilein grado di registrare, elaborare e
Obiettivi
g gtrasmettere via wireless un insiemedi parametri biomedici.
Rilevare automaticamentesituazioni critiche, richiedendoun intervento medico.
2/15/2013
29
ASCOLTA
ECGSPO2 Blood
pressure
Breath signal
Body motion
Real-Time Systems LaboratoryRETIS Lab
2/15/2013
30
Invisibilità e pervasività:
computer e sensori sempre più piccoli
Tendenze dell’informatica
bottiglie (etichette elettroniche, tappi sensorizzati, …)
sedie (autoregolanti, massaggianti, riscaldanti)
occhiali (lenti adattive visione notturna )
computer e sensori sempre più piccoli,integrati in oggetti di uso quotidiano:
occhiali (lenti adattive, visione notturna, …)
abiti (adattivi, colori programmabili, mimetici, …)
Tendenze dell’informatica
La vera rivoluzione sarà l’integrazione diprocessori nel corpo umano:p p
cuore orecchio occhio cervello
Dalla compensazione di difetti al potenziamento disensi, memoria, capacità motorie
2/15/2013
31
Fin dove si spingerà questa tendenza?
Quali scenari possiamo prevedere nei prossimi
Prospettive future
Quali scenari possiamo prevedere nei prossimianni?
NanotecnologiaInformatica
Quale sarà l’impatto dell’integrazione tra
GeneticaRobotica
Telecomunicazioni ?
Le tecnologie del futuro non possono prescindere dallemetodologie informatiche:
Tutto è informazione
Telecomunicazioni: programmazione di retiTelecomunicazioni: programmazione di reti
Robotica: programmazione di robot
Genetica: (DNA = programma genetico)progettazione di cellule, batteri, virus
Nanotecnologie: programmazione di nano-macchinenano robot cellule artificialinano-robot, cellule artificiali
L' Ingegneria Informatica è un ottimo investimento
Il nostro futuro dipende da come riusciremo a controllarele informazioni