POLITECNICO DI MILANO Politecnico di Milano A.A. 2005/06 MECCANISMI DI SINCRONIZZAZIONE PER SISTEMI...

14
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

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:

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:

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:

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:

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:

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:

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:

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:

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:

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:

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:

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:

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:

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:

14

Fine PresentazioneFine Presentazione

Grazie per l’attenzione!