29
1 DRESD Project DRESD Project 1 Task partitioning for the Task partitioning for the scheduling on partially scheduling on partially dynamically reconfigurable dynamically reconfigurable FPGAs FPGAs Prof. Donatella Sciuto Prof. Fabrizio Ferrandi Ing. Marco Santambrogio Anno Accademico 2005/2006 Politecnico di Milano Politecnico di Milano Massimo Redaelli

Thesis M. Redaelli Slides EN

Embed Size (px)

Citation preview

Page 1: Thesis M. Redaelli Slides EN

1DRESD ProjectDRESD Project1

Task partitioning for the Task partitioning for the scheduling on partially scheduling on partially

dynamically reconfigurable FPGAsdynamically reconfigurable FPGAs

Prof. Donatella SciutoProf. Fabrizio Ferrandi

Ing. Marco Santambrogio

Anno Accademico 2005/2006

Politecnico di MilanoPolitecnico di Milano

Massimo Redaelli

Page 2: Thesis M. Redaelli Slides EN

2DRESD ProjectDRESD Project2

SommarioSommario

• Obiettivi

• Il problema

• Il modello

• Stato dell’arte

• Algoritmi

• Risultati

• Conclusioni

• Sviluppi futuri

Page 3: Thesis M. Redaelli Slides EN

3DRESD ProjectDRESD Project3

ObiettiviObiettivi

• Sviluppo di un modello che descriva:

• un’architettura riconfigurabile

• il problema dello scheduling su di essa

• Sviluppo di un algoritmo di partizionamento che

• Riduca la complessità del problema

• Senza perdere troppo in ottimalità

Obiettivi

Il problema

Il modello

Stato dell’arte

Algoritmi

Risultati

Conclusioni

Sviluppi futuri

Page 4: Thesis M. Redaelli Slides EN

4DRESD ProjectDRESD Project4

FPGAFPGA

• Software troppo lento?

• Hardware troppo costoso?

Hardware riconfigurabile

Obiettivi

Il problema..Architettura..Scheduliing..Temporal..Time-space..Esempio

Il modello

Stato dell’arte

Algoritmi

Risultati

Conclusioni

Sviluppi futuri

Page 5: Thesis M. Redaelli Slides EN

5DRESD ProjectDRESD Project5

FPGAFPGA

• Vantaggi

• Piattaforma di test per soluzioni hardware

• Più veloce di una soluzione software

• Riutilizzabile

• “Virtual hardware”

• Svantaggi

• Più lento dell’hardware

• Più difficile da progettare del puro software

Obiettivi

Il problema..Architettura..Scheduliing..Temporal..Time-space..Esempio

Il modello

Stato dell’arte

Algoritmi

Risultati

Conclusioni

Sviluppi futuri

Page 6: Thesis M. Redaelli Slides EN

6DRESD ProjectDRESD Project6

SchedulingScheduling

• Quando (e dove) eseguire le operazioni che implementano la specifica?

• Se la specifica è troppo “grande” per l’FPGA, come “spezzarla”?

Obiettivi

Il problema..Architettura..Scheduliing..Temporal..Time-space..Esempio

Il modello

Stato dell’arte

Algoritmi

Risultati

Conclusioni

Sviluppi futuri

Page 7: Thesis M. Redaelli Slides EN

7DRESD ProjectDRESD Project7

Temporal PartitioningTemporal Partitioning

• Non sfrutta la capacità di essere riconfigurata parzialmente

• N configurazioni dell’intera FPGA, eseguite in serie

Obiettivi

Il problema..Architettura..Scheduliing..Temporal..Time-space..Esempio

Il modello

Stato dell’arte

Algoritmi

Risultati

Conclusioni

Sviluppi futuri

Page 8: Thesis M. Redaelli Slides EN

8DRESD ProjectDRESD Project8

Time-space partitioningTime-space partitioning

• Unità di esecuzione riconfigurabili indipendentemente

• Packing 3D

• Molto difficile

Obiettivi

Il problema..Architettura..Scheduliing..Temporal..Time-space..Esempio

Il modello

Stato dell’arte

Algoritmi

Risultati

Conclusioni

Sviluppi futuri

Page 9: Thesis M. Redaelli Slides EN

9DRESD ProjectDRESD Project9

Esempio di schedulingEsempio di scheduling

Obiettivi

Il problema..Architettura..Scheduliing..Temporal..Time-space..Esempio

Il modello

Stato dell’arte

Algoritmi

Risultati

Conclusioni

Sviluppi futuri

Page 10: Thesis M. Redaelli Slides EN

10DRESD ProjectDRESD Project10

ArchitetturaArchitettura

• Generica ma non irreale

1 CLB

Obiettivi

Il problema

Il modello..Architettura..Problema..Partitioning

Stato dell’arte

Algoritmi

Risultati

Conclusioni

Sviluppi futuri

Page 11: Thesis M. Redaelli Slides EN

11DRESD ProjectDRESD Project11

ProblemaProblema

• Input: Data Flow Graph (aciclico)

• Output: quando? dove?

• Stima di

• Occupazione

• Logica

• Comunicazione

• Tempi di

• Esecuzione

• Riconfigurazione

Obiettivi

Il problema

Il modello..Architettura..Problema..Partitioning

Stato dell’arte

Algoritmi

Risultati

Conclusioni

Sviluppi futuri

Page 12: Thesis M. Redaelli Slides EN

12DRESD ProjectDRESD Project12

Gradi di libertàGradi di libertà

• Il riuso e la condivisione delle risorse possono aiutare:

• Le operazioni sono schedulate a gruppi, e non singolarmente

• Tradeoff tra occupazione e velocità di esecuzione:

• Non c’è un solo modo di implementare un’operazione

Obiettivi

Il problema

Il modello..Architettura..Problema..Partitioning

Stato dell’arte

Algoritmi

Risultati

Conclusioni

Sviluppi futuri

Page 13: Thesis M. Redaelli Slides EN

14DRESD ProjectDRESD Project14

Come partizionare?Come partizionare?

• Riconfigurazione VS esecuzione

• Attualmente

Obiettivi

Il problema

Il modello..Architettura..Problema..Partitioning

Stato dell’arte

Algoritmi

Risultati

Conclusioni

Sviluppi futuri

Page 14: Thesis M. Redaelli Slides EN

15DRESD ProjectDRESD Project15

ApprocciApprocci

1. Nascondere la riconfigurazione

• Avere sempre operazioni in esecuzione mentre si riconfigura

• OK per data intensive, ma non sempre ci sono loop...

2. Riconfigurare il meno possibile

→ Partizionare e schedulare in modo da poter sfruttare la logica già configurata

→ Trovare parti ripetute nella specifica

Obiettivi

Il problema

Il modello

Stato dell’arte..Approcci..Riuso..Formulazione

Algoritmi

Risultati

Conclusioni

Sviluppi futuri

Page 15: Thesis M. Redaelli Slides EN

16DRESD ProjectDRESD Project16

Come?Come?

• Ricerca testuale nel sorgente

• Rapida

• Sensibile a

• nomi delle variabili

• ordinamento

• Ricerca su AST

• Meglio, ma ancora ordinamento istruzioni…

Obiettivi

Il problema

Il modello

Stato dell’arte..Approcci..Riuso..Formulazione

Algoritmi

Risultati

Conclusioni

Sviluppi futuri

Page 16: Thesis M. Redaelli Slides EN

17DRESD ProjectDRESD Project17

FormulazioneFormulazione

Ricerca di sottografi isomorfi connessi e

distinti nella specifica iniziale

Obiettivi

Il problema

Il modello

Stato dell’arte..Approcci..Riuso..Formulazione

Algoritmi

Risultati

Conclusioni

Sviluppi futuri

Page 17: Thesis M. Redaelli Slides EN

18DRESD ProjectDRESD Project18

1 - Alberi1 - Alberi

• Convertire l’albero in una stringa

• Trovare la più lunga coppia di sottostringhe identiche well-nested non sovrapposte (lineare)

o1

o2 o3

o9

o6

o5

o7

o4

o0

((()(()))((()()))) ↔

Obiettivi

Il problema

Il modello

Stato dell’arte

Algoritmi.Grafi generici..Alberi..Euristico.DAG..Peculiarità..Euristico..Alberi

Risultati

Conclusioni

Sviluppi futuri

Page 18: Thesis M. Redaelli Slides EN

19DRESD ProjectDRESD Project19

2 - Euristica generica2 - Euristica generica

1. Parti da due sottografi isomorfi

2. Costruiscine gli intorni

3. Fai un matching tra i nodi degli intorni

• Pesi basati su quanto “simili” sono i nodi

4. Controlla se coi nuovi nodi rimangono isomorfi. Se sì, aggiungili

5. Ritorna a 1

Obiettivi

Il problema

Il modello

Stato dell’arte

Algoritmi.Grafi generici..Alberi..Euristico.DAG..Peculiarità..Euristico..Alberi

Risultati

Conclusioni

Sviluppi futuri

Page 19: Thesis M. Redaelli Slides EN

20DRESD ProjectDRESD Project20

Caso specificoCaso specifico

• I nostri grafi hanno più struttura

• Colorati (tipo di azione)

• Diretti (input VS output)

• Input ordinati

(se l’azione non

è commutativa)

o

m n

o'

bk

o''

ak

+–

Obiettivi

Il problema

Il modello

Stato dell’arte

Algoritmi.Grafi generici..Alberi..Euristico.DAG..Peculiarità..Euristico..Alberi

Risultati

Conclusioni

Sviluppi futuri

Page 20: Thesis M. Redaelli Slides EN

21DRESD ProjectDRESD Project21

2 - Euristico2 - Euristico

• Semplice ed efficace calcolo dei pesi del matching

• No a diverso colore

• No se input da diverso colore

• No se output a diverso colore

• Semplice costruzione dei sottografi di partenza

• Tutti i sottografi connessi isomorfi con due nodi

Obiettivi

Il problema

Il modello

Stato dell’arte

Algoritmi.Grafi generici..Alberi..Euristico.DAG..Peculiarità..Euristico..Alberi

Risultati

Conclusioni

Sviluppi futuri

Page 21: Thesis M. Redaelli Slides EN

22DRESD ProjectDRESD Project22

1- Alberi1- Alberi

• Estraiamo un albero (radice nel pozzo)

• Colore: parentesi diverse

• Ordine: se il lato verso il nodo n è l’input k, usa la sottostringa kn…nk

ER1SS1RG1YCCY12YGGY2GE

Obiettivi

Il problema

Il modello

Stato dell’arte

Algoritmi.Grafi generici..Alberi..Euristico.DAG..Peculiarità..Euristico..Alberi

Risultati

Conclusioni

Sviluppi futuri

Page 22: Thesis M. Redaelli Slides EN

23DRESD ProjectDRESD Project23

RisultatiRisultati

• Circuiti di benchmark standard: ISCAS 1989 (cXXX) e 1995 (sXXX)

• XXX è il numero dei lati

• Pentium M 1.73 GHz, Debian Linux (512 MB RAM) su CoLinux su WinXP (2 GB RAM).

• Funzione Time di Linux (include Panda)

Obiettivi

Il problema

Il modello

Stato dell’arte

Algoritmi

Risultati..Tempi..Analisi tempi..# Istanze..Dim istanze

Conclusioni

Sviluppi futuri

Page 23: Thesis M. Redaelli Slides EN

24DRESD ProjectDRESD Project24

Tempo di esecuzioneTempo di esecuzione

• Più veloce di un ordine di grandezza rispetto a quello originaleObiettivi

Il problema

Il modello

Stato dell’arte

Algoritmi

Risultati..Tempi..Analisi tempi..# Istanze..Dim istanze

Conclusioni

Sviluppi futuri

Page 24: Thesis M. Redaelli Slides EN

25DRESD ProjectDRESD Project25

Tempo di esecuzioneTempo di esecuzione

• Dipendenza più forte dal numero di lati che dalla densità

• Il collo di bottiglia è nel numero di grafi iniziali da esplorare, e non nell’esplorazione degli intorni

Obiettivi

Il problema

Il modello

Stato dell’arte

Algoritmi

Risultati..Tempi..Analisi tempi..# Istanze..Dim istanze

Conclusioni

Sviluppi futuri

Page 25: Thesis M. Redaelli Slides EN

26DRESD ProjectDRESD Project26

# e dim# e dim

• Trova un buon numero di istanze isomorfeObiettivi

Il problema

Il modello

Stato dell’arte

Algoritmi

Risultati..Tempi..Analisi tempi..# Istanze..Dim istanze

Conclusioni

Sviluppi futuri

Page 26: Thesis M. Redaelli Slides EN

27DRESD ProjectDRESD Project27

# e dim# e dim

• I sottografi hanno dimensioni ragionevoliObiettivi

Il problema

Il modello

Stato dell’arte

Algoritmi

Risultati..Tempi..Analisi tempi..# Istanze..Dim istanze

Conclusioni

Sviluppi futuri

Page 27: Thesis M. Redaelli Slides EN

28DRESD ProjectDRESD Project28

ConclusioniConclusioni

• Sviluppo di un modello che descrive

• un’architettura riconfigurabile generica

• il problema dello scheduling con

• Riuso

• Diverse possibili implementazioni per ogni azione

• Sviluppo di un’euristica per l’identificazione di sotto-programmi ripetuti

Obiettivi

Il problema

Il modello

Stato dell’arte

Algoritmi

Risultati

Conclusioni

Sviluppi futuri

Page 28: Thesis M. Redaelli Slides EN

29DRESD ProjectDRESD Project29

Lavori futuriLavori futuri

• Metriche per la scelta dei sotto-programmi da utilizzare (copertura della specifica originaria)

• Algoritmo di scheduling ottimizzato per il riuso

• Confronto con soluzione ILP del modello

• Feedback con fase di placing (comunicazione…)

Obiettivi

Il problema

Il modello

Stato dell’arte

Algoritmi

Risultati

Conclusioni

Sviluppi futuri

Page 29: Thesis M. Redaelli Slides EN

30DRESD ProjectDRESD Project30

BibliografiaBibliografia

Donato, Ferrandi, Redaelli, Santambrogio, Sciuto. Caronte: a complete methodology for the implementation of partially dynamically self-reconguring systems on FPGA platforms. In FCCM, 2005.

Donato, Ferrandi, Redaelli, Santambrogio, Sciuto. Exploiting partial dynamic reconfiguration for SoC design of complex application on FPGA platforms. In VLSI-SOC, 2005.

Ferrandi, Redaelli, Santambrogio, Sciuto. Solving The Coloring Problem to Schedule on Partially Dynamically Reconfigurable Hardware. In VLSI-SOC, 2005.