18
Simulatore per un servizio Simulatore per un servizio di consistenza su architettura Grid di consistenza su architettura Grid Stefano Pellegrino

Simulatore per un servizio di consistenza su architettura Grid Stefano Pellegrino

Embed Size (px)

Citation preview

Page 1: Simulatore per un servizio di consistenza su architettura Grid Stefano Pellegrino

Simulatore per un servizio Simulatore per un servizio di consistenza su architettura Griddi consistenza su architettura Grid

Stefano Pellegrino

Page 2: Simulatore per un servizio di consistenza su architettura Grid Stefano Pellegrino

Simulatore per un servizio di consistenza su architettura Grid – Stefano Pellegrino

Cos’éCos’é Grid Computing 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

Page 3: Simulatore per un servizio di consistenza su architettura Grid Stefano Pellegrino

Simulatore per un servizio di consistenza su architettura Grid – Stefano Pellegrino

Cos’éCos’é Grid Computing Grid Computing

Insieme molto ampio e dinamico di entità distinte, geograficamente distribuite, che condividono risorse eterogenee per la risoluzione coordinata di problemi

Page 4: Simulatore per un servizio di consistenza su architettura Grid Stefano Pellegrino

Simulatore per un servizio di consistenza su architettura Grid – Stefano Pellegrino

Cos’éCos’é Grid Computing 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

Page 5: Simulatore per un servizio di consistenza su architettura Grid Stefano Pellegrino

Simulatore per un servizio di consistenza su architettura Grid – Stefano Pellegrino

Replica dei datiReplica 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 replicazionei client ignorano l’esistenza di copie fisiche multiple,

interagiscono come con un unico server

Page 6: Simulatore per un servizio di consistenza su architettura Grid Stefano Pellegrino

Simulatore per un servizio di consistenza su architettura Grid – Stefano Pellegrino

Consistenza dei datiConsistenza dei dati

• Requisisti di consistenzai client devono ricevere risposte consistenti e

coerenti

• Modelli di consistenzaModello 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

Page 7: Simulatore per un servizio di consistenza su architettura Grid Stefano Pellegrino

Simulatore per un servizio di consistenza su architettura Grid – Stefano Pellegrino

Replica Consistency service Replica Consistency service CONStanzaCONStanza

• 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

Page 8: Simulatore per un servizio di consistenza su architettura Grid Stefano Pellegrino

Simulatore per un servizio di consistenza su architettura Grid – Stefano Pellegrino

CONStanzaCONStanza

• 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

Page 9: Simulatore per un servizio di consistenza su architettura Grid Stefano Pellegrino

Simulatore per un servizio di consistenza su architettura Grid – Stefano Pellegrino

Sincronizzazione di databaseSincronizzazione di database

DB1(Oracle)

LRCS1LogDB1001

GRCS

LRCS2LRCS3

Notify GRCS

DB3(MySQL)

DB2(MySQL)

Update Replica Update Replica

DBUpdater

GridFTP

Apply Update

DB1(Oracle)

DB2(MySQL)

DB3(MySQL)

RCS

LogWatcher

Update Master

Extract Log

Page 10: Simulatore per un servizio di consistenza su architettura Grid Stefano Pellegrino

Simulatore per un servizio di consistenza su architettura Grid – Stefano Pellegrino

Grid simulator OptorSimGrid 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

Page 11: Simulatore per un servizio di consistenza su architettura Grid Stefano Pellegrino

Simulatore per un servizio di consistenza su architettura Grid – Stefano Pellegrino

OptorSim: architetturaOptorSim: architettura

Page 12: Simulatore per un servizio di consistenza su architettura Grid Stefano Pellegrino

Simulatore per un servizio di consistenza su architettura Grid – Stefano Pellegrino

Algoritmi di replicazioneAlgoritmi 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

Page 13: Simulatore per un servizio di consistenza su architettura Grid Stefano Pellegrino

Simulatore per un servizio di consistenza su architettura Grid – Stefano Pellegrino

Il nuovo simulatoreIl nuovo simulatore

• Strutta le caratteristiche Web Server di CONStanzaMantiene 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

Page 14: Simulatore per un servizio di consistenza su architettura Grid Stefano Pellegrino

Simulatore per un servizio di consistenza su architettura Grid – Stefano Pellegrino

ComunicazioneComunicazione

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

Page 15: Simulatore per un servizio di consistenza su architettura Grid Stefano Pellegrino

Simulatore per un servizio di consistenza su architettura Grid – Stefano Pellegrino

CONStanza: modificheCONStanza: modifiche

• GRCS e LRCS serverTrasformazione in thread dei processi server

• UpdateOperationEliminazione della parte relativa all’interazione con la

Grid

Page 16: Simulatore per un servizio di consistenza su architettura Grid Stefano Pellegrino

Simulatore per un servizio di consistenza su architettura Grid – Stefano Pellegrino

OptorSim: modificheOptorSim: modifiche

• RCSimServer multithread, gestisce:

Comunicazione con CONStanza Update propagation

• Computing Element CEThread che si occupa dell’elaborazione dei job, gestisce:

Notifica update Update application

Page 17: Simulatore per un servizio di consistenza su architettura Grid Stefano Pellegrino

Simulatore per un servizio di consistenza su architettura Grid – Stefano Pellegrino

Sincronizzazione di databaseSincronizzazione di database

LRCS1

GRCS

LRCS2LRCS3

Notify GRCS

DB3(MySQL)

DB2(MySQL)

Update Replica Update Replica

DBUpdater

Apply Update DB(MySQL)

DB(MySQL)

RCS

LogWatcher

Page 18: Simulatore per un servizio di consistenza su architettura Grid Stefano Pellegrino

Simulatore per un servizio di consistenza su architettura Grid – Stefano Pellegrino

ConclusioniConclusioni

• 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