Tesi etd-11172004-235101 |
Link copiato negli appunti
Tipo di tesi
Tesi di laurea specialistica
Autore
Migliore, Castrenze
Indirizzo email
migliore@cli.di.unipi.it, c.migliore@libero.it
URN
etd-11172004-235101
Titolo
Implementazione MPI di Parmod
Dipartimento
SCIENZE MATEMATICHE, FISICHE E NATURALI
Corso di studi
TECNOLOGIE INFORMATICHE
Relatori
relatore Prof. Danelutto, Marco
Parole chiave
- Message Passing Interface
- parmod
- parallel programming
- skeletons
Data inizio appello
10/12/2004
Consultabilità
Parziale
Data di rilascio
10/12/2044
Riassunto
Parmod (Modulo Parallelo) e' il nuovo costrutto di programmazione parallela strutturata introdotto con ASSIST. Esso generalizza e amplia le caratteristiche degli skeletons classici, offrendo una maggiore potenza espressiva, un alto livello di astrazione e la possibilità di esprimere facilmente nuove forme di parallelismo. Questa tesi nasce dall'idea di facilitare la diffusione di ParMod anche al di fuori del modello di programmazione Assist. A tale scopo e' stata implementata una libreria che permettesse l'uso del costrutto da normali programmi C++ utilizzando un supporto MPI. Un punto di forza della libreria è la distribuzione dinamica dei processi paralleli sulle risorse reali. La progettazione e l'implementazione hanno richiesto due fasi principali:
1) l'analisi e la scelta di un'interfaccia che garantisse un buon livello di usabilita' e programmabilita'.
2) la creazione di un supporto a run-time efficiente, che permettesse di supportare l'esecuzione corretta del modulo parallelo.
La parte successiva all'implementazione è stata quella di tests, in cui è stato individuato un insieme di benchmarks necessario per analizzare le prestazione del sistema, in termini di scalabilità, efficienza e tempo di completamento; gli stessi benchmarks sono stati provati anche su Assist (vers. 1.1), al fine di effettuarne un confronto. La versione attuale di Assist effettua un mapping statico delle risorse logiche su quelle fisiche, quindi il confronto ha permesso di valutare anche il comportamento di un approccio dinamico rispetto a quello statico. I risultati ottenuti hanno evidenziato degli ottimi valori di scalabilità ed efficienza, a volte anche vicini all'ideale, reggendo bene il confronto con Assist.
1) l'analisi e la scelta di un'interfaccia che garantisse un buon livello di usabilita' e programmabilita'.
2) la creazione di un supporto a run-time efficiente, che permettesse di supportare l'esecuzione corretta del modulo parallelo.
La parte successiva all'implementazione è stata quella di tests, in cui è stato individuato un insieme di benchmarks necessario per analizzare le prestazione del sistema, in termini di scalabilità, efficienza e tempo di completamento; gli stessi benchmarks sono stati provati anche su Assist (vers. 1.1), al fine di effettuarne un confronto. La versione attuale di Assist effettua un mapping statico delle risorse logiche su quelle fisiche, quindi il confronto ha permesso di valutare anche il comportamento di un approccio dinamico rispetto a quello statico. I risultati ottenuti hanno evidenziato degli ottimi valori di scalabilità ed efficienza, a volte anche vicini all'ideale, reggendo bene il confronto con Assist.
File
Nome file | Dimensione |
---|---|
tesi.pdf | 3.28 Mb |
1 file non consultabili su richiesta dell’autore. |