buttazzo.ppt [modalità compatibilità] - Scuola Superiore ... · Robotica: programmazione di robot...

31
2/15/2013 1 Real-Time Systems Laboratory RETIS L ab Giorgio Buttazzo L’evoluzione L’evoluzione dell’informatica dell’informatica Sommario Impatto Impatto nella nella società società Tendenze Tendenze generali generali Progetti Progetti presso presso la la Scuola Scuola Sant’Anna Sant’Anna Uno Uno sguardo sguardo al al futuro futuro Uno Uno sguardo sguardo al al futuro futuro

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

27

Nodi mobili

Velivoli autonomi per la prevenzione di incendi

...

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