3DD 1e Salomone

355 views

Published on

Published in: Business
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
355
On SlideShare
0
From Embeds
0
Number of Embeds
43
Actions
Shares
0
Downloads
6
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

3DD 1e Salomone

  1. 1. Salomone - Allocazione e Scheduling per la progettazione di sistemi embedded riconfigurabili- 27 Luglio, 2006 Milano Marco Maggioni – Matricola 653729 - zactarus@libero.it
  2. 2. Outline <ul><li>Obiettivi </li></ul><ul><ul><li>Allocazione e Ordinamento </li></ul></ul><ul><ul><li>Test su specifiche reali </li></ul></ul><ul><li>Riconfigurazione dinamica </li></ul><ul><ul><li>Allocazione e Ordinamento </li></ul></ul><ul><li>Progettazione di sistemi riconfigurabili </li></ul><ul><ul><li>Analisi specifica </li></ul></ul><ul><ul><li>Validazione e sintesi su FPGA </li></ul></ul><ul><li>Salomone </li></ul><ul><ul><li>Grafo dei conflitti </li></ul></ul><ul><ul><li>Colorazione del grafo </li></ul></ul><ul><ul><li>Ordinamento </li></ul></ul><ul><li>Flusso per specifiche reali </li></ul><ul><ul><li>PandA </li></ul></ul><ul><ul><li>Partizionamento </li></ul></ul><ul><ul><li>Calcolo latenze </li></ul></ul><ul><li>Benchmarks </li></ul><ul><ul><li>BB - Jpeg </li></ul></ul><ul><ul><li>Ricorrenze - Jpeg </li></ul></ul><ul><li>Conclusioni </li></ul><ul><li>Sviluppi futuri </li></ul>
  3. 3. Obiettivi <ul><ul><li>Sviluppo di uno strumento per la risoluzione dei problemi di allocazione (placement) e ordinamento (scheduling) inerenti all’esecuzione di un sistema dinamicamente riconfigurabile. </li></ul></ul><ul><ul><li>Creazione di un flusso automatico di lavoro per fornire in ingresso a tale strumento specifiche di sistema reali. </li></ul></ul><ul><li>Obiettivi </li></ul><ul><li>Ric. Dinamica </li></ul><ul><li>ProgettazioneSistemi Ric. </li></ul><ul><li>Salomone </li></ul><ul><li>Flusso x Specifiche Reali </li></ul><ul><li>Benchmarks </li></ul><ul><li>Conclusioni </li></ul><ul><li>Sviluppi </li></ul>
  4. 4. Riconfigurazione Dinamica <ul><li>Obiettivi </li></ul><ul><li>Ric. Dinamica </li></ul><ul><li>ProgettazioneSistemi Ric. </li></ul><ul><li>Salomone </li></ul><ul><li>Flusso x Specifiche Reali </li></ul><ul><li>Benchmarks </li></ul><ul><li>Conclusioni </li></ul><ul><li>Sviluppi </li></ul><ul><ul><li>Logiche riconfigurabili = circuiti in grado di cambiare la loro funzionalità </li></ul></ul>Partial + Dynamic Riconfigurazione Parziale Dinamica
  5. 5. Allocazione e Ordinamento <ul><li>Obiettivi </li></ul><ul><li>Ric. Dinamica </li></ul><ul><li>ProgettazioneSistemi Ric. </li></ul><ul><li>Salomone </li></ul><ul><li>Flusso x Specifiche Reali </li></ul><ul><li>Benchmarks </li></ul><ul><li>Conclusioni </li></ul><ul><li>Sviluppi </li></ul><ul><li>Problemi dell’esecuzione riconfigurabile… </li></ul><ul><ul><li>Le configurazioni saranno eseguite… </li></ul></ul><ul><ul><ul><li>… su quale parte dell’area...? </li></ul></ul></ul><ul><ul><ul><li>… con quale ordine…? </li></ul></ul></ul>Allocazione Ordinamento
  6. 6. Progettazione di sistemi riconfigurabili <ul><li>Obiettivi </li></ul><ul><li>Ric. Dinamica </li></ul><ul><li>ProgettazioneSistemi Ric. </li></ul><ul><li>Salomone </li></ul><ul><li>Flusso x Specifiche Reali </li></ul><ul><li>Benchmarks </li></ul><ul><li>Conclusioni </li></ul><ul><li>Sviluppi </li></ul><ul><ul><li>Metodologia… dalla specifica al sistema implementato su logica riconfigurabile… </li></ul></ul>Specification Dynamic Reconfiguration Tree Structure Graph Partitioning Analysis Placement Scheduling Salomone Validation Simulation Modules Description Synthesis Synthesis
  7. 7. Fase di analisi <ul><ul><li>Fase di analisi della specifica… </li></ul></ul><ul><ul><ul><ul><ul><li>Compilazione e produzione della struttura tree </li></ul></ul></ul></ul></ul><ul><ul><ul><ul><ul><li>Costruzione del grafo DFG a livello di statement </li></ul></ul></ul></ul></ul><ul><ul><ul><ul><ul><li>Partizionamento del sistema e produzione del grafo delle partizioni o TDG </li></ul></ul></ul></ul></ul><ul><li>Obiettivi </li></ul><ul><li>Ric. Dinamica </li></ul><ul><li>ProgettazioneSistemi Ric. </li></ul><ul><li>Salomone </li></ul><ul><li>Flusso x Specifiche Reali </li></ul><ul><li>Benchmarks </li></ul><ul><li>Conclusioni </li></ul><ul><li>Sviluppi </li></ul>
  8. 8. Fase di validazione e sintesi <ul><li>Obiettivi </li></ul><ul><li>Ric. Dinamica </li></ul><ul><li>ProgettazioneSistemi Ric. </li></ul><ul><li>Salomone </li></ul><ul><li>Flusso x Specifiche Reali </li></ul><ul><li>Benchmarks </li></ul><ul><li>Conclusioni </li></ul><ul><li>Sviluppi </li></ul><ul><ul><li>Fase di validazione… </li></ul></ul><ul><ul><ul><ul><ul><li>Validazione del sistema attraverso la simulazione </li></ul></ul></ul></ul></ul><ul><ul><li>Fase di sintesi… </li></ul></ul><ul><ul><ul><ul><ul><li>Descrizione delle partizioni in linguaggio sintetizzabile </li></ul></ul></ul></ul></ul><ul><ul><ul><ul><ul><li>Sintesi e implementazione su FPGA del sistema riconfigurabile </li></ul></ul></ul></ul></ul>
  9. 9. Salomone <ul><li>Obiettivi </li></ul><ul><li>Ric. Dinamica </li></ul><ul><li>ProgettazioneSistemi Ric. </li></ul><ul><li>Salomone </li></ul><ul><li>Flusso x Specifiche Reali </li></ul><ul><li>Benchmarks </li></ul><ul><li>Conclusioni </li></ul><ul><li>Sviluppi </li></ul><ul><ul><li>Un’applicazione che si occupa di adattare il sistema al reconfigurable computing… </li></ul></ul>Allocazione Ordinamento
  10. 10. Salomone <ul><li>Obiettivi </li></ul><ul><li>Ric. Dinamica </li></ul><ul><li>ProgettazioneSistemi Ric. </li></ul><ul><li>Salomone </li></ul><ul><li>Flusso x Specifiche Reali </li></ul><ul><li>Benchmarks </li></ul><ul><li>Conclusioni </li></ul><ul><li>Sviluppi </li></ul><ul><ul><li>Metodologia… dal grafo delle partizioni alle SCoNo ( S ame Co lored No de) </li></ul></ul>Calcolo Mobilità Grafo dei Conflitti Merge Grafo TDG/CG Colorazione Grafo Ordinamento
  11. 11. Grafo dei Conflitti <ul><li>Obiettivi </li></ul><ul><li>Ric. Dinamica </li></ul><ul><li>ProgettazioneSistemi Ric. </li></ul><ul><li>Salomone </li></ul><ul><li>Flusso x Specifiche Reali </li></ul><ul><li>Benchmarks </li></ul><ul><li>Conclusioni </li></ul><ul><li>Sviluppi </li></ul><ul><ul><li>Fase di analisi grafo per raccolta informazioni utili all’allocazione e all’ordinamento… </li></ul></ul><ul><ul><ul><ul><ul><li>Calcolo ASAP e ALAP… </li></ul></ul></ul></ul></ul><ul><ul><ul><ul><ul><li>Scoperta dei cammini critici e </li></ul></ul></ul></ul></ul><ul><ul><ul><ul><ul><li>dei nodi di mobilità… </li></ul></ul></ul></ul></ul><ul><ul><ul><ul><ul><li>Calcolo del grafo dei conflitti minimo… </li></ul></ul></ul></ul></ul>0 0 2 3 3 2 2 4 4 2 5 8 8 4 6 4 0 1 3 5 4 2 6 2 1 3 1 4 2 3
  12. 12. Colorazione del grafo <ul><li>Obiettivi </li></ul><ul><li>Ric. Dinamica </li></ul><ul><li>ProgettazioneSistemi Ric. </li></ul><ul><li>Salomone </li></ul><ul><li>Flusso x Specifiche Reali </li></ul><ul><li>Benchmarks </li></ul><ul><li>Conclusioni </li></ul><ul><li>Sviluppi </li></ul><ul><ul><li>Il problema di allocazione si risolve con l’utilizzo la colorazione del grafo… </li></ul></ul><ul><ul><ul><ul><ul><li>Possibilità di BackTracking… </li></ul></ul></ul></ul></ul>0 1 3 5 4 2 6 <ul><ul><ul><ul><ul><li>Merging tra grafo TDG e CG… </li></ul></ul></ul></ul></ul><ul><ul><ul><ul><ul><li>Colorazione del grafo con algoritmo </li></ul></ul></ul></ul></ul><ul><ul><ul><ul><ul><li>ADJ Coloring… </li></ul></ul></ul></ul></ul>
  13. 13. Ordinamento <ul><li>Obiettivi </li></ul><ul><li>Ric. Dinamica </li></ul><ul><li>ProgettazioneSistemi Ric. </li></ul><ul><li>Salomone </li></ul><ul><li>Flusso x Specifiche Reali </li></ul><ul><li>Benchmarks </li></ul><ul><li>Conclusioni </li></ul><ul><li>Sviluppi </li></ul><ul><ul><li>Ordinamento dei nodi contenuti nelle SCoNo utilizzando un algoritmo specifico… </li></ul></ul><ul><ul><ul><ul><ul><li>Nelle valutazioni si tiene conto delle tempistiche e del data path… </li></ul></ul></ul></ul></ul><ul><ul><ul><ul><ul><li>Si privilegiano i nodi nel cammino critico… </li></ul></ul></ul></ul></ul><ul><ul><ul><ul><ul><li>I restanti nodi vengono ordinati cercando di non modificare la latenza… </li></ul></ul></ul></ul></ul><ul><ul><ul><ul><ul><li>Problemi principali… anticipo nodo non critico e nodi paralleli… </li></ul></ul></ul></ul></ul><ul><ul><ul><ul><ul><li>In uscita le SCoNo ordinate… </li></ul></ul></ul></ul></ul>1 2 2 1 3 1 3 2 0 6 1 5 2 4
  14. 14. Flusso di lavoro per specifiche reali <ul><li>Obiettivi </li></ul><ul><li>Ric. Dinamica </li></ul><ul><li>ProgettazioneSistemi Ric. </li></ul><ul><li>Salomone </li></ul><ul><li>Flusso x Specifiche Reali </li></ul><ul><li>Benchmarks </li></ul><ul><li>Conclusioni </li></ul><ul><li>Sviluppi </li></ul><ul><ul><li>Flusso di lavoro per la produzione di grafi partizionati delle specifiche di sistema… </li></ul></ul>Compilatore GCC PandA Partizionatore BB / Ricorrenze C/C++/SystemC
  15. 15. Panda <ul><li>Obiettivi </li></ul><ul><li>Ric. Dinamica </li></ul><ul><li>ProgettazioneSistemi Ric. </li></ul><ul><li>Salomone </li></ul><ul><li>Flusso x Specifiche Reali </li></ul><ul><li>Benchmarks </li></ul><ul><li>Conclusioni </li></ul><ul><li>Sviluppi </li></ul><ul><ul><li>Strumento che analizza la specifica del sistema e ricava informazioni utili… </li></ul></ul>
  16. 16. Partizionatore <ul><li>Obiettivi </li></ul><ul><li>Ric. Dinamica </li></ul><ul><li>ProgettazioneSistemi Ric. </li></ul><ul><li>Salomone </li></ul><ul><li>Flusso x Specifiche Reali </li></ul><ul><li>Benchmarks </li></ul><ul><li>Conclusioni </li></ul><ul><li>Sviluppi </li></ul><ul><li>Raggruppa operazioni elementari del grafo DFG secondo metriche opportune… </li></ul><ul><ul><li>Metriche orientate al Basic Block… </li></ul></ul><ul><ul><li>Metriche orientate alle ricorrenze… </li></ul></ul><ul><li>In uscita, un grafo che rappresenta il sistema partizionato… </li></ul>
  17. 17. Calcolo latenze <ul><li>Obiettivi </li></ul><ul><li>Ric. Dinamica </li></ul><ul><li>ProgettazioneSistemi Ric. </li></ul><ul><li>Salomone </li></ul><ul><li>Flusso x Specifiche Reali </li></ul><ul><li>Benchmarks </li></ul><ul><li>Conclusioni </li></ul><ul><li>Sviluppi </li></ul><ul><ul><li>Latenza delle configurazioni non direttamente disponibili… </li></ul></ul><ul><ul><ul><ul><ul><li>Si utilizzano informazioni sulla tecnologia per ricavare la latenza delle operazioni elementari… </li></ul></ul></ul></ul></ul><ul><ul><ul><ul><ul><li>Si computa la latenza del cammino critico contenuto nel sottografo della partizione… </li></ul></ul></ul></ul></ul>
  18. 18. Benchmarks <ul><li>Obiettivi </li></ul><ul><li>Ric. Dinamica </li></ul><ul><li>ProgettazioneSistemi Ric. </li></ul><ul><li>Salomone </li></ul><ul><li>Flusso x Specifiche Reali </li></ul><ul><li>Benchmarks </li></ul><ul><li>Conclusioni </li></ul><ul><li>Sviluppi </li></ul><ul><ul><li>Specifica del sistema di compressione JPEG con diversi tipi di partizionamento… </li></ul></ul>Basic Blocks Ricorrenze Gupta
  19. 19. Conclusioni <ul><li>Obiettivi </li></ul><ul><li>Ric. Dinamica </li></ul><ul><li>ProgettazioneSistemi Ric. </li></ul><ul><li>Salomone </li></ul><ul><li>Flusso x Specifiche Reali </li></ul><ul><li>Benchmarks </li></ul><ul><li>Conclusioni </li></ul><ul><li>Sviluppi </li></ul><ul><li>Salomone permette di adattare l’esecuzione di un sistema alla riconfigurazione dinamica… </li></ul><ul><li>L’implementazione del flusso di lavoro per il test di Salomone su specifiche reali fornisce indizi positivi sulla realizzabili tà del flusso di progettazione… </li></ul>
  20. 20. Sviluppi Futuri <ul><li>Obiettivi </li></ul><ul><li>Ric. Dinamica </li></ul><ul><li>ProgettazioneSistemi Ric. </li></ul><ul><li>Salomone </li></ul><ul><li>Flusso x Specifiche Reali </li></ul><ul><li>Benchmarks </li></ul><ul><li>Conclusioni </li></ul><ul><li>Sviluppi </li></ul><ul><li>Inserimento di valutazioni sull’occupazione d’area… </li></ul><ul><ul><li>Valutazione limiti FPGA… </li></ul></ul><ul><ul><li>Allocazioni precise… </li></ul></ul><ul><ul><li>Latenze… </li></ul></ul><ul><ul><li>Tempi di riconfigurazione… </li></ul></ul><ul><li>Sfruttamento del concetto di ricorrenza… </li></ul>
  21. 21. Domande…?

×