Upload
usrdresd
View
659
Download
0
Tags:
Embed Size (px)
Citation preview
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
2DRESD ProjectDRESD Project2
SommarioSommario
• Obiettivi
• Il problema
• Il modello
• Stato dell’arte
• Algoritmi
• Risultati
• Conclusioni
• Sviluppi futuri
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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.