Your SlideShare is downloading. ×
Thesis M. Redaelli Slides EN
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Introducing the official SlideShare app

Stunning, full-screen experience for iPhone and Android

Text the download link to your phone

Standard text messaging rates apply

Thesis M. Redaelli Slides EN

607
views

Published on


0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
607
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
14
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Task partitioning for the scheduling on partially dynamically reconfigurable FPGAs Prof. Donatella Sciuto Prof. Fabrizio Ferrandi Ing. Marco Santambrogio Anno Accademico 2005/2006 Politecnico di Milano Massimo Redaelli
  • 2. Sommario
    • Obiettivi
    • Il problema
    • Il modello
    • Stato dell’arte
    • Algoritmi
    • Risultati
    • Conclusioni
    • Sviluppi futuri
  • 3. Obiettivi
    • 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
  • 4. FPGA
    • 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
  • 5. FPGA
    • 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
  • 6. Scheduling
    • 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
  • 7. Temporal 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
  • 8. Time-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
  • 9. Esempio di scheduling Obiettivi Il problema ..Architettura ..Scheduliing ..Temporal ..Time-space ..Esempio Il modello Stato dell’arte Algoritmi Risultati Conclusioni Sviluppi futuri
  • 10. Architettura
    • Generica ma non irreale
    Obiettivi Il problema Il modello ..Architettura ..Problema ..Partitioning Stato dell’arte Algoritmi Risultati Conclusioni Sviluppi futuri 1 CLB …
  • 11. Problema
    • 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
  • 12. 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
  • 13. Attenzione
    • Partizionando il DFG possono nascere alcuni problemi
    Obiettivi Il problema Il modello Stato dell’arte Algoritmi Risultati Conclusioni Sviluppi futuri
  • 14. Come partizionare?
    • Riconfigurazione VS esecuzione
    • Attualmente
    Obiettivi Il problema Il modello ..Architettura ..Problema ..Partitioning Stato dell’arte Algoritmi Risultati Conclusioni Sviluppi futuri
  • 15. Approcci
    • Nascondere la riconfigurazione
      • Avere sempre operazioni in esecuzione mentre si riconfigura
      • OK per data intensive, ma non sempre ci sono loop...
    • 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
  • 16. 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
  • 17. Formulazione
    • 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
  • 18. 1 - Alberi
    • Convertire l’albero in una stringa
    • Trovare la più lunga coppia di sottostringhe identiche well-nested non sovrapposte (lineare)
    ((()(()))( (()()) )) ↔ Obiettivi Il problema Il modello Stato dell’arte Algoritmi .Grafi generici ..Alberi ..Euristico .DAG ..Peculiarità ..Euristico ..Alberi Risultati Conclusioni Sviluppi futuri
  • 19. 2 - Euristica generica
    • Parti da due sottografi isomorfi
    • Costruiscine gli intorni
    • Fai un matching tra i nodi degli intorni
      • Pesi basati su quanto “simili” sono i nodi
    • Controlla se coi nuovi nodi rimangono isomorfi. Se sì, aggiungili
    • Ritorna a 1
    Obiettivi Il problema Il modello Stato dell’arte Algoritmi .Grafi generici ..Alberi ..Euristico .DAG ..Peculiarità ..Euristico ..Alberi Risultati Conclusioni Sviluppi futuri
  • 20. Caso specifico
    • I nostri grafi hanno più struttura
      • Colorati (tipo di azione)
      • Diretti (input VS output)
      • Input ordinati
      • (se l’azione non
      • è commutativa)
    + – Obiettivi Il problema Il modello Stato dell’arte Algoritmi .Grafi generici ..Alberi ..Euristico .DAG ..Peculiarità ..Euristico ..Alberi Risultati Conclusioni Sviluppi futuri
  • 21. 2 - 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
  • 22. 1- 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
  • 23. Risultati
    • 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
  • 24. Tempo di esecuzione
    • Più veloce di un ordine di grandezza rispetto a quello originale
    Obiettivi Il problema Il modello Stato dell’arte Algoritmi Risultati ..Tempi ..Analisi tempi ..# Istanze ..Dim istanze Conclusioni Sviluppi futuri
  • 25. Tempo 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
  • 26. # e dim
    • Trova un buon numero di istanze isomorfe
    Obiettivi Il problema Il modello Stato dell’arte Algoritmi Risultati ..Tempi ..Analisi tempi ..# Istanze ..Dim istanze Conclusioni Sviluppi futuri
  • 27. # e dim
    • I sottografi hanno dimensioni ragionevoli
    Obiettivi Il problema Il modello Stato dell’arte Algoritmi Risultati ..Tempi ..Analisi tempi ..# Istanze ..Dim istanze Conclusioni Sviluppi futuri
  • 28. Conclusioni
    • 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
  • 29. Lavori 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
  • 30. Bibliografia
    • 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.