Facoltà di Ingegneria
Corso di Studi in Ingegneria Informatica
Progettazione ed Implementazione di un Protocollo di Replicazione
Semi-Attiva
tesi di laurea
Progettazione ed Implementazione di un Protocollo di Replicazione
Semi-Attiva
Anno Accademico 2005/2006
relatore
Ch.mo prof. Domenico Cotroneo
correlatore
Ing. Armando Migliaccio
candidato
Paolo Maresca
Matr. 534/939
Facoltà di Ingegneria
Corso di Studi in Ingegneria Informatica
Progettazione ed Implementazione di un Protocollo di Replicazione
Semi-Attiva
Contesto e Problematica
La tolleranza ai guasti nei moderni sistemi distribuiti
grazie alla replicazione software
 La ricerca di affidabilità e disponibilità per i servizi automatizzati in rete
• la rete introduce la problematica dei guasti di nodi e canali
• tolleranza ai guasti
• replicazione software vs. replicazione hardware
 La replicazione software è una delle soluzioni più utilizzate per
tollerare i guasti
• le principali tecniche di replicazione
• le garanzie di consistenza
• la comunicazione di gruppo
Facoltà di Ingegneria
Corso di Studi in Ingegneria Informatica
Progettazione ed Implementazione di un Protocollo di Replicazione
Semi-Attiva
La replicazione Semi-Attiva
Una tecnica di replicazione che non prevede entità totalmente passive

La tecnica di replicazione prevede una distinzione di ruoli delle n repliche del servizio
•
•
•
processamento deterministico e non deterministico
Replica Leader
Repliche Follower
 L’elezione del leader del gruppo non segue uno schema fisso o predetermintato dalla specifica
• un guasto del leader provoca l’elezione di
uno nuovo
• membership e aggiornamento sono tenuti
con le primitiva del GCT
 I vantaggi:
• si supera la difficoltà legata all’elaborazione non deterministica
• bassa ridondanza di elaborazione
• tolleranza ai guasti
 Gli svantaggi:
• difficoltà implementativa
Facoltà di Ingegneria
Corso di Studi in Ingegneria Informatica
Progettazione ed Implementazione di un Protocollo di Replicazione
Semi-Attiva
SARP(Semi Active Replication Protocol)
Le caratteristiche salienti del protocollo di replicazione progettato,
implementato e verificato sperimentalmente
 È un protocollo interoperabile per la replicazione software semi
attiva
•
•
•
Garantisce la replicazione del servizio su macchine distribuite eterogenee per
hardware e/o software
Garantisce la tolleranza ai guasti di tipo crash per il servizio replicato
Garantisce la totale trasparenza al client rispetto alla replicazione del servizio
 Si raggiunge la capacità di replicare il servizio su nodi eterogenei
grazie alle scelte implementative, in particolare:
•
•
•
Si è scelto il linguaggio Java per l’implementazione che garantisce la portabilità
del codice
Si è scelto utilizzare un middleware CORBA tra clienti e serventi che garantisce
trasparenza all’eterogeneità dei nodi
Si è scelto di utilizzare il GCT Appia per garantire la consistenza forte delle repliche
o Appia assicura flessibilità
Facoltà di Ingegneria
Corso di Studi in Ingegneria Informatica
Progettazione ed Implementazione di un Protocollo di Replicazione
Semi-Attiva
L’architettura di SARP
Una descrizione di alto livello dell’architettura e delle funzionalità
implementate dai componenti architetturali
 Il protocollo SARP è basato su una architettura two-tier
•
Prevede un ulteriore livello di gestione dello scenario di replicazione, che:
1)
2)
•
•
Sovraintenda il livello di replicazione del servizio
Gestisca a seguito di guasti del leader, l’elezione
di uno nuovo
Il livello di gestione possiede entità anch’esse replicate
per evitare single point of failure
Il livello di gestione non è interposto tra clienti e serventi
 Le principali componenti architetturali sono:
 CMC (Connection Manager Control): gestisce
la replicazione dei gestori
 CRC (Connection Replica Control): prevede
un duplice comportamento, si comporta da server quando appartiene al manager-tier e da
client quando appartiene al replication-tier
 CCS (Connection Client Service): gestisce la
comunicazione basata su CORBA e quella basata
su Appia
Facoltà di Ingegneria
Corso di Studi in Ingegneria Informatica
Progettazione ed Implementazione di un Protocollo di Replicazione
Semi-Attiva
L’esecuzione del Protocollo
Uno scenario che cattura una esecuzione del protocollo in presenza di
guasti misti

Si sottolinea che:




I processi g1,g2,g3 sono le repliche di gestione del sistema
I processi p1,p2,p3 sono le repliche del servizio
Il processo c1 è il client che verifica sperimentalmente il protocollo
Con <reqx,opx> e <reqx,resx> si indicano le coppie per richiesta e risposta
Facoltà di Ingegneria
Corso di Studi in Ingegneria Informatica
Progettazione ed Implementazione di un Protocollo di Replicazione
Semi-Attiva
I Risultati Sperimentali 1/2
Una vista dell’analisi sui risultati sintetici ottenuti dalle misure
sperimentali di latenza
Guasti Leader
 Si confrontano i risultati ottenuti
dalle tre tipologie di esperimento:
• Assenza di guasti
• Guasti solo dei leader
• Guasti misti di leader e follower
Latenza Media (µsec)
Confronto delle Latenze Medie
Guasti misti L&F
92000,000000
Assenza Guasti
90000,000000
88000,000000
86000,000000
84000,000000
82000,000000
80000,000000
78000,000000
76000,000000
74000,000000
r=3
r=5
r=7
r=9
r=11
r=13
#repliche
Facoltà di Ingegneria
Corso di Studi in Ingegneria Informatica
Progettazione ed Implementazione di un Protocollo di Replicazione
Semi-Attiva
I Risultati Sperimentali 2/2
 Si confrontano le frequenze relative
delle classi di campioni di latenza
• l’analisi non presenta gli outliers
• confronta su 200 classi le tre distribuzioni di frequenza
Frequenza Relativa
Una vista dell’analisi statistica operata sui risultati sintetici ottenuti dalle
misure sperimentali
Confronto Distribuzioni di Frequenze Relative
Assenza Guasti
Guasti misti L&F
0,045
Guasti Leader.
0,04
0,035
0,03
0,025
0,02
0,015
0,01
0,005
0
1
-0,005
8
15 22 29 36 43 50 57 64 71 78 85 92 99 106 113 120 127 134 141 148 155 162 169 176 183 190 197
#classi
Facoltà di Ingegneria
Corso di Studi in Ingegneria Informatica
Progettazione ed Implementazione di un Protocollo di Replicazione
Semi-Attiva
Appia e la Comunicazione di Gruppo
Una panoramica sulla offerta per la comunicazione di gruppo del
GCT Appia
 Appia è un protocol Kernel estremamente flessibile:
• Ha core ed API scritti in Java
• Il core implementa i protocolli mediante stack componibili da micro protocolli: la QoS
• Consente di implementare nuovi micro protocolli
• La comunicazione avviene mediante lo scambio di
eventi
 Appia offre servizi standard per la comunicazione di gruppo, poi personalizzabili
• Primitive per la comunicazione di gruppo:
o Reliable Multicast / Broadcast
o View Synchronous Multicast
• La reliability offerta dalle primitive standard può essere variata sostituendo
opportunamente i micro protocolli
Facoltà di Ingegneria
Corso di Studi in Ingegneria Informatica
Progettazione ed Implementazione di un Protocollo di Replicazione
Semi-Attiva
Le Conclusioni
Gli obiettivi che si sono raggiunti e i possibili sviluppi che si ipotizzano
 Contributi della Tesi
• Studio e Analisi del GCT Appia
• Realizzazione di una architettura interoperabile per la
replicazione software
• Valutazione Sperimentale dell’implementazione prodotta
 Sviluppi Futuri
• utilizzo del protocollo come architettura-testbed
o al variare dei GCT
o al variare delle proprietà di ordinamento delle primitive di
comunicazione di gruppo
Scarica

Progettazione ed Implementazione di un Protocollo di Replicazione