Introduzione

 

L'utilizzo della replicazione nei sistemi distribuiti, intesa come replicazione di risorse sia software che hardware, è la chiave per arrivare a soddisfare requisiti di availability, reliability e fault tolerance.

 La replicazione costituisce anche una base su cui si possono realizzare di politiche di bilanciamento del carico dei vari server "replicati", al fine di tentare un miglioramento delle performance del servizio. Prima di parlare di performance in un sistema che utilizza la replicazione, bisogna ricordare che il passaggio da un modello con server unico è molto costoso: occorre introdurre protocolli di supporto al coordinamento e al recovery, che introducono un forte overhead. Quindi appare evidente che se non si vogliono soddisfare requisiti di fault tolerance (cioè non si fanno ipotesi di guasto) è rischioso decidere di utilizzare la replicazione per migliorare le prestazioni intese come aumento del throughput: si può affermare che se la complessità in tempo del singolo servizio è "piccola", il throughput migliore si ha senza l'uso della replicazione, mentre (e questo è tutto da verificare) se questa complessità in tempo è "grande" si può trarre vantaggio dalla replicazione utilizzata per effettuare un bilanciamento del carico sui vari server replicati.

Lo scopo di questo progetto è proporre e realizzare un modello di replicazione attiva che soddisfa ad un minimo requisito di fault tolerance e che contiene un supporto al bilanciamento del carico sulle varie repliche.

Infine sono state eseguite delle prove di questo servizio replicato, misurando il tempo di esecuzione di un certo numero di servizi, variando come parametri il numero di repliche e la durata dei singolo servizi svolti. I commenti a queste prove ed i risultati  sono raccolti nelle conclusioni.

 

 


 Next page >>