La diffusione dei sistemi di elaborazione paralleli al di fuori dei laboratori di ricerca è ancora ostacolata dalla mancanza di una tecnologia software e di una educazione alla programmazione concorrente adeguate ai progressi ottenuti nel campo hardware. La definizione di un modello di sistema che assuma il ruolo che la macchina di von Neumann ha per i sistemi sequenziali, costituisce un grande stimolo per i ricercatori nel settore del calcolo parallelo. La nostra convinzione è che una macchina parallela general-purpose possa essere programmata efficientemente e creativamente solo se la concorrenza è visibile al programmatore. Il parallelismo dell'architettura può infatti essere pienamante sfruttato solo con programmi che abbiamo un elevato numero di flussi di controllo. La programmazione concorrente non è un compito difficile a condizione che siano utilizzate opportune astrazioni. Il programmatore dovrebbe occuparsi solo di individuare la naturale decomposizione del problema in attività indipendenti e non delle modalità di allocazione di tali attività nel sistema. Nel lavoro descritto in questa tesi abbiamo affrontato alcune delle problematiche relative alla programmazione delle macchine parallele con una impostazione prettamente sperimentale. Lo studio del parallelismo intrinseco ai programmi logici ha portato alla definizione di un modello di esecuzione parallela che costituisce un esempio di scomposizione ricorsiva di un problema in un insieme dinamico di attività concorrenti. La descrizione del modello in termini di una elaborazione guidata dai messaggi e l'implementazione in un multicomputer reale hanno comportato la definizione di opportuni meccanismi per la allocazione dinamica, la comunicazione e sincronizzazione delle attività concorrenti. Il programma interprete implementato non dipende dall'architettura fisica della macchina (numero di nodi, topologia di interconnessione) e rappresenta una soluzione originale e realistica verso una maggiore performance dei programmi logici. La necessità di disporre di una connessione virtuale completa fra i nodi dell'architettura ha sollecitato lo studio delle modalità di comunicazione e la definizione di una tecnica modulare per la costruzione di router per macchine con topologia a k-ary n-cube. Per ciascuna delle tematiche affrontate è stata proposta una soluzione al problema trattato, ed è stato realizzato un prototipo funzionante della soluzione proposta. La scelta di accompagnare gli studi teorici con delle implementazioni complete è stata fruttuosa anche se impegnativa, in quanto ha permesso di toccare con mano una serie di problemi che sarebbero forse passati in secondo piano in mancanza di una realizzazione dei prototipi sopra citati.

Modelli e supporti per il parallelismo in architetture a scambio di messaggi

Avvenuti Marco
1993-01-01

Abstract

La diffusione dei sistemi di elaborazione paralleli al di fuori dei laboratori di ricerca è ancora ostacolata dalla mancanza di una tecnologia software e di una educazione alla programmazione concorrente adeguate ai progressi ottenuti nel campo hardware. La definizione di un modello di sistema che assuma il ruolo che la macchina di von Neumann ha per i sistemi sequenziali, costituisce un grande stimolo per i ricercatori nel settore del calcolo parallelo. La nostra convinzione è che una macchina parallela general-purpose possa essere programmata efficientemente e creativamente solo se la concorrenza è visibile al programmatore. Il parallelismo dell'architettura può infatti essere pienamante sfruttato solo con programmi che abbiamo un elevato numero di flussi di controllo. La programmazione concorrente non è un compito difficile a condizione che siano utilizzate opportune astrazioni. Il programmatore dovrebbe occuparsi solo di individuare la naturale decomposizione del problema in attività indipendenti e non delle modalità di allocazione di tali attività nel sistema. Nel lavoro descritto in questa tesi abbiamo affrontato alcune delle problematiche relative alla programmazione delle macchine parallele con una impostazione prettamente sperimentale. Lo studio del parallelismo intrinseco ai programmi logici ha portato alla definizione di un modello di esecuzione parallela che costituisce un esempio di scomposizione ricorsiva di un problema in un insieme dinamico di attività concorrenti. La descrizione del modello in termini di una elaborazione guidata dai messaggi e l'implementazione in un multicomputer reale hanno comportato la definizione di opportuni meccanismi per la allocazione dinamica, la comunicazione e sincronizzazione delle attività concorrenti. Il programma interprete implementato non dipende dall'architettura fisica della macchina (numero di nodi, topologia di interconnessione) e rappresenta una soluzione originale e realistica verso una maggiore performance dei programmi logici. La necessità di disporre di una connessione virtuale completa fra i nodi dell'architettura ha sollecitato lo studio delle modalità di comunicazione e la definizione di una tecnica modulare per la costruzione di router per macchine con topologia a k-ary n-cube. Per ciascuna delle tematiche affrontate è stata proposta una soluzione al problema trattato, ed è stato realizzato un prototipo funzionante della soluzione proposta. La scelta di accompagnare gli studi teorici con delle implementazioni complete è stata fruttuosa anche se impegnativa, in quanto ha permesso di toccare con mano una serie di problemi che sarebbero forse passati in secondo piano in mancanza di una realizzazione dei prototipi sopra citati.
1993
Avvenuti, Marco
File in questo prodotto:
Non ci sono file associati a questo prodotto.

I documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/11568/1216690
 Attenzione

Attenzione! I dati visualizzati non sono stati sottoposti a validazione da parte dell'ateneo

Citazioni
  • ???jsp.display-item.citation.pmc??? ND
  • Scopus ND
  • ???jsp.display-item.citation.isi??? ND
social impact