Simulatore per un servizio di consistenza su architettura Grid Stefano Pellegrino
Cos’é Grid Computing “…. Griglia di distribuzione della potenza computazionale in cui, come i watt nella griglia di distribuzione dell’elettricità, la potenza computazionale può essere distribuita a chi ne fa richiesta senza badare alla sua provenienza”. I. Foster and C. Kesselman: The Grid: Blueprint for a New Computing Infrastructure. Morgan Kaufman, USA, 1998 Simulatore per un servizio di consistenza su architettura Grid – Stefano Pellegrino
Cos’é Grid Computing Insieme molto ampio e dinamico di entità distinte, geograficamente distribuite, che condividono risorse eterogenee per la risoluzione coordinata di problemi Simulatore per un servizio di consistenza su architettura Grid – Stefano Pellegrino
Cos’é Grid Computing Un’infrastruttura Grid e un framework di applicazioni formano un ambiente di collaborazione, facilitando la condivisione di risorse hardware, software, cognitive ed umane Risorse eterogenee: le risorse di una Grid possono appartenere a diversi produttori con evidenti differenze sia a livello di piattaforme hardware che software Cicli di calcolo inutilizzati possono essere aggregati per essere utilizzati da applicazioni remote Simulatore per un servizio di consistenza su architettura Grid – Stefano Pellegrino
Replica dei dati La replicazione dei dati è un meccanismo per migliorare l'accesso di dati per quanto riguarda: Tempo di accesso Tolleranza ai guasti Migliore distribuzione del carico Requisiti di trasparenza di replicazione i client ignorano l’esistenza di copie fisiche multiple, interagiscono come con un unico server Simulatore per un servizio di consistenza su architettura Grid – Stefano Pellegrino
Consistenza dei dati Requisisti di consistenza Modelli di consistenza i client devono ricevere risposte consistenti e coerenti Modelli di consistenza Modello sincrono (Eager) Tutte le repliche vengono aggiornate all’interno di una singola transazione Modello asincrono (Lazy) Permettono ad alcune repliche di trovarsi per un certo periodo in uno stato inconsistente Simulatore per un servizio di consistenza su architettura Grid – Stefano Pellegrino
Replica Consistency service CONStanza Strutturata come Web Service è in grado di sincronizzare file e database Implementata in C++ utilizza: gSOAP per la creazione automatica di stub/skeleton Globus toolkit 2.x per il trasferimento dei file tramite GridFTP Simulatore per un servizio di consistenza su architettura Grid – Stefano Pellegrino
CONStanza Sincronizzazione di database: implementata per supportare la sincronizzazione di database in una configurazione single-master Sincronizzazione Oracle to Mysql e Mysql to Mysql mediante un processo di: Estrazione del Log e notifica Update Propagation Log Transfer & Application Simulatore per un servizio di consistenza su architettura Grid – Stefano Pellegrino
Sincronizzazione di database Extract Log Update Master DB1 (Oracle) DB1 (Oracle) LRCS1 Log Watcher LogDB1001 GridFTP Notify GRCS RCS GRCS Update Replica Update Replica LRCS3 LRCS2 DBUpdater Apply Update DB3 (MySQL) DB3 (MySQL) DB2 (MySQL) DB2 (MySQL) Simulatore per un servizio di consistenza su architettura Grid – Stefano Pellegrino
Grid simulator OptorSim OptorSim è un simulatore Grid scritto in Java per modellare il comportamento degli algoritmi di replicazione Imita l'ambiente di Grid simulando l'esecuzione di esperimenti che richiedono dati distribuiti Permette di valutare e confrontare gli algoritmi di replicazione in molteplici scenari Grid Simulatore per un servizio di consistenza su architettura Grid – Stefano Pellegrino
OptorSim: architettura Simulatore per un servizio di consistenza su architettura Grid – Stefano Pellegrino
Algoritmi di replicazione no replication: il posizionamento delle repliche viene deciso all’inizio e rimane invariato per tutto il corso della simulazione unconditional replication: esegue sempre la replicazione del file nel sito in cui verrà elaborato dal job oldest file deleted least accessed file deleted economic model: file sono visti come dei beni di consumo Simulatore per un servizio di consistenza su architettura Grid – Stefano Pellegrino
Il nuovo simulatore Strutta le caratteristiche Web Server di CONStanza Mantiene intatta il più possibile l’implementazione originale di CONStanza Scalabilità a parità di potenza di calcolo, la possibilità di eseguire con lo stesso software simulazioni sempre più complesse Simulatore per un servizio di consistenza su architettura Grid – Stefano Pellegrino
InterruptedException Comunicazione Runtime rt = Runtime.getRuntime(); rt.exec(“lrcs-update-DBreplica -d -l VOMS –u VOMS2"); cmd.waitFor(); System.out.println("Update LRCS completo"); InterruptedExcepton IOException InterruptedException IOException Simulatore per un servizio di consistenza su architettura Grid – Stefano Pellegrino
CONStanza: modifiche GRCS e LRCS server UpdateOperation Trasformazione in thread dei processi server UpdateOperation Eliminazione della parte relativa all’interazione con la Grid Simulatore per un servizio di consistenza su architettura Grid – Stefano Pellegrino
OptorSim: modifiche RCSim Computing Element CE Server multithread, gestisce: Comunicazione con CONStanza Update propagation Computing Element CE Thread che si occupa dell’elaborazione dei job, gestisce: Notifica update Update application Simulatore per un servizio di consistenza su architettura Grid – Stefano Pellegrino
Sincronizzazione di database LRCS1 Log Watcher Notify GRCS RCS GRCS Update Replica Update Replica LRCS3 LRCS2 DBUpdater Apply Update DB (MySQL) DB3 (MySQL) DB2 (MySQL) DB (MySQL) Simulatore per un servizio di consistenza su architettura Grid – Stefano Pellegrino
Conclusioni Il prototipo di simulatore realizzato ha la possibilità di integrare ogni nuova funzionalità di CONStanza permettendo di ottenere una simulazione sempre più evoluta di un servizio di consistenza In particolare prevedendo lo sviluppo di altri protocolli di consistenza all’interno del progetto CONStanza, una estensione del simulatore potrebbe essere uno strumento utile per valutare il loro impatto su diverse configurazioni di Grid Sfruttando le diverse strategie di replicazione di OptorSim, per ogni protocollo di consistenza, si potrebbero valutare le migliori strategie di replicazione al fine di ottenere la migliore combinazione possibile per massimizzare le prestazioni della Grid Simulatore per un servizio di consistenza su architettura Grid – Stefano Pellegrino