Martedi 8 novembre 2005 Consorzio COMETA Progetto PI2S2 FESR DReflect Middleware riflessivo per la distribuzione di applicazioni Java su cluster Grid Borsista.

Slides:



Advertisements
Presentazioni simili
Scheduling (Schedulazione) Susanna Pelagatti – Università di Pisa
Advertisements

UNIVERSITÀ DEGLI STUDI DI MODENA E REGGIO EMILIA
Introduzione al prototipo Grid-SCoPE
Corso di Fondamenti di Informatica
Digital FX!32 Conte Davide Crivello Emanuele Ferrando Elisa.
Unità D2 Database nel web. Obiettivi Comprendere il concetto di interfaccia utente Comprendere la struttura e i livelli che compongono unapplicazione.
PHP.
Algoritmi e Programmazione
UNIVERSITA DEGLI STUDI DI MODENA E REGGIO EMILIA Facoltà di Ingegneria – Sede di Modena Corso di Laurea in Ingegneria Informatica Progetto e sviluppo di.
APPLICAZIONI E BASI DATI DISTRIBUITE
Introduzione al linguaggio Java
1 STATO DELLINTEGRAZIONE TRA I 4 PROGETTI AVVISO 1575/2004 ATTIVITA DEL GRUPPO TECNICO OPERATIVO Riunione del Comitato Tecnico sullInteroperabilità MUR,
Proposta di integrazione e consolidamento delle risorse presenti nellinfrastruttura Grid dellItalia Meridionale (L. Merola, )
Architettura del World Wide Web
Perché.Net e non più COM/DCOM ? Superamento dei problemi di COM: Richiede una infrastruttura "non semplice" da ogni applicazione (ad esempio Class Factory.
Struttura dei sistemi operativi (panoramica)
I Thread.
La Riflessione computazione Elisa Ferrando. Cos è la Riflessione La Riflessione Sistema riflessivo Sistema computazionale.
Scheduling in GrADS Il progetto GrADS (Grid Application Development Software) ha lo scopo di semplificare lo sviluppo di unapplicazione Grid. Tra le funzionalità
4 Cosa è una rete? ã Punto di vista logico: sistema di dati ed utenti distribuito ã Punto di vista fisico: insieme di hardware, collegamenti, e protocolli.
M.A.E.A.I. Mobile Agent and Enterprise Architecture Integration Il gestore delle politiche Valerio Siri Reti di Calcolatori LS Docente: Antonio Corradi.
DEIS Università di Bologna
Reti di Calcolatori L-S Un Sistema Decentrato di Allocazione del Carico per Applicazioni di Calcolo Distribuito Mauro Bampo.
Distributed File System Service Dario Agostinone.
Fatturazione elettronica Lapplicazione consente di rintracciare le fatture emesse ad un cliente, le trasforma secondo un tracciato predefinito in un oggetto.
Corso di Informatica per Giurisprudenza Lezione 7
U N INFRASTRUTTURA DI SUPPORTO PER SERVIZI DI FILE HOSTING Matteo Corvaro Matricola Corso di Reti di Calcolatori LS – Prof. A. Corradi A.A.
Servizi Grid ed agenti mobili : un ambiente di sviluppo e delivering
Architettura di storage ad alta affidabilita e bilanciamento di carico per volumi centrali e di esperimento A.Brunengo, M.Corosu INFN Sezione di Genova.
Sistemi Informativi sul Web
Simulatore per un servizio di consistenza su architettura Grid
1 Applet ed HTML Fondamenti di Informatica Corso D.
Reti di calcolatori LS Manni Tiziano  IT e nuovi scenari applicativi …  … portabilità dei dati …  … condivisione dati …  … disponibilità.
Protocolli e architetture per WIS. Web Information Systems (WIS) Un Web Information System (WIS) usa le tecnologie Web per permettere la fruizione di.
FESR Consorzio COMETA Pier Paolo CORSO Giuseppe CASTGLIA Marco CIPOLLA Industry Day Catania, 30 Giugno 2011 Commercial applications.
FESR Consorzio COMETA Giuseppe Andronico Industry Day Catania, 30 Giugno 2011 IaaS, PaaS e SaaS: cosa significano per le aziende.
I processi.
10 azioni per lo scheduling su Grid Uno scheduler per Grid deve selezionare le risorse in un ambiente dove non ha il controllo diretto delle risorse locali,
Architetture a componenti Java per la realizzazione di DSS distribuiti Giordano Vicoli - ENEA 28 Ottobre 2003.
TW Asp - Active Server Pages Nicola Gessa. TW Nicola Gessa Introduzione n Con l’acronimo ASP (Active Server Pages) si identifica NON un linguaggio di.
MCSA Mobile Code System Architecture Infrastruttura a supporto della code mobility Pierfrancesco Felicioni Reti di Calcolatori L.S. 2005/2006.
Support for Emulation of Services and Applications in Mobile Environments with Bluetooth Gruppo: Davide Bonomo Salvatore Baglieri Referente: Ing. Dario.
Studio di una soluzione distribuita per la gestione di un centro sondaggi.
Progetto di Ingegneria del Web Anno Accademico 2007/2008 Stefano Pigiani Bruno Ricci Marco Ruzzon.
Supporto per la replicazione attiva di servizi Progetto per il corso di Reti di Calcolatori LS Montanari Mirko Matr:
1 Migrazione dei processi: Mosix. 2 Cosa è Mosix/OpenMOSIX ? OpenMOSIX è un è una patch del kernel di Linux che aggiunge funzionalit à avanzate di clustering.
Java Distributed Event Service Bringing events to J2EE platform Università degli studi di Bologna Corso di Laurea Specialistica in Ingegneria Informatica.
Reti di calcolatori LS1 Service Middleware Reti di calcolatori LS progetto di Andrea Belardi Infrastruttura dedicata alla gestione di servizi disponibili.
Servizi Internet Claudia Raibulet
R.E.V.E.N.G.E. RELIABLE AND VERSATILE NEWS DELIVERY SUPPORT FOR AGENCIES Corso di Reti di Calcolatori LS – AA Professore: Antonio Corradi Referente.
FUNZIONI: IL MODELLO A RUN-TIME 1) creazione di una nuova attivazione (istanza) del servitore 2) allocazione di memoria per i parametri e per le variabili.
B IBLIO S ERVICE consultazione di articoli online Anna Riccioni Progetto per il corso di Reti di Calcolatori L-S Anno Accademico
SnippetSearch Database di snippet bilanciato e replicato di Gianluigi Salvi Reti di calcolatori LS – Prof. A.Corradi.
Layered Grid Architecture. Application Fabric “Controlling elements locally”: Access to, & control of, resources Connectivity “Talking to Grid elements”:
Mobile Agent and Enterprise Architecture Integration Il Gestore di Librerie e Servizi Lambertini Riccardo.
Hattrick Stadium Corso di Reti di Calcolatori LS Anno Accademico 2005/2006 Dolif Emilano matr
Sicurezza delle reti informatiche: come, dove e perchè
Eprogram informatica V anno.
Eprogram informatica V anno. Programmare in rete.
Workshop CCR e INFN-GRID Hotel Cala di Lepre Palau, maggio 2009 Il futuro di INFGRID nell'era IGI:
+ Geolocalizzazione Nicolò Sordoni. + Servizi di localizzazione In Windows Phone, la posizione dell’utente può essere rilevata in 3 differenti modi: GPS:
Domenico Elia1Riunione PRIN STOA-LHC / Bologna Attività per ALICE: sommario e prospettive Domenico Elia Riunione PRIN STOA-LHC Bologna, 18 Giugno.
Monitoring applicativo SaaS Tutorial 30/09/2015. Finalità Il monitoraggio applicativo per verificare, quantificare e controllare l’automazione introdotta.
Università degli studi di Cagliari Facoltà di Ingegneria Dipartimento di Ingegneria Elettronica Gruppo di Elettromagnetismo Metodo di Progettazione Automatica.
FESR Trinacria Grid Virtual Laboratory PROGETTO “MAMMO” Sviluppo e ottimizzazione di algoritmi adattativi, specificatamente di Artificial.
Overview del middleware gLite Guido Cuscela INFN-Bari II Corso di formazione INFN su aspetti pratici dell'integrazione.
Martedi 8 novembre 2005 Consorzio COMETA “Progetto PI2S2” UNIONE EUROPEA Accesso all’infrastruttura Grid del Consorzio COMETA Grid Open Day alla Facoltà.
FESR Trinacria Grid Virtual Laboratory Workload Management System (WMS) Muoio Annamaria INFN - Catania Primo Workshop TriGrid VL Catania,
DReflect Middleware riflessivo per la distribuzione di applicazioni Java su cluster Grid Borsista COMETA: Paolo Giarrusso (10 mesi, apr - sett 2007, feb.
Transcript della presentazione:

martedi 8 novembre 2005 Consorzio COMETA Progetto PI2S2 FESR DReflect Middleware riflessivo per la distribuzione di applicazioni Java su cluster Grid Borsista COMETA: Paolo Giarrusso (6 mesi, apr - sett 2007) UniCT: Giuseppe Pappalardo, Emiliano Tramontana Dipartimento di Matematica e Informatica, Università di Catania

Obiettivi ● ● “Verrà considerato l'impiego di tecniche di progettazione a oggetti innovative per l’ambito Grid, quali la riflessione computazionale, miranti a un'integrazione quanto più possibile trasparente tra l'applicazione e il supporto proposto per la gestione delle risorse” [Allegato B, pag. 79] ● ● Pertanto DReflect mira a costituire il prototipo di un middleware che – – consenta a un’applicazione Java nata per un ambiente centralizzato di “girare” su Grid in modo distribuito, su n host (worker node) disponibili, in maniera trasparente ● ● Si è quindi resa necessaria la trasformazione automatica di applicazioni Java, per abilitarle all’uso trasparente dell’ambiente distribuito ● ● E’ stato sviluppato un set di componenti per: – – la gestione delle interazioni tra le varie parti remote – – la trasformazione del bytecode di un’applicazione, ai fini di inserirvi il supporto per le interazioni con le parti remote – – l’ispezione delle caratteristiche delle classi applicative ● ● L’host scelto per allocare le classi applicative si basa sulle caratteristiche di classi e risorse disponibili su Grid

DReflect DReflect permette – – L’analisi delle caratteristiche di una classe Java – – L’esecuzione di varie politiche di allocazione che scelgono gli host che riceveranno oggetti a runtime – – La trasformazione automatica del bytecode di applicazioni Java centralizzate – – La distribuzione trasparente delle classi e delle interazioni tra vari oggetti che eseguono in ambito distribuito DReflect ispeziona il bytecode di una classe per ricavare – – Il grado di accoppiamento tra classi misurato come il numero di invocazioni trovate nel codice – – Le percentuali di bytecode di una classe che si riferiscono all’uso di CPU e IO

● ● DReflect fornisce alcune politiche per l’allocazione di oggetti che operano in base alle caratteristiche delle classi – – Match di requisiti ● ● Per le caratteristiche della classe, trova le librerie software, la CPU e l’ammontare di RAM più appropriate tra i vari host disponibili ● ● Bilancia il carico sugli host, l’allocazione è possibile su un host quando il suo workload è minore di una soglia – – Minimizza il ritardo di comunicazione tra oggetti ● ● In accordo al workload degli host, manda oggetti che interagiscono molto sullo stesso host o su host “vicini” ● ● Una misura di “vicinanza” è calcolata a priori per gli host sulla base della latenza nelle comunicazioni tra ciascuna coppia di host Politiche di allocazione

Architettura di DReflect ● ● Alle risorse Grid è richiesta l’esecuzione di un job lato server (tramite opportuno JDL) su alcuni worker node e di un job lato client ● ● Il job lato server comunica il proprio indirizzo IP ad un repository e si mette in ascolto di richieste (di allocazioni ed esecuzioni) tramite il componente ServerProxy ● ● Il job lato client contiene l’applicazione Java da distribuire, che comincia ad eseguire su un unico worker node, nella fase di caricamento le classi verranno trasformate ● ● La classe Interceptor è associata riflessivamente con ogni classe dell’applicazione e per ogni istanza ridirige in remoto, quando occorre, istanziazioni e chiamate ad altri oggetti – – La Riflessione Computazionale (e la manipolazione del bytecode) permettono di catturare allocazioni ed esecuzioni di metodi di altre istanze ● ● La classe Locator è usata sia lato client che lato server per tenere le posizioni degli oggetti distribuiti

Trasformazioni a Load-time ● ● Il componente TranslatorOut cambia il bytecode di ciascuna classe dell’applicazione, usando la libreria Javassist – – Per ciascuna classe trasformata, i riferimenti a potenziali oggetti remoti sono cambiati nel tipo ObjRRef – – Un parametro di configurazione suggerisce quali classi possono diventare remote – – Le invocazioni verso potenziali oggetti remoti sono cambiate, così da poter gestire la comunicazione remota ob.m1(args) in _metaObj.trapMethodCall(ob, args, “m1”) ● ● L’istanza ob di ObjRRef tiene: – – il nome della classe che rappresenta – – un identificatore dell’istanza sull’host remoto – – un identificatore dell’host remoto

Trasformazioni a Load-time TranslatorOut cambia i tipi dei parametri per le invocazioni remote nel tipo ObjRRef – – Tali parametri sono oggetti acceduti da un host remoto La trasformazione permette la gestione della comunicazione remota Nella classe remota tutti gli accessi a tale parametro saranno gestiti tramite intercettazione TranslatorOut inserisce dei controlli per evitare la gestione di una invocazione tramite riflessione quando l’istanza potenzialmente in remoto è in effetti locale – – Questo riduce l’overhead della riflessione ob.m1(a) in if (ob==this) ob.m1(a) else if(ob.isLocal()) ob.getLocalObject().m1(a) else _metaObj.trapMethodCall(...)

Esperimento ● ● Vedremo un esperimento in cui il job lato server è mandato in esecuzione su n worker node, comincia ad eseguire, comunica il proprio indirizzo, si mette in ascolto di connessioni remote ● ● Il job lato client, contenente l’applicazione BasicSearch, è mandato in esecuzione, trasforma il bytecode, esegue l’applicazione che permette di cercare in parallelo una chiave su un repository di dati – – Diversi thread (istanze di classe Request) per la ricerca sono fatti partire ed ogni thread esegue su una istanza di InfoElement – – La classe Request è accoppiata con la classe InfoElement (6 chiamate di metodo) – – La classe InfoElement non è accoppiata con altre classi – – Istanze di Request e InfoElement vengono distribuite a runtime al momento della loro istanziazione sui worker node (lato server) disponibili, grazie all’adozione della politica che tiene conto di accoppiamento e load-balancing

Conseguenze e conclusioni ● ● L’applicazione suddetta viene distribuita, come desiderato, sui worker node disponibili, trasparentemente ● ● I tempi di esecuzione quando vari thread sono in esecuzione diminuiscono rispetto all’esecuzione centralizzata, ammortizzando quindi l’overhead dovuto alle comunicazioni tra host ● ● La Riflessione Computazionale è stata usata per ottenere trasparenza nella gestione del deployment remoto di oggetti ● ● Sono state realizzate alcune politiche per allocare in modo efficace gli oggetti sulla base delle loro caratteristiche ● ● Sono state valutate le prestazioni dell’applicazione distributa e confrontate con quelle dell’esecuzione centralizzata

Bibliografia ● ● A. Di Stefano, M. Fargetta, G. Pappalardo, E. Tramontana. Supporting Resource Reservation and Allocation for Unaware Applications in Grid Systems. In Journal of Concurrency & Computation: Practice & Experience (CCPE). John Wiley. Volume 18, Issue ● ● P. Giarrusso, G. Pappalardo, L. Toscano, E. Tramontana. RexMidas: A Reflective Middleware for Transparently and Effectively Distributing Objects on a Grid System. In Proceedings of IEEE WETICE ● ● P. Giarrusso, G. Pappalardo, E. Tramontana. RexMidas: Automatically Spreading an OO Application over Grid Resources. In Proceedings of Workshop finale dei Progetti Grid del PON "Ricerca" Avviso