Ai miei genitori per il continuo sostegno ricevuto
Francesco
Ai miei genitori e a tutti quelli che hanno sempre creduto in me Gianmarco
Ringraziamenti
Ringrazio tutti i compagni di studi che hanno reso il mio soggiorno pisano più divertente, in special modo tutti gli amici dell'Ostello Santa Marta. Un grazie anche ai miei colleghi Carlo e Gianmarco per i consigli ed il supporto ricevuto. Infine un ringraziamento speciale
a Mirella che ha saputo sopportarmi anche durante i periodi più difficili.
Francesco
Con questo lavoro si chiude una bellissima stagione della mia vita.
Ringrazio i nonni e le nonne, gli zii e le zie, i cugini e le cugine, gli amici e le amiche e tutte le persone che hanno partecipato nel bene e nel male a questo mio percorso formativo. Un particolare ringraziamento agli amici e colleghi Francesco e Carlo ed un caloroso
grazie alla pazienza di Ylenia.
Indice
Capitolo 1 - Introduzione ………..…...13
Capitolo 2 - Piattaforme Grid e applicazioni Grid-Aware ………23
2.1 Le piattaforme Grid………..24
2.2 Applicazioni abilitate alla griglia ………25
2.3 Modello a componenti ………25
2.4 Applicazioni parallele ad alte prestazioni basate su componenti ………..28
2.5 Architettura di riferimento ………..………...29
2.6 Gestione delle risorse .……….…….31
2.7 Mapping e Scheduling su piattaforme grid ………..……33
2.8 Mapping e Scheduling di programmi paralleli ad alte prestazioni basati su componenti ………..………37
2.9 Matchmaking ………...40
2.10 Definizione di QoS ……….41
2.11 Livelli di specifica del QoS ………43
2.12 Contratto di Performance ………...44
2.13 Prenotazione delle Risorse ………...45
2.14 Stato dell’arte ………...47
Capitolo 3 - Ambiente ASSIST e Deployment delle applicazioni ……… 63
3.1 Assist ………..………...64
3.2 Componenti Assist ……….. 64
3.3 Codice funzionale ………... 66
3.4 Contratto di performance ……….... 69
3.7 Grid Execution Agent ………...72
3.8 Broker System ………..77
3.9 Integrazione in GEA ………..79
3.10 Broker system e supporto in fase di esecuzione.………80
Capitolo 4 - Broker System ……….……….83
4.1 Ontologia fondazionale delle risorse ………...84
4.2 Classi per la descrizione delle risorse ………...88
4.3 Sintassi per la descrizione delle risorse ……….90
4.4 Filtri..………96
4.4.1 Constraints…..………..………..97
4.4.2 Reservation constraints ……….………....99
4.5 Architettura del sistema...………....101
4.5.1 Architettura del broker ………103
4.5.2 Architettura BrokerLib ………..…106
4.6 Implementazione Broker …..………...108
4.6.1 Modello usato nell'implementazione…..………...108
4.6.2 Sessioni…..………109
4.6.3 Advance Reservation…..………...110
4.6.3.1 Strutture dati per Advance Reservation………...113
4.6.4 Sistema di filtraggio………...………118
4.6.5 Parser…...………..120
4.6.6 Caching dei filtri…..……….…….121
4.7 API della brokerLib.………..………...123
Capitolo 5 - Risultati sperimentali e conclusioni ………133
5.1 Descrizione dell'ambiente di esecuzione della sperimentazione.………....134
5.2.4 Test sul sistema di prenotazione……….145
5.3 Valutazione delle prestazioni del sistema.……….146
5.4 Possibili sviluppi.………...154
5.5 Conclusioni.………...156
Appendice..………...……….159
Indice delle Figure e Tabelle
Figure
2.1 Architettura stratificata della griglia ………29
2.2 Livelli di scheduling ………35
2.3 Architettura di GARA ……….…49
2.4 Schema del framework di matchmaking ……….53
2.5 Architettura del OMMS ……….…..60
3.1 Struttura di un componente ASSIST ………..65
3.2 Rappresentazione di un grafo ASSIST ………..67
3.3 Rappresentazione di un parmod ………68
3.4 Processo di compilazione ………..70
3.5 Architettura del GEA ………72
3.6 Lancio di una applicazione ……….………..73
3.7 Struttura a plugin del GEA ………..……76
4.1 Schema UML di una Machine ………..85
4.2 Schema UML di un Cluster ………...87
4.3 Schema UML di una Computational Resource ………..89
4.4 Architettura del sistema di brokering ………102
4.5 Architettura logica del Broker server ………...104
4.6 Architettura logica della libreria BrokerLib ……….107
4.7 Utilizzo ricorsivo della BrokerLib ……….110
4.8 Diagrammi di Gantt ………111
4.9 Struttura dati per l’Advance Reservation ………...……..114
4.10 Operazione di inserimento sulla struttura dati AR ………116
4.11 Frammentazione dei TSS ………...116
5.1 Microbenchmark matchmaker n.1 ……….…………138
5.2 Microbenchmark matchmaker n.2 ……….…..139
5.3 Microbenchmark matchmaker n.2 (istogrammi) ……….…..140
5.4 Microbenchmark confronto ………...……143
5.5 Microbenchmark Admission Control ………145
5.6 Grafico test prototipo n. 1 ……….148
5.8 Grafico test prototipo n. 3 ……….………150
5.9 Grafico test prototipo n. 4 ……….151
5.10 Grafico test prototipo n. 5 ……….152
5.11 Grafico test prototipo n. 6 ………...……….…....153
Tabelle 5.1 Risultati test matching bilaterale ………..142