next up previous contents
Next: Concorrenza & sincronizzazione Up: I problemi della programmazione Previous: La comunicazione   Indice

Replicazione

L'utilizzo della replicazione delle risorse e dei dati è uno strumento di provata efficacia nella lotta per il raggiungimento di elevati valori di availability di un sistema.

Tuttavia la presenza di elementi replicati nel sistema presenta problematiche di sincronizzazione e overhead dovuto alla necessità di mantenere la consistenza tra le varie copie di entità.

Nel sistema proposto la replicazione dei dati è effettuata a livello di Storage, mentre la sincronizzazione è effettuata a livello ``centralizzato'' da un ObjectManager. La soluzione proposta, benché piuttosto semplice richiede costose operazioni di recupero nel caso di fallimento di un ObjectManager.

Un possibile miglioramento potrebbe essere introdotto da una replicazione dell'ObjectManager, basata sull'uso di un buddy che durante il normale funzionamento riceva dalla copia attiva le informazioni di sincronizzazione e che sia pronto ad entrare in funzione nel caso di fallimento della copia principale. L'overhead introdotto da questa nuova forma di sincronizzazione rende però meno certo un miglioramento delle prestazioni del sistema: infatti a favore di una minore latenza in caso di guasto (che obbliga alla ricostruzione dello stato interno di un ObjectManager) si presenta un maggiore utilizzo di risorse durante l'uso in condizioni normali della rete.


next up previous contents
Next: Concorrenza & sincronizzazione Up: I problemi della programmazione Previous: La comunicazione   Indice
Francesco Bassi 2001-02-16