Tesi di Laurea

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.
 
 

Intera tesi:                                                             .ps    .ps.gz
 

Indice                                                                                                            .ps   .ps.gz

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

Appendice D       L'API ODBC                                                               .ps   .ps.gz

Bibliografia                                                                                                  .ps    .ps.gz