sistemi dedicati per applicazioni di calcolo

41
Sistemi dedicati per applicazioni di calcolo Alessandro Marongiu ENEA - INFO

Upload: sandro

Post on 15-Jan-2016

37 views

Category:

Documents


0 download

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 Presentation

TRANSCRIPT

Page 1: Sistemi dedicati per applicazioni di calcolo

Sistemi dedicati per applicazioni di calcolo

Sistemi dedicati per applicazioni di calcolo

Alessandro MarongiuENEA - INFO

Page 2: Sistemi dedicati per applicazioni di calcolo

OutlineOutline

• Applicazioni• Architetture Convenzionali• Architetture dedicate• Parametri tecnico/economici• Hardware/Software co-design

Page 3: Sistemi dedicati per applicazioni di calcolo

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

Page 4: Sistemi dedicati per applicazioni di calcolo

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

Page 5: Sistemi dedicati per applicazioni di calcolo

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

Page 6: Sistemi dedicati per applicazioni di calcolo

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

Page 7: Sistemi dedicati per applicazioni di calcolo

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

Page 8: Sistemi dedicati per applicazioni di calcolo

Architetture convenzionaliArchitetture convenzionali

• Una cattiva utilizzazione della banda di memoria produce una scarsissima utilizzazione delle risorse di calcolo

Page 9: Sistemi dedicati per applicazioni 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

Page 10: Sistemi dedicati per applicazioni di calcolo

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

Page 11: Sistemi dedicati per applicazioni 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

Page 12: Sistemi dedicati per applicazioni di calcolo

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.

Page 13: Sistemi dedicati per applicazioni di calcolo

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

Page 14: Sistemi dedicati per applicazioni di calcolo

DSPDSP

Page 15: Sistemi dedicati per applicazioni di calcolo

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

Page 16: Sistemi dedicati per applicazioni di calcolo

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

Page 17: Sistemi dedicati per applicazioni di calcolo

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

Page 18: Sistemi dedicati per applicazioni di calcolo

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

Page 19: Sistemi dedicati per applicazioni di calcolo

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

Page 20: Sistemi dedicati per applicazioni di calcolo

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

Page 21: Sistemi dedicati per applicazioni di calcolo

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

Page 22: Sistemi dedicati per applicazioni di calcolo

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

Page 23: Sistemi dedicati per applicazioni di calcolo

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

Page 24: Sistemi dedicati per applicazioni di calcolo

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

Page 25: Sistemi dedicati per applicazioni di calcolo

Flusso di progetto (2)Flusso di progetto (2)

• Individuazione dell’architettura– Hardware specializzato (ASIC, FPGA)– Processori specializzati (DSP)– Processori COTS

Page 26: Sistemi dedicati per applicazioni di calcolo

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

Page 27: Sistemi dedicati per applicazioni di calcolo

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

Page 28: Sistemi dedicati per applicazioni di calcolo

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.)

Page 29: Sistemi dedicati per applicazioni di calcolo

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

Page 30: Sistemi dedicati per applicazioni di calcolo

La nostra visioneLa nostra visione

specifichevincoli

verificastatica/dinamica

sintesi adalto livello

descrizione sintetizzabile

esplorazionearchitetturale

spazioarchitetture

Page 31: Sistemi dedicati per applicazioni di calcolo

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%

Page 32: Sistemi dedicati per applicazioni di calcolo

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

Page 33: Sistemi dedicati per applicazioni di calcolo

HARWEST – Spazio delle architettureHARWEST – Spazio delle architetture

• Spazio delle architetture– Board FPGA;– Board DSP;– Workstation– Cluster

Page 34: Sistemi dedicati per applicazioni di calcolo

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

Page 35: Sistemi dedicati per applicazioni di calcolo

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

Page 36: Sistemi dedicati per applicazioni di calcolo

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

Page 37: Sistemi dedicati per applicazioni di calcolo

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

Page 38: Sistemi dedicati per applicazioni di calcolo

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

Page 39: Sistemi dedicati per applicazioni di calcolo

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

Page 40: Sistemi dedicati per applicazioni di calcolo

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

Page 41: Sistemi dedicati per applicazioni di calcolo

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