sistemi dedicati per applicazioni di calcolo
DESCRIPTION
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; - PowerPoint PPT PresentationTRANSCRIPT
Sistemi dedicati per applicazioni di calcolo
Sistemi dedicati per applicazioni di calcolo
Alessandro MarongiuENEA - INFO
OutlineOutline
• Applicazioni• Architetture Convenzionali• Architetture dedicate• Parametri tecnico/economici• Hardware/Software co-design
ApplicazioniApplicazioni
• 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 TimeTempo di calcolo: D
Num di operazioni: NbOpPotenza di calcolo: NbOp/D
ApplicazioniApplicazioni
• 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 convenzionaliArchitetture 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 convenzionaliArchitetture convenzionali
BUS (PCI,...)
CPU MemoryCPU
Nodo
Nodo
Nodo
Nodo
Nodo
Rete
di in
terco
nnessio
ne a
d
alte
pre
stazio
ni
Cluster Cluster Cluster
Rete di interconnessione
Architetture convenzionaliArchitetture 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 convenzionaliArchitetture convenzionali
• Una cattiva utilizzazione della banda di memoria produce una scarsissima utilizzazione delle risorse di calcolo
Architetture convenzionaliArchitetture 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 dedicateArchitetture 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
Architetture dedicateArchitetture dedicateEte
rog
en
eit
à
BUS (PCI,...)
BUS I/F BUS I/F
Memory
Memory
CPU MemoryCPU
BUS I/F
ASIC Memory
ASICASIC
D Q
CLK
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.
FPGAFPGA
LUT D Q
CLB: Configurable Logic Block
CLK
Si basa sull’utilizzo di blocchi logici configurabili mediante LUT (Look-Up-Table) che possono implementare arbitrarie funzioni logiche
DSPDSP
Parametri tecnici per la scelta di implementare un sistema dedicato (1)
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)
Parametri tecnici per la scelta di implementare un sistema dedicato (2)
W
N1
N2
OPS/sec
t
D
NOPS = N1W = N2(W – D - G)
D = RitardoW = Tempo di calcoloD’ = Ritardo oltre il tempo di calcolo ritenutoaccettabile
G = Guadagno
Parametri tecnici per la scelta di implementare un sistema dedicato (3)
Parametri tecnici per la scelta di implementare un sistema dedicato (3)
W
N1
N2
OPS/sec
t
D D’
NOPS = N1W = N2(W – D + D’)
D > W(1 – N1/N2) implica D’ > 0
D = RitardoW = Tempo di calcoloD’ = Ritardo oltre il tempo di calcolo ritenutoaccettabile
Parametri economici per la scelta di implementare un sistema dedicato
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
Effetto economico del time-to-marketFonte: McKinsey/Motorola 2003
Effetto economico del time-to-marketFonte: McKinsey/Motorola 2003
W W
D
Massimo profitto
Pmax
Pmax(1 – D/W)
PT/Ptmax = 1-D[(3W – D)/2W2] (PT = Profitto Totale)
2W = 60mesi (5 anni), D = 6 mesi implica 28% di mancati ricavi
D = Ritardo2W = Tempo di vita
t
P
Costi non ricorrentiFonte: Motorola 2003
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
ApplicazioneApplicazione
• 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
A
DC
BE
ArchitetturaArchitettura
• Architettura– Insieme di elementi
interconnessi in grado di eseguire operazioni in maniera concorrente e coordinata
BUS (PCI,...)
BUS I/F BUS I/F
Memory
Memory
CPU MemoryCPU
BUS I/F
ASIC Memory
Hardware/Software Co-designHardware/Software Co-design
A
DC
BE
BUS (PCI,...)
BUS I/F BUS I/F
Memory
Memory
CPU MemoryCPU
BUS I/F
ASIC Memory
Flusso di progetto (1)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)Flusso di progetto (2)
• Individuazione dell’architettura– Hardware specializzato (ASIC, FPGA)– Processori specializzati (DSP)– Processori COTS
Flusso di progetto (3)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 progettoSpecifiche 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’architetturaIndividuazione 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 sistemaImplementazione 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
La nostra visioneLa nostra visione
specifichevincoli
verificastatica/dinamica
sintesi adalto livello
descrizione sintetizzabile
esplorazionearchitetturale
spazioarchitetture
Costi non ricorrentiFonte: Motorola 2003
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 calcoloHARWEST – 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 architettureHARWEST – Spazio delle architetture
• Spazio delle architetture– Board FPGA;– Board DSP;– Workstation– Cluster
HARWEST – Flusso di progetto (1)HARWEST – Flusso di progetto (1)
SARE
CDFG
FSM
CDFG IP
SARE
CDFG
FSM
CDFG IP
specifiche funzionali del sistema
SARE CDFG FSMtools di compilazione
tools di analisie simulazione
SARE CDFG FSM
HARWEST – Flusso di progetto (2)HARWEST – Flusso di progetto (2)
tool di allocazione
spazio dellearchitetture
SARE
CDFG
FSM
CDFG IP
FPGA
DSP
BUSPCI
P
CDFG FSMtools di sintesi ad alto livello HW SW HW SW HW SW
SARE
PHG/PHSim – Flusso di progetto (1)PHG/PHSim – Flusso di progetto (1)
SARE
CDFG
FSM
CDFG IP
SARE
CDFG
FSM
CDFG IP
specifiche funzionali del sistema
SARE CDFG FSMtools di compilazione
tools di analisie simulazione
SARE CDFG FSM
PHG/PHSim – Flusso di progetto (2)PHG/PHSim – Flusso di progetto (2)
tool di allocazione
spazio dellearchitetture
SARE
CDFG
FSM
CDFG IP
FPGA
DSP
BUSPCI
P
CDFG FSMtools di sintesi ad alto livello HW SW HW SW HW SW
SARE
PRAN: Protein AnalyzerPRAN: 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 DiscoveryPROSIDIS: 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 StringLABS: 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
ConclusioniConclusioni
• 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