POLITECNICO DI MILANO Politecnico di Milano A.A. 2005/06 MECCANISMI DI SINCRONIZZAZIONE PER SISTEMI...
-
Upload
augusto-bonetti -
Category
Documents
-
view
215 -
download
2
Transcript of POLITECNICO DI MILANO Politecnico di Milano A.A. 2005/06 MECCANISMI DI SINCRONIZZAZIONE PER SISTEMI...
![Page 1: POLITECNICO DI MILANO Politecnico di Milano A.A. 2005/06 MECCANISMI DI SINCRONIZZAZIONE PER SISTEMI MULTIPROCESSORE BASATI SUL DISPOSITIVO D740 Candidato:](https://reader035.fdocument.pub/reader035/viewer/2022070312/5542eb4b497959361e8b891f/html5/thumbnails/1.jpg)
POLITECNICO DI MILANO
Politecnico di Milano A.A. 2005/06
MECCANISMI DI SINCRONIZZAZIONE PER SISTEMI MULTIPROCESSORE BASATI SUL DISPOSITIVO D740
Candidato: Davide Rossignoli
Matricola: 661483
Relatore: Prof. Anna Antola
Correlatore: Ing. Marco Domenico Santambrogio
![Page 2: POLITECNICO DI MILANO Politecnico di Milano A.A. 2005/06 MECCANISMI DI SINCRONIZZAZIONE PER SISTEMI MULTIPROCESSORE BASATI SUL DISPOSITIVO D740 Candidato:](https://reader035.fdocument.pub/reader035/viewer/2022070312/5542eb4b497959361e8b891f/html5/thumbnails/2.jpg)
2
SommarioSommario
Obiettivi
Descrizione dell’architettura D740 e JTST
La funzione di cross-correlazione
Sincronismo tra i processori con semafori e buffer
Sincronismo mediante coda ciclica
Test su scheda JTST
Conclusioni
![Page 3: POLITECNICO DI MILANO Politecnico di Milano A.A. 2005/06 MECCANISMI DI SINCRONIZZAZIONE PER SISTEMI MULTIPROCESSORE BASATI SUL DISPOSITIVO D740 Candidato:](https://reader035.fdocument.pub/reader035/viewer/2022070312/5542eb4b497959361e8b891f/html5/thumbnails/3.jpg)
3
Applicazione per la cross-correlazione mediante semafori (con problemi di prestazioni globali)
+Meccanismo di sincronizzazione a coda ciclica
Applicazione per il calcolo della cross-correlazione con coda ciclica
Miglioramento prestazioni del sistema globale
ObiettiviObiettivi
![Page 4: POLITECNICO DI MILANO Politecnico di Milano A.A. 2005/06 MECCANISMI DI SINCRONIZZAZIONE PER SISTEMI MULTIPROCESSORE BASATI SUL DISPOSITIVO D740 Candidato:](https://reader035.fdocument.pub/reader035/viewer/2022070312/5542eb4b497959361e8b891f/html5/thumbnails/4.jpg)
4
Chip a due processori: - ARM7TDMI RISC
- mAgic DSP
Parallelismo e sincronizzazione (mediante Interrupt e PARM)
Elevata capacità di calcolo (giga-operazioni/s)
Diopsis 740Diopsis 740
![Page 5: POLITECNICO DI MILANO Politecnico di Milano A.A. 2005/06 MECCANISMI DI SINCRONIZZAZIONE PER SISTEMI MULTIPROCESSORE BASATI SUL DISPOSITIVO D740 Candidato:](https://reader035.fdocument.pub/reader035/viewer/2022070312/5542eb4b497959361e8b891f/html5/thumbnails/5.jpg)
5
Permette lo scambio di dati tra i due processori
2 modalità di funzionamento:
• SYSTEM MODE : ARM accede a tutta la memoria mAgic
• RUN MODE : ARM accede alla PARM
In System Mode il mAgic è in attesa!
Memoria Condivisa PARMMemoria Condivisa PARM
![Page 6: POLITECNICO DI MILANO Politecnico di Milano A.A. 2005/06 MECCANISMI DI SINCRONIZZAZIONE PER SISTEMI MULTIPROCESSORE BASATI SUL DISPOSITIVO D740 Candidato:](https://reader035.fdocument.pub/reader035/viewer/2022070312/5542eb4b497959361e8b891f/html5/thumbnails/6.jpg)
6
Utilizzata per stabilire una relazione tra due segnaliLocalizzazione epicentri di eventi sismici
Punto di max-somiglianza
La cross-correlazioneLa cross-correlazione
![Page 7: POLITECNICO DI MILANO Politecnico di Milano A.A. 2005/06 MECCANISMI DI SINCRONIZZAZIONE PER SISTEMI MULTIPROCESSORE BASATI SUL DISPOSITIVO D740 Candidato:](https://reader035.fdocument.pub/reader035/viewer/2022070312/5542eb4b497959361e8b891f/html5/thumbnails/7.jpg)
7
• ARM riempie il buffer 1
• mAgic preleva dal buffer 2
• ARM riempie il buffer 2
• mAgic preleva dal buffer 1
Sincronizzazione con semaforiSincronizzazione con semafori
• Vantaggi
• Semplice implementazione
• Svantaggi
• mAgic sempre in attesa dell’ARM
• Basse prestazioni globali
• Buffer dinamici non risolvono il problema non solo un problema di architettura disponibile
![Page 8: POLITECNICO DI MILANO Politecnico di Milano A.A. 2005/06 MECCANISMI DI SINCRONIZZAZIONE PER SISTEMI MULTIPROCESSORE BASATI SUL DISPOSITIVO D740 Candidato:](https://reader035.fdocument.pub/reader035/viewer/2022070312/5542eb4b497959361e8b891f/html5/thumbnails/8.jpg)
8
2 array contenenti n segnali ciascuno, un array per i risultati e due indici per i processori
Posizione del segnale nell’array : Indice nella coda % Lunghezza Coda
Segnale in posizione 2 nell’array S1
Segnale in posizione 2 nell’array S2
Risultato tra i due segnali
Es: Lunghezza Coda: 4
Indice di un processore: 18
Posizione nella coda: 2
Coda ciclica e cross-correlazione (1)Coda ciclica e cross-correlazione (1)
![Page 9: POLITECNICO DI MILANO Politecnico di Milano A.A. 2005/06 MECCANISMI DI SINCRONIZZAZIONE PER SISTEMI MULTIPROCESSORE BASATI SUL DISPOSITIVO D740 Candidato:](https://reader035.fdocument.pub/reader035/viewer/2022070312/5542eb4b497959361e8b891f/html5/thumbnails/9.jpg)
9
ARM mAgic
mAgic non è rimasto “troppo” indietro, ARM non sovrascrive dati da processare
ARM ha già caricato nuovi dati
Per stampare solo dati corretti (quindi già elaborati)
Coda ciclica e cross-correlazione (2)Coda ciclica e cross-correlazione (2)
![Page 10: POLITECNICO DI MILANO Politecnico di Milano A.A. 2005/06 MECCANISMI DI SINCRONIZZAZIONE PER SISTEMI MULTIPROCESSORE BASATI SUL DISPOSITIVO D740 Candidato:](https://reader035.fdocument.pub/reader035/viewer/2022070312/5542eb4b497959361e8b891f/html5/thumbnails/10.jpg)
10
HyperTerminal®
Prova su scheda JTST (1)Prova su scheda JTST (1)
![Page 11: POLITECNICO DI MILANO Politecnico di Milano A.A. 2005/06 MECCANISMI DI SINCRONIZZAZIONE PER SISTEMI MULTIPROCESSORE BASATI SUL DISPOSITIVO D740 Candidato:](https://reader035.fdocument.pub/reader035/viewer/2022070312/5542eb4b497959361e8b891f/html5/thumbnails/11.jpg)
11
• Creazione soluzione con utilizzo di un solo processore
• Creazione soluzione su PC
• librerie a disposizione per le prestazioni
• simulazione mediante threads del parallelismo
• Risultati ottenuti:
ARM-only (Scheda) 1 min 10 s (100 iter.)
ARM-mAgic (Scheda) 1 min (100 iter.)
PROBLEMA:
- alcune librerie C non implementate in MADE
- mancanza di supporto all’analisi delle prestazioni
Singolo processore (PC) 43 s
Doppio processore (PC) 30 s
Prova su scheda JTST (2)Prova su scheda JTST (2)
![Page 12: POLITECNICO DI MILANO Politecnico di Milano A.A. 2005/06 MECCANISMI DI SINCRONIZZAZIONE PER SISTEMI MULTIPROCESSORE BASATI SUL DISPOSITIVO D740 Candidato:](https://reader035.fdocument.pub/reader035/viewer/2022070312/5542eb4b497959361e8b891f/html5/thumbnails/12.jpg)
12
• Problemi di prestazioni riscontrati a causa di :
• accesso lento della memoria condivisa PARM
• limitatezza della memoria PARM (512 words x 2)
• Miglioramenti possibili :
• utilizzo del buffer ADDA System MODE con mappaggio in ARM
• avendo a disposizione più memoria PARM
ConsiderazioniConsiderazioni
• Simulazione su PC• guadagno del 17% nonostante l’overhead per i threads
• Soluzione a singolo processore• utilizzando solo ARM non si passa dalla memoria PARM
• Confronto con la soluzione precedente• codice mAgic era ottimizzato a livello ASM• buffer dinamici non risolvevano il problema • il metodo di sincronizzazione non vincola più le prestazioni• migliore gestione della memoria condivisa
![Page 13: POLITECNICO DI MILANO Politecnico di Milano A.A. 2005/06 MECCANISMI DI SINCRONIZZAZIONE PER SISTEMI MULTIPROCESSORE BASATI SUL DISPOSITIVO D740 Candidato:](https://reader035.fdocument.pub/reader035/viewer/2022070312/5542eb4b497959361e8b891f/html5/thumbnails/13.jpg)
13
Possibilità di analizzare le prestazioni nell’ambiente di sviluppo MADEOttimizzazioni sorgenti mAgic con codice ASMCaricamento segnali in ADDA e gestione sincronismo mediante SYSTEM MODE
Possibili sviluppi futuriPossibili sviluppi futuri
![Page 14: POLITECNICO DI MILANO Politecnico di Milano A.A. 2005/06 MECCANISMI DI SINCRONIZZAZIONE PER SISTEMI MULTIPROCESSORE BASATI SUL DISPOSITIVO D740 Candidato:](https://reader035.fdocument.pub/reader035/viewer/2022070312/5542eb4b497959361e8b891f/html5/thumbnails/14.jpg)
14
Fine PresentazioneFine Presentazione
Grazie per l’attenzione!