Fondamenti di Informatica – Applicazioni Real-Time FONDAMENTI DI INFORMATICA Prof. PIER LUCA MONTESSORO Laureando LUCA DA RE Facoltà di Ingegneria Università degli Studi di Udine Applicazioni Real-Time © 2007 Pier Luca Montessoro e Luca Da Re (si veda la nota di copyright alla slide n. 2) 1 Fondamenti di Informatica – Applicazioni Real-Time Nota di Copyright Questo insieme di trasparenze (detto nel seguito slide) è protetto dalle leggi sul copyright e dalle disposizioni dei trattati internazionali. Il titolo ed i copyright relativi alle slides (ivi inclusi, ma non limitatamente, ogni immagine, fotografia, animazione, video, audio, musica e testo) sono di proprietà dell’autore prof. Pier Luca Montessoro, Università degli Studi di Udine. Le slide possono essere riprodotte ed utilizzate liberamente dagli istituti di ricerca, scolastici ed universitari afferenti al Ministero della Pubblica Istruzione e al Ministero dell’Università e Ricerca Scientifica e Tecnologica, per scopi istituzionali, non a fine di lucro. In tal caso non è richiesta alcuna autorizzazione. Ogni altro utilizzo o riproduzione (ivi incluse, ma non limitatamente, le riproduzioni su supporti magnetici, su reti di calcolatori e stampe) in toto o in parte è vietata, se non esplicitamente autorizzata per iscritto, a priori, da parte dell’autore. L’informazione contenuta in queste slide è ritenuta essere accurata alla data della pubblicazione. Essa è fornita per scopi meramente didattici e non per essere utilizzata in progetti di impianti, prodotti, reti, ecc. In ogni caso essa è soggetta a cambiamenti senza preavviso. L’autore non assume alcuna responsabilità per il contenuto di queste slide (ivi incluse, ma non limitatamente, la correttezza, completezza, applicabilità, aggiornamento dell’informazione). In ogni caso non può essere dichiarata conformità all’informazione contenuta in queste slide. In ogni caso questa nota di copyright e il suo richiamo in calce ad ogni slide non devono mai essere rimossi e devono essere riportati anche in utilizzi parziali. © 2007 Pier Luca Montessoro e Luca Da Re (si veda la nota di copyright alla slide n. 2) 2 Fondamenti di Informatica – Applicazioni Real-Time Applicazioni Sistemi Operativi Real-Time • I sistemi operativi real-time sono “nascosti”: – Non sono studiati per interagire con l'utente (uomo) – La programmazione di questi ambienti avviene solitamente con l'ausilio di altri sistemi operativi non real-time • La loro principale applicazione è in sistemi embedded • La maggior parte dei sistemi operativi realtime consiste in soluzioni proprietarie studiate appositamente per particolari piattaforme hardware (progetto hardware/software) © 2007 Pier Luca Montessoro e Luca Da Re (si veda la nota di copyright alla slide n. 2) 3 Fondamenti di Informatica – Applicazioni Real-Time Campi di applicazione • Campi di applicazione dei sistemi operativi real-time: – Macchine automatiche – Automobili – Computers – Sistemi di telecomunicazione – Centrali Elettriche – Avionica – Robotica – ecc... © 2007 Pier Luca Montessoro e Luca Da Re (si veda la nota di copyright alla slide n. 2) 4 Fondamenti di Informatica – Applicazioni Real-Time Campi di applicazione © 2007 Pier Luca Montessoro e Luca Da Re (si veda la nota di copyright alla slide n. 2) 5 Fondamenti di Informatica – Applicazioni Real-Time Campi di applicazione © 2007 Pier Luca Montessoro e Luca Da Re (si veda la nota di copyright alla slide n. 2) 6 Fondamenti di Informatica – Applicazioni Real-Time La prima applicazione Real-Time • Nel 1947, in collaborazione con la marina militare americana, iniziò lo sviluppo del progetto Whirlwind • Fu il primo computer ad alta velocità in grado di operare in real-time ed ad essere usato per un fine pratico © 2007 Pier Luca Montessoro e Luca Da Re (si veda la nota di copyright alla slide n. 2) 7 Fondamenti di Informatica – Applicazioni Real-Time Il progetto Whirlwind • Le caratteristiche del Whirlwind furono possibili grazie all’uso di nuclei di ferrite, che erano molto più veloci delle memorie a tubo catodico dei precedenti sistemi • Nuclei di ferrite dello stesso genere furono usati negli Stati Uniti in memorie come la UNIVAC 1003 (1953) e la IBM 704 (1954) © 2007 Pier Luca Montessoro e Luca Da Re (si veda la nota di copyright alla slide n. 2) 8 Fondamenti di Informatica – Applicazioni Real-Time Il progetto Whirlwind • Jay W. Forrester pensò ad un’istruttore ed analizzatore di volo aereo che simulasse le forze aereodinamiche che agiscono sui controlli del pilota • Il pilota deve agire prontamente nel simulatore tanto quanto nella realtà • Tutta la strumentazione deve quindi operare in tempi di risposta reali © 2007 Pier Luca Montessoro e Luca Da Re (si veda la nota di copyright alla slide n. 2) 9 Fondamenti di Informatica – Applicazioni Real-Time Database Real-Time • Un’importante area di applicazione dei sistemi real-time è nei database • Un database real-time è un sistema di processare le transazioni nel quale i dati hanno esplicite costrizioni temporali © 2007 Pier Luca Montessoro e Luca Da Re (si veda la nota di copyright alla slide n. 2) 10 Fondamenti di Informatica – Applicazioni Real-Time Database Real-Time • Disegnare Database Real-Time implica: – Analizzare le esigenze del sistema nell’identificare i dati – Determinare le capacità hardware – Identificare le differenti criticità dei dati e le restrizioni di integrità © 2007 Pier Luca Montessoro e Luca Da Re (si veda la nota di copyright alla slide n. 2) 11 Fondamenti di Informatica – Applicazioni Real-Time Database Real-Time • I database Real-Time sono usati in una varietà di applicazioni: – Controllo di processo – Sistemi radar – Produzione computerizzata – Controllo del traffico – Realtà virtuale – Multimedia © 2007 Pier Luca Montessoro e Luca Da Re (si veda la nota di copyright alla slide n. 2) 12 Fondamenti di Informatica – Applicazioni Real-Time Database Real-Time • I sistemi di gestione di database ordinari provvedono tecniche di controllo simultaneo che cercano di preservare la consistenza dei dati (per esempio bloccando letture e scritture) e della logica • I database real-time devono anche imporre controlli che preservino l’esigenza di consistenza temporale dei dati – Come in molti sistemi real-time, minimizzare la risposta media è meno importante che garantire i vincoli temporali delle transazioni critiche © 2007 Pier Luca Montessoro e Luca Da Re (si veda la nota di copyright alla slide n. 2) 13 Fondamenti di Informatica – Applicazioni Real-Time Elaborazione Real-Time delle immagini • La rappresentazione di immagini real-time non riguarda solo processori veloci ad architettura parallela • Essa coinvolge almeno 3 fondamentali confronti: – Performance contro risoluzione dell’immagine – Performance contro le dimensioni della banda di input/output – Numero di task contro sincronizzazione © 2007 Pier Luca Montessoro e Luca Da Re (si veda la nota di copyright alla slide n. 2) 14 Fondamenti di Informatica – Applicazioni Real-Time Elaborazione Real-Time delle immagini • Il problema di esprimere algoritmi per immagini (specialmente in architetture multiprocessore), di trovare appropriati linguaggi di programmazione, di testare l’affidabilità e di creare tecniche concrete di sviluppo software non è risolto semplicemente con dell’hardware più veloce © 2007 Pier Luca Montessoro e Luca Da Re (si veda la nota di copyright alla slide n. 2) 15 Fondamenti di Informatica – Applicazioni Real-Time Elaborazione Real-Time delle immagini • Vantaggi dell’elaborazione real-time: – Molte applicazioni per immagini possono essere realizzate senza utilizzare costrutti di linguaggio che distruggono il determinismo – Sono disponibili speciali architetture real-time • Svantaggi dell’elaborazione real-time: – Molte applicazioni per immagini sono critiche per quanto riguarda il tempo ed elaborano intensivamente dati – Non esistono linguaggi di programmazione standard disponibili per l’elaborazione real-time delle immagini © 2007 Pier Luca Montessoro e Luca Da Re (si veda la nota di copyright alla slide n. 2) 16 Fondamenti di Informatica – Applicazioni Real-Time Elaborazione Real-Time delle immagini • L’elaborazione delle immagini copre una vasta gamma di aree di ricerca: – – – – – Compressione delle immagini Acquisizione ed inseguimento di un target Controlli e sensori remoti Miglioramento e filtro delle immagini Connessioni di rete per la visualizzazione realtime – Architetture computer avanzate – Misurazioni ed esami ottici – Simulazione © 2007 Pier Luca Montessoro e Luca Da Re (si veda la nota di copyright alla slide n. 2) 17 Fondamenti di Informatica – Applicazioni Real-Time Elaborazione Real-Time delle immagini • Queste aree di ricerca sono critiche in applicazioni quali: – Robotica – Realtà virtuale – Multimedia – Ispezioni industriali – Televisioni ad alta definizione – Simulatori avanzati – Produzione assistita da computer – Veicoli intelligenti © 2007 Pier Luca Montessoro e Luca Da Re (si veda la nota di copyright alla slide n. 2) 18 Fondamenti di Informatica – Applicazioni Real-Time Un sistema di elaborazione immagini realtime Video analogico Digitalizzazione Miglioramento e filtro delle immagini Movimento e rilevazione delle immagini Visualizzazione Decisione logica • • • • • Viene digitalizzato un video analogico in ingresso da una telecamera o un sensore L’immagine viene migliorata e filtrata per rimuovere il rumore Se necessario viene effettuato il movimento e la rilevazione delle immagini Se richiesto vengono applicate decisioni logiche per modificare l’immagine Spesso è necessaria una visualizzazione real-time (per esempio a 30 frame al secondo per una continua percezione del movimento) © 2007 Pier Luca Montessoro e Luca Da Re (si veda la nota di copyright alla slide n. 2) 19 Fondamenti di Informatica – Applicazioni Real-Time Applicazioni: la Realtà Virtuale • I sistemi a realtà virtuale sono complessi simulatori che coinvolgono la vista, l’udito, il tatto ed altri feedback per far credere ai meccanismi di percezione umani di essere realmente in un mondo artificiale • Anche se la realtà virtuale ha ovvie applicazioni in simulatori di combattimento, l’impiego più promettente è in ambito civile ed include: – – – – Esercizi e ricreazione Riabilitazione fisica e terapie Addestramento professionale Diagnosi psicologica © 2007 Pier Luca Montessoro e Luca Da Re (si veda la nota di copyright alla slide n. 2) 20 Fondamenti di Informatica – Applicazioni Real-Time Applicazioni: la Realtà Virtuale • Vi sono 3 modelli di Realtà Virtuale: – Telepresenza: un operatore che controlla da remoto un robot come se fosse fisicamente presente – Immersione: un simulatore può realmente ingannare i sensi umani nel credere che l’ambiente ricreato sia vero – Incremento di realtà (Augmented Reality): un display di informazioni reali è integrato con informazioni simulate © 2007 Pier Luca Montessoro e Luca Da Re (si veda la nota di copyright alla slide n. 2) 21 Fondamenti di Informatica – Applicazioni Real-Time Applicazioni: la Realtà Virtuale • Alte performance e garanzie temporali sono essenziali per assicurare che l’illusione di realtà sia mantenuta • Quelli a realtà virtuale forse sono i più complessi sistemi real-time perché interessano problemi come il controllo ed il puntamento • La realtà virtuale interessa anche processori e programmi simultanei, periferiche condivise, ed è quindi importante il concetto di sincronizzazione © 2007 Pier Luca Montessoro e Luca Da Re (si veda la nota di copyright alla slide n. 2) 22 Fondamenti di Informatica – Applicazioni Real-Time Applicazioni: i multimedia • L’aumento dei computer multimediali ha spinto la ricerca verso l’elaborazione multimediale • I sistemi multimediali possono essere visti come una combinazione di immagini, animazioni, video e audio • Come per la realtà virtuale, nelle applicazioni multimediali è importante che l’audio sia in sincronia con l’immagine della persona che parla © 2007 Pier Luca Montessoro e Luca Da Re (si veda la nota di copyright alla slide n. 2) 23 Fondamenti di Informatica – Applicazioni Real-Time Applicazioni: i multimedia • I sistemi multimediali hanno bisogno di: – Alta potenza di calcolo – Reti ad alta velocità – Grandi dispositivi di memorizzazione – Tecniche di compressione audio e video – Sistemi Operativi real-time – Sviluppo di software – Memorizzazione e recupero dati – Tecniche parallele © 2007 Pier Luca Montessoro e Luca Da Re (si veda la nota di copyright alla slide n. 2) 24 Fondamenti di Informatica – Applicazioni Real-Time Applicazioni: i multimedia • Si è lavorato per creare sistemi operativi multimediali che abbiano ampie bande per i bus, alte performance e schedulazione real-time • Nello sviluppo dei strumenti software le ricerche si sono concentrate attorno ad un nuovo linguaggio ad oggetti • Di grande interesse sono le tecniche di compressione audio e video che si sono concentrate nello sforzo di mantenere il sistema deterministico, predicibile e sincronizzato © 2007 Pier Luca Montessoro e Luca Da Re (si veda la nota di copyright alla slide n. 2) 25 Fondamenti di Informatica – Applicazioni Real-Time Una generica architettura multimediale Controllo degli ingressi Video digitale Visualizzazione video Audio digitale Video digitale compresso decompressione Sistema di elaborazione multimediale Audio digitale compresso Uscita audio decompressione Database © 2007 Pier Luca Montessoro e Luca Da Re (si veda la nota di copyright alla slide n. 2) 26 Fondamenti di Informatica – Applicazioni Real-Time Applicazioni: sistemi di telecomunicazione • La proprietà di un sistema operativo real-time di rispondere entro tempi determinati alle sollecitazioni esterne ben si adatta nel caso di sistemi di monitoraggio • In questo ambito si inserisce il progetto City8 iniziato nel 2003 dall’impegno congiunto di Telecom Italia Lab e Pirelli Broadband Solutions © 2007 Pier Luca Montessoro e Luca Da Re (si veda la nota di copyright alla slide n. 2) 27 Fondamenti di Informatica – Applicazioni Real-Time Il progetto City8 • Il progetto della Pirelli consiste in un dispositivo che controlli il traffico dati in una centrale telefonica Telecom • Tale dispositivo monterà il modulo embedded PPChameleon distribuito da Dave s.r.l. nel quale verrà installato il sistema operativo real-time VxWorks • La centrale telefonica farà parte di una rete MAN (Metropolitan Area Network) © 2007 Pier Luca Montessoro e Luca Da Re (si veda la nota di copyright alla slide n. 2) 28 Fondamenti di Informatica – Applicazioni Real-Time Il dispositivo City8 © 2007 Pier Luca Montessoro e Luca Da Re (si veda la nota di copyright alla slide n. 2) 29 Fondamenti di Informatica – Applicazioni Real-Time Il progetto City8: rete MAN • Una rete MAN si colloca per dimensioni tra un rete LAN (Local Area Network) e una rete WAN (Wide Area Network) • Solitamente essa copre un’area con le dimensioni di una città oppure in alcuni casi può essere composta da un gruppo di edifici • Una rete MAN agisce come una connessione ad alta velocità che permettere la distribuzione delle risorse regionali (simile ad una grande LAN) • È spesso usata anche per provvedere una connessione condivisa con altre reti ricorrendo ad un collegamento con una WAN © 2007 Pier Luca Montessoro e Luca Da Re (si veda la nota di copyright alla slide n. 2) 30 Fondamenti di Informatica – Applicazioni Real-Time Il progetto City8: rete MAN • Le centrali facenti parte di una MAN sono collegate tra loro attraverso fibra ottica e formano un’anello (o Metro Ring), collegato a sua volta al resto della rete © 2007 Pier Luca Montessoro e Luca Da Re (si veda la nota di copyright alla slide n. 2) 31 Fondamenti di Informatica – Applicazioni Real-Time Il progetto City8: tecnologia WDM • Questo sistema fa uso della tecnologia WDM (Wavelength Division Multiplexing), utile ad aumentare la banda delle reti d’accesso e delle MAN • Per modulare diversi canali su una stessa fibra ottica si usano diverse portanti di differenti lunghezze d'onda, una per ogni canale, e per la singola portante si usa la modulazione di intensità: in questo modo è possibile sfruttare la grande banda ottica disponibile • La tecnologia di trasporto ottico basata sulla multiplazione di lunghezza d'onda a spaziatura larga, o Coarse Wavelength Division Multiplexing (CWDM), si sta rapidamente affermando come una soluzione efficiente ed economica per un utilizzo in ambito metropolitano e di accesso, sia in reti Lineari (PuntoPunto, Bus) che ad Anello (Ring) © 2007 Pier Luca Montessoro e Luca Da Re (si veda la nota di copyright alla slide n. 2) 32 Fondamenti di Informatica – Applicazioni Real-Time Il progetto City8: CWDM vs. DWDM • A differenza del DWDM (Dense Wavelength Division Multiplexing), tecnologia di trasporto a multiplazione densa di lunghezza d'onda, che viene applicata in reti Metro Core e Regional come sistema di trasporto ad alta capacità, il CWDM è nato con lo specifico obiettivo di operare in ambito metropolitano al fine di ridurre i costi di trasporto, laddove non sono richieste prestazioni elevate in termini di banda, numero di canali e distanza trasmissiva • Il contenimento dei costi deriva in particolare dagli elementi chiave di tale tecnologia, che consente l'impiego di sorgenti ottiche colorate (Laser) a basso costo e di Multiplazione/Demultiplazione ottica passiva, oltre a prevedere l'assenza di amplificazione ottica © 2007 Pier Luca Montessoro e Luca Da Re (si veda la nota di copyright alla slide n. 2) 33 Fondamenti di Informatica – Applicazioni Real-Time Il progetto City8: sistema EMMAS • Telecom Italia Lab ha realizzato la componente gestionale del City8, comprensiva sia del sistema EMMAS (Element Manager Metro Access System), residente nei centri di gestione della rete, che del Terminale di Accesso Locale (TAL), ad uso del tecnico di centrale per operazioni di installazione/configurazione direttamente in loco © 2007 Pier Luca Montessoro e Luca Da Re (si veda la nota di copyright alla slide n. 2) 34 Fondamenti di Informatica – Applicazioni Real-Time Il progetto City8: sistema EMMAS • Il software di gestione EMMAS copre tutte le aree funzionali tipiche per il controllo di apparati ottici • Offre in particolare un insieme di funzionalità per il provisioning, l'assurance, l'esercizio e manutenzione degli apparati City8: – – – – – gestione della configurazione gestione del firmware gestione allarmi gestione protezioni gestione delle prestazioni • L'interfaccia verso gli apparati si basa sul protocollo gestionale SNMP/v2 e su FTP per il download del firmware di apparato © 2007 Pier Luca Montessoro e Luca Da Re (si veda la nota di copyright alla slide n. 2) 35 Fondamenti di Informatica – Applicazioni Real-Time Applicazioni del City8 • Un'applicazione pratica della soluzione EMMAS/City8 nel contesto nazionale è costituita dal suo impiego da parte di Telecom Italia nell'infrastruttura di rete di trasporto per la fornitura all'utenza residenziale dei cosiddetti servizi "triple play" cioè i servizi voce (VoIP), broadband internet e IP-TV basati su rete IP • Per tale applicazione sono stati dispiegati in campo circa 220 apparati City8 nelle principali città italiane, in topologie ad anello di 4/5 nodi ciascuno, che vengono gestiti da due server EMMAS, situati nei centri di esercizio di Milano Rozzano e Napoli © 2007 Pier Luca Montessoro e Luca Da Re (si veda la nota di copyright alla slide n. 2) 36 Fondamenti di Informatica – Applicazioni Real-Time Applicazioni del City8 • Altre installazioni EMMAS/City8 sono in corso per TIF (Telecom Italia France) ed altri operatori di telecomunicazione, che si stanno orientando a soluzioni di trasporto CWDM per determinati segmenti di rete • Tra i possibili impieghi rientra anche la fornitura di servizi Lambda wave, cioè di trasporto dati su canali ottici ad alta velocità per applicazioni orientate all'utenza business, di tipo remote back-up, disaster recovery e business continuity © 2007 Pier Luca Montessoro e Luca Da Re (si veda la nota di copyright alla slide n. 2) 37