410 likes | 593 Views
Sistemi dedicati per applicazioni di calcolo. Alessandro Marongiu ENEA - INFO. Outline. Applicazioni Architetture Convenzionali Architetture dedicate Parametri tecnico/economici Hardware/Software co-design. Applicazioni. Elaborazione di segnali ed immagini: Formato dei dati: 8-32 bit;
E N D
Sistemi dedicati per applicazioni di calcolo Alessandro Marongiu ENEA - INFO
Outline • Applicazioni • Architetture Convenzionali • Architetture dedicate • Parametri tecnico/economici • Hardware/Software co-design
Applicazioni • Elaborazione di segnali ed immagini: • Formato dei dati: 8-32 bit; • Tipologia operazioni: add, sub, mul, div; • Possibile vincolo real time: si; • Compressione/decompressione di segnali ed immagini: • Formato dati: 8-32 bit; • Tipologia operazioni: add, sub, mul, div; • Possibile vincolo real time: si; • Crittografia: • Formato dati: 8-32 bit; • Tipologia operazioni: add, sub, mul, div; • Possibile vincolo real time: si; • Reti Neurali: • Formato dati: 8/16 bit; • Tipologia di operazioni: add, sub, mul, div; • Possibile vincolo real time: si • Analisi genomica/proteomica: • Formato dati: 2/5 bit; • Tipologia operazioni: compare, add; • Possibile vincolo real time: no Real Time Tempo di calcolo: D Num di operazioni: NbOp Potenza di calcolo: NbOp/D
Applicazioni • Filtraggio di un’immagine 1000x1000 con maschera 7x7 • Richiede circa 98 Mop per l’elaborazione di un singolo frame • Vincolo real time 50 fps • Potenza di calcolo richiesta circa 5GOp/s
Architetture convenzionali • Sono costituite da elementi COTS (Commodity-Off-The-Shelf) • La maggior parte del silicio è impiegata per l’implementazione di: • Memoria cache/gerarchie di memoria • Hardware di controllo • Scheduling microprocessore • Ambiente multiprocesso
Architetture convenzionali Cluster Cluster Cluster Nodo Rete di interconnessione ad alte prestazioni Nodo Rete di interconnessione Nodo Nodo CPU CPU Memory Nodo BUS (PCI,...)
Architetture convenzionali • Le performance di un processore COTS sono limitate dalla banda di memoria: l’evoluzione dei processori avanza più velocemente della velocità di accesso alla memoria • Un processore in grado di sostenere N ops/sec può farlo se e solo se la memoria è in grado, contemporaneamente, di • Fornire tutti gli operandi necessari • Memorizzare tutti i risultato prodotti
Architetture convenzionali • Una cattiva utilizzazione della banda di memoria produce una scarsissima utilizzazione delle risorse di calcolo
Architetture convenzionali • Sono progettate per l’esecuzione di operazioni a 32/64 bit in virgola mobile o fissa • Il loro utilizzo con tipologie di operazioni con bassa precisione (<8,16 bit) produce una cattiva utilizzazione delle risorse • Applicazioni del tipo confronto di stringhe (proteomica/genomica), operazioni ad 1 bit, elaborazione di segnali ed immagini, reti neurali, ricadono nella classe precedente
Architetture dedicate • Sono costituite da elementi di tipo: • ASIC (Application Specific Integrated Circuit) • FPGA (Field Programmable Gate Array) • DSP (Digital Signal Processor) • Microcontrollori/COTS • La maggior parte del silicio è impiegata per la realizzazione di unità di calcolo
ASIC Memory CPU CPU Memory BUS I/F BUS (PCI,...) BUS I/F BUS I/F Memory Memory Architetture dedicate Eterogeneità
ASIC Si basa sull’utilizzo di una struttura in silicio prediffusa (porte logiche già implementate) su cui vengono realizzati solo gli strati di metallizzazione per le interconnessioni. D Q CLK
FPGA Si basa sull’utilizzo di blocchi logici configurabili mediante LUT (Look-Up-Table) che possono implementare arbitrarie funzioni logiche CLB: Configurable Logic Block LUT D Q CLK
Parametri tecnici per la scelta di implementare un sistema dedicato (1) • NbFU >> PSCOTSEFFCOTS/fCLK • NbFU: Numero unità funzionali del sistema dedicato • PSCOTS:Potenza di picco del sistema COTS • EFFCOTS: Efficienza di utilizzo del sistema COTS • fCLK: Frequenza di clock del sistema dedicato
Parametri tecnici per la scelta di implementare un sistema dedicato (2) NOPS = N1W = N2(W – D - G) OPS/sec N2 N1 t W D G = Guadagno D = Ritardo W = Tempo di calcolo D’ = Ritardo oltre il tempo di calcolo ritenuto accettabile
Parametri tecnici per la scelta di implementare un sistema dedicato (3) NOPS = N1W = N2(W – D + D’) D > W(1 – N1/N2) implica D’ > 0 OPS/sec N2 N1 t W D’ D D = Ritardo W = Tempo di calcolo D’ = Ritardo oltre il tempo di calcolo ritenuto accettabile
Parametri economici per la scelta di implementare un sistema dedicato • Retribuzione media del personale progettista (comprensiva dei costi indiretti) • Redditività dell’impresa • Stima delle risorse necessarie alla realizzazione del sistema • Stima del tempo di realizzazione del sistema (time-to-market) • Stima del numero di unità da realizzare • Stima del tempo di vita/obsolescenza del sistema
Massimo profitto Pmax Pmax(1 – D/W) W W D PT/Ptmax = 1-D[(3W – D)/2W2] (PT = Profitto Totale) 2W = 60mesi (5 anni), D = 6 mesi implica 28% di mancati ricavi Effetto economico del time-to-marketFonte: McKinsey/Motorola 2003 P D = Ritardo 2W = Tempo di vita t
Costi non ricorrentiFonte: Motorola 2003 ASIC 4/6 milioni di gate • Definizione delle specifiche: 120.000 $ • Progettazione funzionale del sistema: 240.000 $ • Progettazione logica: 2.250.000 $ • Verifica di progetto: 4.500.000 $ • Progettazione Maschere: 1.000.000 $ • Fabbricazione prototipo: 120.000 $ • Verifica prototipo: 150.000 $ • Realizzazione scheda: 144.000 $ • Assemblaggio: 144.000 $ • Integrazione software: 600.000 $ • Totale: 9.268.000 $ • Tempo: 75 settimane
B E A C D Applicazione • Applicazione • Insieme di operazioni tra loro dipendenti, parzialmente ordinate operanti su un insieme di dati di ingresso e la cui esecuzione produce un insieme di dati di uscita
ASIC Memory CPU CPU Memory BUS I/F BUS (PCI,...) BUS I/F BUS I/F Memory Memory Architettura • Architettura • Insieme di elementi interconnessi in grado di eseguire operazioni in maniera concorrente e coordinata
ASIC Memory CPU CPU Memory B E A BUS I/F C D BUS (PCI,...) BUS I/F BUS I/F Memory Memory Hardware/Software Co-design
Flusso di progetto (1) • Definizione delle specifiche e dei vincoli di progetto • Vincoli architetturali • Vincoli prestazionali (real time) • Partizione dell’applicazione in blocchi omogenei
Flusso di progetto (2) • Individuazione dell’architettura • Hardware specializzato (ASIC, FPGA) • Processori specializzati (DSP) • Processori COTS
Flusso di progetto (3) • Implementazione del sistema • Mapping dei blocchi omogenei sugli elementi costituenti l’architettura • Implementazione dei singoli blocchi sui singoli elementi architetturali • Sintesi delle comunicazioni (sincronizzazione) • Verifica dei risultati
Specifiche di progetto • Fornite mediante uno o più modelli di calcolo • Univoche/non ambigue • Definite mediante linguaggi ad alto livello • Verificabili staticamente (proprietà matematiche del modello di calcolo) • Verificabili dinamicamente (simulazione del modello di calcolo) • Blocchi omogenei interagenti tra di loro • Sintetizzabili con metodologie di sintesi ad alto livello • Possono essere fornite mediante blocchi progettati precedentemente o acquistati da terze parti
Individuazione dell’architettura • Derivata mediante un processo di esplorazione architetturale • Processo di ottimizzazione • Libreria di elementi architetturali (spazio delle architetture) • Regole di composizione degli elementi architetturali • Funzione di costo per la valutazione delle architetture (stima del costo/prestazioni, consumo di potenza, etc.)
Implementazione del sistema • Metodologie di sintesi ad alto livello • Passi che trasformano le specifiche di progetto ad alto livello in descrizioni a più basso livello di astrazione • Ogni passo deve essere corretto per costruzione • Automatizzabile • Verifica dei risultati non più necessaria
specifiche vincoli verifica statica/dinamica spazioarchitetture esplorazione architetturale sintesi ad alto livello descrizione sintetizzabile La nostra visione
Costi non ricorrentiFonte: Motorola 2003 ASIC 4/6 milioni di gate Flusso Standard Flusso hw/sw • Definizione delle specifiche: 120.000 $ 120.000 $ • Progettazione funzionale del sistema: 240.000 $ 240.000 $ • Progettazione logica: 2.250.000 $ 0 $ • Verifica di progetto: 4.500.000 $ 0 $ • Progettazione Maschere: 1.000.000 $ 1.000.000 $ • Fabbricazione prototipo: 120.000 $ 120.000 $ • Verifica prototipo: 150.000 $ 150.000 $ • Realizzazione scheda: 144.000 $ 144.000 $ • Assemblaggio: 144.000 $ 144.000 $ • Integrazione software: 600.000 $ 600.000 $ • Totale: 9.268.000 $ 2.518.000 $ - 70% • Tempo: 75 settimane 27 settimane - 60%
HARWEST – Modelli di calcolo • Modelli di calcolo • SARE (System of Affine Recurrence Equations): Algoritmi data-dominated caratterizzati da una estrema regolarità (cicli iterativi annidati) • CDFG (Control/Data Flow Graphs): Algoritmi data-dominated non regolari • FSM (Finite State Machines): Algoritmi control-dominated
HARWEST – Spazio delle architetture • Spazio delle architetture • Board FPGA; • Board DSP; • Workstation • Cluster
CDFG specifiche funzionali del sistema FSM SARE CDFG IP SARE CDFG FSM tools di compilazione CDFG tools di analisi e simulazione FSM SARE CDFG IP SARE CDFG FSM HARWEST – Flusso di progetto (1)
CDFG FSM SARE CDFG IP tool di allocazione FPGA BUS PCI spazio delle architetture P DSP SARE CDFG FSM tools di sintesi ad alto livello HW SW HW SW HW SW HARWEST – Flusso di progetto (2)
CDFG specifiche funzionali del sistema FSM SARE CDFG IP SARE CDFG FSM tools di compilazione CDFG tools di analisi e simulazione FSM SARE CDFG IP SARE CDFG FSM PHG/PHSim – Flusso di progetto (1)
CDFG FSM SARE CDFG IP tool di allocazione FPGA BUS PCI spazio delle architetture P DSP SARE CDFG FSM tools di sintesi ad alto livello HW SW HW SW HW SW PHG/PHSim – Flusso di progetto (2)
PRAN: Protein Analyzer • Ricerca di determinate sequenze di amminoacidi all’interno di un proteoma • Prestazioni: 12GOps @ 40 MHz • Risultati comparativi: • Sun UltraSparc 60 @ 400 MHz 15 • Alpha EV6.7 @ 667 MHz 5
PROSIDIS: Protein Similarity Discovery • Ricerca del grado di similitudine di una sequenza di amminoacidi all’interno di un proteoma • Prestazioni: 2,8 Gops @ 33 MHz • Risultati comparativi: • Pentium III @ 1 GHz 5,6 • Alpha EV6.7 @ 667 MHz 7,4 • SGI R12000 @ 300 MHz 10,3 • IBM Power3 @ 200 MHz 22,2 • Sun UltraSparc 60 @ 400 MHz 55,6
LABS: Low Autocorrelation Binary String • Ricerca di stringhe binarie a bassa autocorrelazione • Prestazioni: 6,7 Gops @ 25 MHz • Risultati comparativi: • Alpha EV6.7 @ 667 MHz 6,6 • Pentium III @ 1 GHz 8,6 • SGI R12000 @ 300 MHz 10 • Cray SV1 10,5 • IBM Power3 @ 200 MHz 11,8 • Sun UltraSparc 60 @ 400 MHz 16,8
Conclusioni • Fatto 1: • La sempre maggiore scala di integrazione su silicio permette di avere prestazioni sempre maggiori • Fatto 2: • Il costo ed il tempo di sviluppo di un sistema dedicato sono attualmente troppo alti • Fatto 3: • Le metodologie di hw/sw co-design possono avere un grande impatto sui tempi ed i costi di progettazione di un sistema dedicato