Virtual Hardware: un nuovo modo di progettare Alberto Aloisio Universita’ di Napoli ‘Federico II’ ed INFN
Le idee della Ricerca a lavoro - Napoli, 26 Febbraio Contenuti Quale Virtual Hardware ? Virtual vs. Traditional Esempi di Virtual Hardware in applicazioni consumer, computing e di ricerca Partnership con l’INFN Conclusioni
Le idee della Ricerca a lavoro - Napoli, 26 Febbraio Quale Virtual Hardware? Cio’ che si intende per Virtual Hardware dipende dal particolare contesto accademico, commerciale o applicativo: Emulazione in Sw di Hw complesso, come strumentazione di misura Hw basato su dispositivi in grado di essere riprogrammati (FPGA, processori), per apportare migliorie o eliminare difetti Hw in grado di svolgere piu’ funzioni di quelle fisicamente allocabili nelle risorse a disposizione
Le idee della Ricerca a lavoro - Napoli, 26 Febbraio Interazione con le condizioni d’uso Un Virtual Hardware e’ in grado di adattarsi alle mutate condizioni di utilizzo, svolgendo ruoli anche molto diversi da quelli precedentemente previsti, sulla base di risorse hardware predefinite Questa definizione sottintende l’uso di dispositivi riprogrammabili, ma richiede allo sviluppatore un paradigma di progetto ben piu’ complesso della sola scelta dei componenti Le mutate condizioni possono interagire interattivamente in real-time col sistema (adaptive o evolvable hardware), oppure off-line, richiedendo l’intervento dell’utente o del progettista per soddisfare diverse esigenze di prestazioni, di mercato, di costi di produzione, di time-to-market
Le idee della Ricerca a lavoro - Napoli, 26 Febbraio Virtual Hardware trade-off Vantaggi: Maggiori funzionalita’ e flessibilita’ del prodotto, con risorse HW limitate Sviluppo di un numero ridotto di piattaforme HW per prodotti diversi o diversificabili dopo la vendita Meno investimenti su componenti, tool di sviluppo, magazzino Caveat: E’ necessario riqualificare i progettisti in un settore relativamente nuovo, che si basa su componenti tecnologicamente avanzati e software d’avanguardia Serve il know-how per individuare classi di applicazioni che possano trarre vantaggio da questo paradigma
Le idee della Ricerca a lavoro - Napoli, 26 Febbraio Tre esempi di Virtual Hardware Consumer/Commodity Hardware: lo Studio MovieBox ™ della Pinnacle High Performance Computing: i super-computer Cray XT e XD Ricerca Spaziale: la missione NASA Rover Mars Exploration
Le idee della Ricerca a lavoro - Napoli, 26 Febbraio Lo Studio MovieBox ™ Pinnacle Lo Studio MovieBox della Pinnacle permette di importare su di un PC tramite porta USB la maggioranza degli stream video, da sorgenti analogiche o digitali Dopo l’elaborazione, il MovieBox puo’ riprodurre il video su un TV o salvarlo su VCR, telecamera digitale o altro supporto Lo Studio MovieBox della Pinnacle
Le idee della Ricerca a lavoro - Napoli, 26 Febbraio Il Video Engine del MovieBox ™ Il cuore del MovieBox e’ costituito da una FPGA Altera che viene di volta in volta riprogrammata per elaborare la stream video scelta dall’utente La dimensione della FPGA puo’ quindi essere molto piu’ piccola di quella necessaria a gestire TUTTI i possibili formati Tramite la porta USB, il PC scarica nella FPGA la configurazione richiesta: non e’ quindi necessaria una memoria permamente a bordo.
Le idee della Ricerca a lavoro - Napoli, 26 Febbraio Vantaggi Alcuni vantaggi di questa architettura sono evidenti: Costo, ingombro, peso, complessita’ e dissipazione di potenza contenuti Possibilita’ di upgrade dell’hardware via software, incluso il supporto di nuovi standard Progettazione, assemblaggio e manutenzione semplificati Altri sono meno ovvi: piattaforma unica per prodotti di classe e costo diversi: cambia solo il firmware
Le idee della Ricerca a lavoro - Napoli, 26 Febbraio I super-computer Cray I super-computer CRAY uniscono processori commerciali di nuova generazione con acceleratori hardware basati su FPGA riconfigurabili, che vengono programmate per svolgere algoritmi specifici Questo paradigma di Reconfigurable Computing (RC) ha permesso di migliorare di piu’ di un ordine di grandezza le prestazioni di calcolo in applicazioni selezionate. Il super-computer CRAY XT5 (Cray Web site)
Le idee della Ricerca a lavoro - Napoli, 26 Febbraio Il coprocessore virtuale Le FPGA sono alla base di piattaforme di accelerazione ad alte prestazioni, configurata ad hoc per elaborare in hardware gli algoritmi che richiedono le prestazioni piu’ elevate Piu’ coprocessori risiedono in un modulo di espansione (blade) che li collega tramite un network ad alta velocita’ e bassa latenza con i processori centrali Rispetto ai microprocessori, le FPGA offrono i seguenti vantaggi: permettono una elaborazione altamente parallela, con formato della parola dati variabile in base alle esigenze ed alla precisione richiesta; possono essere riprogrammate senza dover in alcun modo modificare l’hardware del mainframe Le risorse del mainframe si ‘adattano’ all’algoritmo da eseguire Schema a blocchi di un blade del CRAY XD1 Schema a blocchi di un coprocessore riconfigurabile basato su FPGA
Le idee della Ricerca a lavoro - Napoli, 26 Febbraio Programmazione e Prestazioni Le parti di codice piu’ critiche sono identificate ed isolate in subroutines o macro Queste vengono descritte in un linguaggio ad alto livello, in grado di generare la configurazione hardware dei coprocessori Una volta chiamate dal programma principale, queste subroutine verranno eseguite in hardware sulle FPGA Una applicazione di breaking del block-cipher RC5 gira 1000 molte piu’ veloce che su di un Pentium 4 a 3GHz In applicazioni bio-informatiche, il codice Smith-Waterman gira circa 26 volte piu’ veloce se confrontato con un Opteron I tempi di esecuzione di codici di previsioni meteo, simulazioni di fluidodinamica e propagazione elettromagnetica migliorano in media di un fattore 30
Le idee della Ricerca a lavoro - Napoli, 26 Febbraio La Missione NASA ‘Rover Mars Exploration’ Il BOEING Delta II usato nei due lanci della missione Rover Mars Exploration (NASA Web site) Il 10 giugno ed il 7 luglio 2003 la NASA ha avviato la missione Rover Mars Exploration lanciando verso Marte due robot semoventi (rover) soprannominati Spirit ed Opportunity Gli scopi primari della missione sono lo studio del suolo e delle rocce e la ricerca di presenza d’acqua sul pianeta nel passato. I due rover sono atterrati con successo il 4 ed il 25 gennaio 2004 in due siti ai lati opposti del Pianeta Rosso dove si ritiene che ci sia stata presenza d’acqua
Le idee della Ricerca a lavoro - Napoli, 26 Febbraio L’elettronica dei Rover I computer di bordo di Spirit e Opportunity sono basati sul microprocessore a 32-bit Rad 6000, una versione resistente alle radiazioni del PowerPC Due FPGA Virtex ™ XQVR1000 sono usate per il controllo real-time dei motori: sono state riprogrammate piu’ volte per adattarsi alle caratteristiche del terreno A fine missione, i due Rover saranno riconfigurati come radiofari, in ausilio a future esplorazioni Le FPGA saranno riprogrammate con la logica necessaria per gestire le antenne e le comunicazioni Grafica del Rover di Dan Maas, Maas Digital LLC (c) 2002 Cornell University
Le idee della Ricerca a lavoro - Napoli, 26 Febbraio Sol 1333 (Oct.2007): il Victoria Crater visto da Opportunity Progettati per avere una autonomia di 3 mesi, i due Rover sono tuttora pienamente operativi, dopo 4 anni di missione La riprogrammazione ha permesso di superare ostacoli imprevisti e problemi legati alla potenza disponibile Oppurtunity ha raggiunto ad ottobre 2007 il Victoria Crater ed e’ attualmente impegnato nello studio delle bande di rocce colorate presenti al suo interno In bocca al lupo ai due Rover ! Panorama del Victoria Crater (NASA Web Site)
Le idee della Ricerca a lavoro - Napoli, 26 Febbraio Il partner INFN I Ricercatori dell’INFN di Napoli hanno un’esperienza decennale nello sviluppo di Virtual Hardware per sistemi di acquisizione dati di esperimenti di Fisica fondamentale ed applicata L’INFN puo’ fornire la competenza necessaria per individuare applicazioni e soluzioni basate su Virtual Hardware alle PMI che non abbiano al momento al loro interno le risorse tecniche e strumentali per affrontare il problema
Le idee della Ricerca a lavoro - Napoli, 26 Febbraio Conclusioni Il Virtual Hardware si propone come un paradigma in grado di razionalizzare la progettazione dell’HW, fornendo migliori prestazioni a costi inferiori Il paradigma trova oggi applicazione nei piu’ svariati ambiti applicativi Il progettista deve avere una percezione complessiva del prodotto, dalla produzione alle strategie di marketing dell’Azienda per pianificare una piattaforma unica per piu’ applicazioni Nell’ambito di uno stesso prodotto, vanno individuate soluzioni che si adattino a mutate condizioni d’uso con una riprogrammazione delle risorse