DEMI: un ambiente per la programmazione di job in un sistema distribuito ed eterogeneo
Relatore:
dott. Salvatore Orlando
Correlatore:
dott. Mirco Mazzucato
Correlatore:
prof. Roberto Zannoni
Abstract
Sono sempre di piu` i centri di calcolo, sia nel mondo industriale che
scientifico, in cui il singolo calcolatore centrale di tipo mainframe
e` stato sostituito con workstation, che hanno un rapporto prestazioni/prezzo
nettamente superiore. Vi sono pero` varie difficolta`, non del tutto risolte,
che devono essere considerate in questo nuovo modello di computing: e`
in genere complesso sviluppare applicazioni adatte a questo tipo di ambienti,
l'amministrazione dii decine/centinaia/migliaia di workstation puo` richiedere
molte risorse, ecc...
Una delle realta` in cui il problema della gestione efficiente di un
sistema di calcolo distribuito ed eterogeneo e` molto sentito e`
l'ambiente della fisica delle alte energie (HEP: High Energy Physics),
in cui si studiano i costituenti della materia, e le forze che operano
tra essi. La ricerca fisica di tipo teorico e di tipo sperimentale e` infatti
fortemente vincolata dai limiti posti dalle risorse computazionali disponibili.
In questa tesi viene proposto il modello di un sistema chiamato DEMI
(Distributed
hEterogeneous coMputing envIronment), per la programmazione e la gestione
di elaborazioni in un ambiente di questo tipo, e che risolve alcuni dei
problemi delle applicazioni esistenti (scarsa scalabilita` e configurabilita`,
livello di automatizzazione molto limitato, gestione non ottimale delle
risorse computazionali, ecc...). L'utente ha la possibilita` di definire
propri programmi (production), costituiti da un insieme di processi sequenziali
(task), ognuno dei quali puo` essere implementato anche per piu` piattaforme.
Una produzione puo` essere rappresentata attraverso un grafo acicliclo
"data flow", in cui i nodi rappresentano i task, mentre gli archi rappresentano
vincoli di dipendenza sui dati. I task di una produzione possono essere
elaborati in maniera concorrente, ma un task, per poter essere eseguito,
deve "disporre" di tutti i suoi input (le regole di firing associate ai
nodi del grafo sono data-driven). L'ambiente di calcolo considerato e`
composto da un insieme di siti, distribuiti geograficamente, connessi tra
loro attraverso una rete geografica. Ogni sito rappresenta un metasistema:
un sistema di elaborazione distribuito, costituito da calcolatori indipendenti
ed eterogenei, collegati tra loro attraverso una rete locale.
Anche se si fa riferimento alle elaborazioni tipiche di un esperimento
HEP, quanto detto puo` essere applicato ad altre realta`, in cui si devono
affrontare problemi analoghi.
La tesi presenta lo studio e l'analisi del problema, e la progettazione
e implementazione di un primo prototipo del sistema.
Capitolo 1 Introduzione .ps .ps.gz
Capitolo 2 L'ambiente HEP .ps .ps.gz
Capitolo 3 Il sistema DEMI .ps .ps.gz
Capitolo 4 Funzionalita` del sistema DEMI .ps .ps.gz
Capitolo 5 Strumenti disponibili .ps .ps.gz
Capitolo 6 Gestione dei dati .ps .ps.gz
Capitolo 7 Architettura software del sistema .ps .ps.gz
Capitolo 8 Implementazione e verifica .ps .ps.gz
Capitolo 9 Conclusioni .ps .ps.gz
Appendice A Glossario .ps .ps.gz
Appendice B Ambienti per la programmazione parallela .ps .ps.gz
Appendice C Il modello dei dati a oggetti .ps .ps.gz