Seconda Università degli studi di Napoli Tesi di Laurea Magistrale in Ingegneria Informatica Servizi Grid ed agenti mobili : un ambiente di sviluppo e delivering Candidato: Gian Marco De Rosa Relatore: Prof. Salvatore Venticinque Il Grid Computing Virtual Organization Insieme di risorse confederate attraverso un middleware che offre servizi per l’interoperabilità, protocolli standard e sicurezza Le risorse possono essere reali e virtuali I membri di una Virtual Organization collaborano tra loro per conseguire obiettivi comuni Obiettivi della tesi Progettazione di un’infrastruttura per lo sviluppo e l’utilizzo di servizi Grid basata sulla tecnologia degli agenti software 1. 2. 3. 4. Progettazione e configurazione di un cluster virtuale di macchine con installazione delle tecnologie necessarie allo scopo Sviluppo e adattamento di servizi Grid fatti successivamente funzionare sul cluster creando così un “Nodo Grid” Descrizione di procedure standard per lo sviluppo e la pubblicazione di servizi Grid Progettazione di un’interfaccia grafica per la gestione di una Virtual Organization Limiti del Grid i middleware Grid non sono in grado, da soli, di far migrare un' applicazione tra sistemi differenti L'architettura Grid non fornisce direttamente astrazioni che consentano l'uso di paradigmi di interazione tra le entità Agenti mobili: mobilità a runtime, scalabilità nelle elaborazioni, diminuzione dell’overhead Il cluster virtuale Vantaggi del cluster virtuale Sicurezza: nessun danno arrecato ad altri utenti del sistema fisico Manutenibilità: le modifiche “hardware” vengono effettuate semplicemente scrivendo nei file di configurazione delle immagini Libertà di testing : possibilità di effettuare test di sistema e di nuove configurazioni hardware/software da utilizzare successivamente su sistemi reali Tecnologie utilizzate per la creazione del Nodo Grid Globus Toolkit 4.0 : tecnologia con cui accedere verso il mondo Grid MAGE GDT : tecnologia per lo sviluppo di Grid Services Agenti Mobili Jade : mobilità a run-time Il nodo Grid basato su agenti Il modello di servizio Un client che vuol fare uso di un servizio Grid fa una richiesta al container Grid. Questo, a sua volta, converte la richiesta in un atto comunicativo verso l’agente mobile. Quest’atto comunicativo avviene tramite un agente intermediario chiamato “proxy” Servizi sviluppati Lo scopo è quello di garantire l’utilizzo di servizi Grid basati su agenti mobili in maniera trasparente all’utente. Servizi di gestione integrati e testati: • • • • • • Amministrazione Monitoraggio Sviluppo Utilizzo Mobilità inter-piattaforma Gestione tramite Condor Condor Condor è un particolare sistema per la gestione del carico di lavoro di applicazioni che richiedono grandi risorse computazionali nonché strumento per la gestione di job su Grid. Gli utenti sottomettono i loro job, seriali o paralleli, a Condor, Condor li pone in una coda, sceglie quando e dove eseguire i job basandosi su una certa politica, monitora i loro progressi e infine informa l’utente del completamento. Installazione e configurazione sul cluster virtuale di Condor e test di sottomissione di un job tramite un servizio Grid Sviluppo dei servizi Grid I passi necessari alla creazione di un Grid Service sono: • Svilippo dell’interfaccia del servizio • Utilizzo del generatore automatico WSAG per la creazione della classe che implementa l’interfaccia e degli agenti proxy necessari • Definizione del corpo degli agenti proxy • Utilizzo del MAGE GDT per la creazione del servizio Grid • Generazione, sempre con MAGE, degli “stubs” che occorrono per la comunicazione tra i client che vorranno usare il servizio ed il servizio stesso • Generazione del file GAR che rappresenta il servizio Grid sviluppato e pubblicazione (deploy) di quest’ultimo sul Container Grid Interfacciamento grafico 1/2 Interfacciamento grafico 2/2 Conclusioni e sviluppi futuri • E’ pronto al rilascio un cluster virtuale configurato per fungere da nodo Grid basato su agenti. Su di esso sono disponibili tutte le funzionalità di gestione degli agenti stessi sottoforma di servizi Grid. • E’ stata realizzata un interfaccia grafica per gestire da remoto le funzionalità offerte. • E’ in fase di sviluppo un manuale dettagliato che guiderà un utente attraverso tutte le fasi di sviluppo di un servizio Grid per questo ambiente. • Sarà possibile pubblicare servizi Grid che fanno uso della tecnologia ad agenti presente sul cluster in maniera totalmente trasparente all’esterno. Grazie per l’attenzione