Upload
wynn
View
37
Download
0
Embed Size (px)
DESCRIPTION
Tandem un sistema ad alta disponibilità. Sauro Menchetti, Andrea Fedeli Esame di Informatica Industriale A.A. 1998/99. Un po’ di storia. La Tandem Computers fu fondata nel 1976 per costruire dei sistemi commerciali ad alta disponibilità per l’elaborazione delle transazioni - PowerPoint PPT Presentation
Citation preview
TandemTandemun sistema ad alta disponibilitàun sistema ad alta disponibilità
Sauro Menchetti, Andrea Sauro Menchetti, Andrea FedeliFedeli
Esame di Informatica IndustrialeEsame di Informatica Industriale
A.A. 1998/99A.A. 1998/99
Un po’ di storiaUn po’ di storia
La Tandem Computers fu fondata La Tandem Computers fu fondata nel 1976 per costruire dei sistemi nel 1976 per costruire dei sistemi commerciali ad alta disponibilità commerciali ad alta disponibilità per l’elaborazione delle transazioniper l’elaborazione delle transazioni
L’approccio che fu seguito per la L’approccio che fu seguito per la realizzazione di tali sistemi fu realizzazione di tali sistemi fu quello della quello della ridondanza dinamicaridondanza dinamica
Un po’ di storiaUn po’ di storia
I tre maggiori venditori commerciali:I tre maggiori venditori commerciali:
AT&TAT&T TandemTandem StratusStratus
Obiettivi del sistema Obiettivi del sistema TandemTandem
MTBF di circa 100 anniMTBF di circa 100 anni ModularitàModularità Operazioni Operazioni fail fastfail fast Tolleranza ad un singolo guastoTolleranza ad un singolo guasto Manutenzione onlineManutenzione online Interfaccia semplificataInterfaccia semplificata Praticità, durevolezzaPraticità, durevolezza
L’architettura del sistemaL’architettura del sistema
da 2 a 16 processorida 2 a 16 processori Dynabus Interprocessor BusDynabus Interprocessor Bus sistema basato sullo scambio di sistema basato sullo scambio di
messaggimessaggi i bus di I/O collegano ogni i bus di I/O collegano ogni
processore al Dynabus per mezzo processore al Dynabus per mezzo di un controllerdi un controller
I moduli dei processoriI moduli dei processori
Sono i componenti più importanti del Sono i componenti più importanti del sistema. Contengono:sistema. Contengono:
IPU, instruction processing unitIPU, instruction processing unit memoriamemoria canale di I/Ocanale di I/O interfaccia con il Dynabusinterfaccia con il Dynabus più sorgenti di alimentazionepiù sorgenti di alimentazione
Il Dynabus Interprocessor Il Dynabus Interprocessor BusBus
due estensioni in fibra ottica ne due estensioni in fibra ottica ne migliorano le caratteristichemigliorano le caratteristiche
per trasferire i dati, c’è una apposita per trasferire i dati, c’è una apposita istruzione di istruzione di sendsend
ogni bus ha 16 linee per i dati ed altre ogni bus ha 16 linee per i dati ed altre linee per i controllilinee per i controlli
costituito da due bus indipendenti a cui costituito da due bus indipendenti a cui si accede tramite due controller si accede tramite due controller separatiseparati
Le perifericheLe periferiche
Tutti i percorsi e la maggior parte dei Tutti i percorsi e la maggior parte dei dispositivi sono dispositivi sono duplicatiduplicati
sottosistema di comunicazione 6100sottosistema di comunicazione 6100 dischi: V8, XL8, V80, XL80; tutti dischi: V8, XL8, V80, XL80; tutti
mirroredmirrored interfaccia IPI 2 del disk driveinterfaccia IPI 2 del disk drive controller fail fast totally self checkcontroller fail fast totally self check
Evoluzione dei processoriEvoluzione dei processori
1976 NonStop I1976 NonStop I 1981 NonStop II1981 NonStop II 1983 TXP, Cyclone1983 TXP, Cyclone 1986 VLX1986 VLX 1987 CLX 6001987 CLX 600 1989 CLX 7001989 CLX 700 1991 CLX 8001991 CLX 800
Il sistema Tandem Integrity Il sistema Tandem Integrity S2S2
sistema basato su standard industrialisistema basato su standard industriali sistema operativo costruito su UNIXsistema operativo costruito su UNIX portabilità delle applicazioni a livello portabilità delle applicazioni a livello
sorgentesorgente meccanismo di tolleranza ai guasti meccanismo di tolleranza ai guasti
implementato in hardwareimplementato in hardware progettato per l’industria delle progettato per l’industria delle
telecomunicazionitelecomunicazioni
Architettura dell’Integrity Architettura dell’Integrity S2S2
suddiviso in CRUsuddiviso in CRU unità CPC triplicateunità CPC triplicate due controller TMRCdue controller TMRC reliable system bus RSBreliable system bus RSB due moduli IOPdue moduli IOP reliable system bus di I/O RIOBreliable system bus di I/O RIOB bus NonStop V+bus NonStop V+
Il software dell’Integrity S2Il software dell’Integrity S2
usa un kernel UNIX esistente per il usa un kernel UNIX esistente per il sistema operativosistema operativo
ripristino e reintegrazione delle CPC e ripristino e reintegrazione delle CPC e dei TMRC dai core fault, cioè dai guasti dei TMRC dai core fault, cioè dai guasti che avvengono nel complesso formato che avvengono nel complesso formato dalla memoria e dal processoredalla memoria e dal processore
supporto per le operazioni di I/O a supporto per le operazioni di I/O a vantaggio dei processi dell’utentevantaggio dei processi dell’utente
Tecniche per la Tecniche per la manutenzionemanutenzione
Maggiore responsabilità agli utentiMaggiore responsabilità agli utenti Sostituzioni hardware “a caldo”Sostituzioni hardware “a caldo” Ricerca dei guasti attraverso:Ricerca dei guasti attraverso:
– Test diagnostici onlineTest diagnostici online– Sistemi di individuazione dei fallimenti Sistemi di individuazione dei fallimenti
interniinterni Coordinamento remoto del sistemaCoordinamento remoto del sistema Interfacce diagnostiche specifiche e Interfacce diagnostiche specifiche e
semplicisemplici
Il Processore OSPIl Processore OSP
Comunica con tutti i processori del sistema Comunica con tutti i processori del sistema attraverso una apposita interfaccia inclusa in attraverso una apposita interfaccia inclusa in ogni processore:ogni processore:– controlla lo status interno e la memoria;controlla lo status interno e la memoria;– verifica il funzionamento di tutti i canali I/O.verifica il funzionamento di tutti i canali I/O.
Dispone di una consolle diagnostica che anche Dispone di una consolle diagnostica che anche in modo remoto permette di:in modo remoto permette di:– diagnosticare problemi hardware e software;diagnosticare problemi hardware e software;– permette l’esecuzione di istruzioni passo a passo;permette l’esecuzione di istruzioni passo a passo;– lanciare routine microdiagnostiche;lanciare routine microdiagnostiche;– resettare, ricaricare un processore.resettare, ricaricare un processore.
Il sistema TDMSIl sistema TDMS
Il Tandem Diagnostic Maintenance System sostituì lo Il Tandem Diagnostic Maintenance System sostituì lo OSPOSP
Interfaccia verso l’operatore notevolmente Interfaccia verso l’operatore notevolmente semplificatasemplificata
Monitoraggio real-time dei componenti:Monitoraggio real-time dei componenti:– Analisi online dei guastiAnalisi online dei guasti– Chiamata automatica al centro assistenza Tandem (TNSC)Chiamata automatica al centro assistenza Tandem (TNSC)
Compatibilità con tutti i sistemi precedentiCompatibilità con tutti i sistemi precedenti Registro degli eventi segnalati da processori e/o Registro degli eventi segnalati da processori e/o
sistema operativo controllato periodicamente dal sistema operativo controllato periodicamente dal TDMSTDMS
Possibilità di test attivo e di analisi basata su sintomiPossibilità di test attivo e di analisi basata su sintomi
Esempio di funzionamentoEsempio di funzionamento Il processo di I/O del nastro crea un evento di errore e Il processo di I/O del nastro crea un evento di errore e
lo manda al registro degli eventi del TMDSlo manda al registro degli eventi del TMDS Il TMDS invia un segnale all’analizzatore dei guastiIl TMDS invia un segnale all’analizzatore dei guasti L’analizzatore dei guasti localizza l’errore nel controller L’analizzatore dei guasti localizza l’errore nel controller
e scrive i dati necessari per la sostituzione nel registroe scrive i dati necessari per la sostituzione nel registro Il TMDS telefona al TNSC e comunica i dati del registroIl TMDS telefona al TNSC e comunica i dati del registro Il TNSC telefona al TMDS per verificare l’analisiIl TNSC telefona al TMDS per verificare l’analisi Il TNSC invia un operatore per sostituire la schedaIl TNSC invia un operatore per sostituire la scheda Il TMDS regista la sostituzione nel registroIl TMDS regista la sostituzione nel registro
Sistema Operativo Sistema Operativo GuardianGuardian
Permette di sfruttare efficacemente la ridondanza Permette di sfruttare efficacemente la ridondanza hardwarehardware– massimo sfruttamento in caso di corretto funzionamentomassimo sfruttamento in caso di corretto funzionamento– minimo danno in caso di malfunzionamento e riparazioniminimo danno in caso di malfunzionamento e riparazioni
Rende trasparente al programmatore la ridondanzaRende trasparente al programmatore la ridondanza Mantiene una visione globale del sistemaMantiene una visione globale del sistema
– fornisce un mezzo efficiente ed affidabile di comunicazione fornisce un mezzo efficiente ed affidabile di comunicazione tra processitra processi
– permette ad ogni processore di eseguire permette ad ogni processore di eseguire indipendentemente i propri compitiindipendentemente i propri compiti
Permette l’esecuzione di processi concorrenti e Permette l’esecuzione di processi concorrenti e distingue processi privilegiatidistingue processi privilegiati
Gestione dei processoriGestione dei processori
Inizializzazione tramite due vie:Inizializzazione tramite due vie:– caricamento a freddocaricamento a freddo– caricamento da un altro processore attraverso lo IPBcaricamento da un altro processore attraverso lo IPB– lancio automatico dei processi base e di quelli per la lancio automatico dei processi base e di quelli per la
gestione dei dispositivi I/O collegatigestione dei dispositivi I/O collegati Comunicazione e sincronizzazione tramite Comunicazione e sincronizzazione tramite
opportuni protocolliopportuni protocolli Possibilità di ricaricare un processore senza Possibilità di ricaricare un processore senza
alterare il sistemaalterare il sistema
Protocollo I’m AliveProtocollo I’m AliveVerifica il corretto funzionamento di ciascun processoreVerifica il corretto funzionamento di ciascun processore Ogni processore ogni secondo trasmette un Ogni processore ogni secondo trasmette un
messaggio broadcast “I’m Alive” attraverso lo IPBmessaggio broadcast “I’m Alive” attraverso lo IPB Ogni due secondi ogni processore verifica di aver Ogni due secondi ogni processore verifica di aver
ricevuto un messaggio “I’m Alive” da ogni processorericevuto un messaggio “I’m Alive” da ogni processore Qualora non accada:Qualora non accada:
– richiede un messaggio “I’m Alive” al processore sospettorichiede un messaggio “I’m Alive” al processore sospetto– se non perviene a maggioranza il sistema decide di se non perviene a maggioranza il sistema decide di
sospendere il processore che non ha inviato il messaggio o sospendere il processore che non ha inviato il messaggio o quello che lo ha richiestoquello che lo ha richiesto
Il processore guasto si spegne e ogni sua Il processore guasto si spegne e ogni sua comunicazione viene cancellatacomunicazione viene cancellata
Sincronizzazione Sincronizzazione temporaletemporale
E’ necessario che il clock del sistema sia quanto più E’ necessario che il clock del sistema sia quanto più possibile sincronizzato per la corretta lettura dei possibile sincronizzato per la corretta lettura dei messaggi. Per questo si utilizza un apposito messaggi. Per questo si utilizza un apposito algoritmo [Nellen, 1985, 1986].algoritmo [Nellen, 1985, 1986].
Permette lo scambio di pacchetti temporalmente Permette lo scambio di pacchetti temporalmente corretticorretti
Da modo ad ogni processore di:Da modo ad ogni processore di:– sincronizzarsi sul clock medio del sistema;sincronizzarsi sul clock medio del sistema;– calcolare il suo errore rispetto alla media per una calcolare il suo errore rispetto alla media per una
calibrazione continua.calibrazione continua. Assicura una scarsa fluttuazione del clock in caso Assicura una scarsa fluttuazione del clock in caso
di sostituzione di un processore.di sostituzione di un processore.
Protocollo di Protocollo di aggiornamento globaleaggiornamento globale
Poiché ci sono più copie identiche è necessario che Poiché ci sono più copie identiche è necessario che gli aggiornamenti siano atomici ovvero:gli aggiornamenti siano atomici ovvero:– siano aggiornate tutte le copie o nessuna di queste;siano aggiornate tutte le copie o nessuna di queste;– gli aggiornamento siano seriali.gli aggiornamento siano seriali.
Questo risultato si ottiene attraverso un algoritmo Questo risultato si ottiene attraverso un algoritmo apposito:apposito:– l’aggiornamento è effettuato da un processo speciale a l’aggiornamento è effettuato da un processo speciale a
bassa priorità all’interno del kernel;bassa priorità all’interno del kernel;– viene inviato ad un apposito processo locker che viene inviato ad un apposito processo locker che
garantisce la serialità;garantisce la serialità;– effettuato l’aggiornamento viene comunicato a tutti i effettuato l’aggiornamento viene comunicato a tutti i
processi interessati.processi interessati.
Gestione dei ProcessiGestione dei Processi Un processo è contraddistinto da un identificatore Un processo è contraddistinto da un identificatore
unico e possiede:unico e possiede:– un vettore di stato;un vettore di stato;– una memoria privata;una memoria privata;– il suo codice eseguibile.il suo codice eseguibile.
Le comunicazioni avvengono tramite gli identificatoriLe comunicazioni avvengono tramite gli identificatori Lo scheduling è gestito da un sistema con priorità e Lo scheduling è gestito da un sistema con priorità e
con preemptioncon preemption Un meccanismo non permette l’inversione di prioritàUn meccanismo non permette l’inversione di priorità Attraverso la coppia di processi si garantisce la Attraverso la coppia di processi si garantisce la
sicurezzasicurezza
Coppia di ProcessiCoppia di Processi
Per ogni processo che si vuole lanciare viene Per ogni processo che si vuole lanciare viene creata una coppia:creata una coppia:
– il processo primario il processo primario attivoattivo;;
– il processo backup il processo backup passivo. passivo.
Quando si raggiunge uno stato critico si Quando si raggiunge uno stato critico si effettua un checkpointeffettua un checkpoint
In caso di fallimento del processo primario, il In caso di fallimento del processo primario, il secondario si attiva dall’ultimo checkpointsecondario si attiva dall’ultimo checkpoint
Coppia di processi: Coppia di processi: checkpointcheckpoint
I checkpoint sono decisi nei momenti critici del I checkpoint sono decisi nei momenti critici del processoprocesso– Lo stato del processo Lo stato del processo attivoattivo viene copiato in quello di viene copiato in quello di
backupbackup– Questa operazione viene eseguita dal sistema operativoQuesta operazione viene eseguita dal sistema operativo– In tal modo pur non funzionando il processo backup è in In tal modo pur non funzionando il processo backup è in
grado di attivarsi correttamente dall’ultimo checkpointgrado di attivarsi correttamente dall’ultimo checkpoint Una coppia di processi è contraddistinta da un Una coppia di processi è contraddistinta da un
unico identificatore:unico identificatore:– la tabella degli identificatori sa indirizzare verso il processo la tabella degli identificatori sa indirizzare verso il processo
primarioprimario– in caso di fallimento il sistema operativo aggiorna la in caso di fallimento il sistema operativo aggiorna la
tabella e indirizza verso il processo che era di backuptabella e indirizza verso il processo che era di backup
MessaggiMessaggi
Guardian è un sistema operativo basato su Guardian è un sistema operativo basato su messaggimessaggi
Questo rende trasparente alle applicazioni finali:Questo rende trasparente alle applicazioni finali:– la ridondanza fisica del sistema;la ridondanza fisica del sistema;– la localizzazione stessa di un processo o di una risorsa la localizzazione stessa di un processo o di una risorsa
che potrebbe essere anche remoti;che potrebbe essere anche remoti;– il fallimento di una parte del sistema o di un processo il fallimento di una parte del sistema o di un processo
in quanto i messaggi vengo reinstradati verso i in quanto i messaggi vengo reinstradati verso i componenti funzionanti.componenti funzionanti.
Oltre ai messaggi tra processi sono previsti Oltre ai messaggi tra processi sono previsti messaggi di controllomessaggi di controllo
Sono implementati in modo efficace sull’IPB in Sono implementati in modo efficace sull’IPB in modo che la comunicazione tra processori sia modo che la comunicazione tra processori sia quasi come all’interno di un processore singoloquasi come all’interno di un processore singolo
Messaggi tra processiMessaggi tra processi E’ stata impiegata una strategia requestor-serverE’ stata impiegata una strategia requestor-server
– un processo invia un messaggio ed aspetta la rispostaun processo invia un messaggio ed aspetta la risposta– un altro processo controlla la richiesta e risponde con un un altro processo controlla la richiesta e risponde con un
risultatorisultato Un utilizzo tipico nei messaggi si ha nell’utilizzo di Un utilizzo tipico nei messaggi si ha nell’utilizzo di
dispositivi periferici:dispositivi periferici:– il processo che vuole leggere/scrivere invia la richiesta al il processo che vuole leggere/scrivere invia la richiesta al
processo di gestione del discoprocesso di gestione del disco– il processo che gestisce il disco effettua la lettura/scritturail processo che gestisce il disco effettua la lettura/scrittura– tutto questo è trasparente per il programmatore il quale tutto questo è trasparente per il programmatore il quale
non ha interesse a sapere chi effettivamente esegua non ha interesse a sapere chi effettivamente esegua l’operazione né che questa sia implementata tramite l’operazione né che questa sia implementata tramite scambio di messaggiscambio di messaggi
Un singolo messaggio può trasmettere fino a 60 KB Un singolo messaggio può trasmettere fino a 60 KB di datidi dati
Tolleranza ai guasti Tolleranza ai guasti softwaresoftware
Molti dei guasti sono dovuti ad errori software, quindi è Molti dei guasti sono dovuti ad errori software, quindi è necessario implementare meccanismi per questo. Il necessario implementare meccanismi per questo. Il sistema Tandem cerca di preoccuparsi anche di questo.sistema Tandem cerca di preoccuparsi anche di questo.
Tandem ha implementato molte istruzioni per verificare Tandem ha implementato molte istruzioni per verificare la consistenza dei dati durante un’esecuzione:la consistenza dei dati durante un’esecuzione:– questo permette di fermare un processo che sta per questo permette di fermare un processo che sta per
contaminare il database in tempo;contaminare il database in tempo;– il meccanismo della coppia di processi garantisce che un guasto il meccanismo della coppia di processi garantisce che un guasto
software transiente possa essere tollerato in quanto software transiente possa essere tollerato in quanto probabilmente nel processo copia non si attiverà di nuovoprobabilmente nel processo copia non si attiverà di nuovo
Gli errori significativi divengono ben visibili in quanto Gli errori significativi divengono ben visibili in quanto viene lasciata ampia traccia dello status del processore viene lasciata ampia traccia dello status del processore e quindi sono facilmente riparabili.e quindi sono facilmente riparabili.
I processi di I/OI processi di I/O I processi di I/O sono particolari in quanto ognuno I processi di I/O sono particolari in quanto ognuno
deve essere gestito nei processori a cui è collegato deve essere gestito nei processori a cui è collegato il dispositivo.il dispositivo.
La coppia di processi viene mandata in esecuzione La coppia di processi viene mandata in esecuzione in ogni processore in grado di farlo.in ogni processore in grado di farlo.
In caso di fallimento di un processore, un bus, un In caso di fallimento di un processore, un bus, un controller o un dispositivo fisico viene reinstradato controller o un dispositivo fisico viene reinstradato tutto.tutto.
Per i processi di I/O si utilizzano come checkpoint Per i processi di I/O si utilizzano come checkpoint l’apertura o la chiusura di un file in modo che il l’apertura o la chiusura di un file in modo che il processo backup possa riprendere il controllo da una processo backup possa riprendere il controllo da una situazione sicura.situazione sicura.
Processi I/O: gestione dei Processi I/O: gestione dei dischidischi
Almeno due processori gestiscono i controller: Almeno due processori gestiscono i controller: quindi si hanno almeno otto possibili percorsi:quindi si hanno almeno otto possibili percorsi:– Ogni disco fisico è duplicato (mirroring)Ogni disco fisico è duplicato (mirroring)– I controller sono duplicatiI controller sono duplicati– I percorsi verso i controller sono duplicatiI percorsi verso i controller sono duplicati
I dischi dispongono di una grande cache per I dischi dispongono di una grande cache per aumentare la perfomanceaumentare la perfomance
I dischi dispongono di un meccanismo di I dischi dispongono di un meccanismo di locklock per per l’accesso ai file attraverso il protocollo 2PLl’accesso ai file attraverso il protocollo 2PL
Inoltre i file sono partizionati in modo da Inoltre i file sono partizionati in modo da permettere un accesso concorrente da parte di permettere un accesso concorrente da parte di più applicazionipiù applicazioni– Questo permette anche di distribuire un file a pezzi in più Questo permette anche di distribuire un file a pezzi in più
luoghi fisicamente distinti a garanzia della sua integritàluoghi fisicamente distinti a garanzia della sua integrità
Mirroring dei dischiMirroring dei dischi
Per ogni disco esiste un disco copia di backup:Per ogni disco esiste un disco copia di backup:– si ha maggior sicurezza per il contenuto del discosi ha maggior sicurezza per il contenuto del disco– è migliore il tempo in lettura in quanto per queste si è migliore il tempo in lettura in quanto per queste si
può utilizzare anche il disco di backuppuò utilizzare anche il disco di backup– i tempi di scrittura non sono significativamente i tempi di scrittura non sono significativamente
differenti da quelli di dischi singoli, anche se differenti da quelli di dischi singoli, anche se leggermente maggiori.leggermente maggiori.
Esiste comunque la possibilità per applicazioni Esiste comunque la possibilità per applicazioni non critiche a discrezione del programmatore non critiche a discrezione del programmatore l’utilizzo l’utilizzo unmirroredunmirrored dei dischi. dei dischi.
TransazioniTransazioni
Guardian suddivide le elaborazioni in un’unità Guardian suddivide le elaborazioni in un’unità atomiche: le transazioniatomiche: le transazioni– Queste o sono eseguite per intero o non sono eseguite Queste o sono eseguite per intero o non sono eseguite
affattoaffatto– Una transazione può essere distribuita su più processiUna transazione può essere distribuita su più processi– I risultati parziali sono tenute nella cache del disco: qualora I risultati parziali sono tenute nella cache del disco: qualora
non sia possibile vengono scritti assieme ai dati per gli non sia possibile vengono scritti assieme ai dati per gli undo undo e i e i redoredo..
– Ogni transazione possiede un identificatore unicoOgni transazione possiede un identificatore unico Più transazioni possono essere eseguite Più transazioni possono essere eseguite
concorrentementeconcorrentemente– Un apposito protocollo permette le letture e le scrittureUn apposito protocollo permette le letture e le scritture
La gestione delle transazioni migliora la sicurezze e La gestione delle transazioni migliora la sicurezze e la tolleranza ai guastila tolleranza ai guasti
NetworkingNetworking
La struttura di Guardian basata su messaggi e La struttura di Guardian basata su messaggi e processi si estende alle retiprocessi si estende alle reti
I sistemi Tandem utilizzano una rete I sistemi Tandem utilizzano una rete proprietaria: Expandproprietaria: Expand– permette il collegamento di fino a 255 nodi e 4080 permette il collegamento di fino a 255 nodi e 4080
processoriprocessori– supporta tutti i principali protocollisupporta tutti i principali protocolli– fornisce un valido supporto per la fault-tolerance: per fornisce un valido supporto per la fault-tolerance: per
esempio è possibile mantenere attiva una sessione esempio è possibile mantenere attiva una sessione anche se un collegamento si interrompeanche se un collegamento si interrompe
– può essere utilizzata come punto centrale di reti più può essere utilizzata come punto centrale di reti più ampie o per collegarsi ad altre retiampie o per collegarsi ad altre reti
Protezione ai disastriProtezione ai disastri
Il sistema Tandem permette di ridurre i tempi per il Il sistema Tandem permette di ridurre i tempi per il ripristino di un’unità dove è avvenuto un disastro da ripristino di un’unità dove è avvenuto un disastro da qualche ora a pochi minutiqualche ora a pochi minuti
Ogni database è mantenuto in due luoghi fisici distinti e Ogni database è mantenuto in due luoghi fisici distinti e questo viene aggiornato secondo una di queste modalità:questo viene aggiornato secondo una di queste modalità:– 2-Safe2-Safe. La transazione viene registrata sempre in entrambi i . La transazione viene registrata sempre in entrambi i
database. Nessuna transazione viene persadatabase. Nessuna transazione viene persa– 1-Safe1-Safe. Vengono trasmesse le transazioni a blocchi. Possono . Vengono trasmesse le transazioni a blocchi. Possono
essere perse le ultime transazioniessere perse le ultime transazioni– Eletronic Vaulting. Eletronic Vaulting. Viene trasmesso il solo registro da cui è Viene trasmesso il solo registro da cui è
possibile ricostruire tutte le transazioni che però non vengono possibile ricostruire tutte le transazioni che però non vengono trasmesse. Al riavvio è necessario quindi rieseguire tutto il trasmesse. Al riavvio è necessario quindi rieseguire tutto il registroregistro
Il sistema dei protezioni ai disastri è trasparente al Il sistema dei protezioni ai disastri è trasparente al programmatoreprogrammatore
ConclusioniConclusioni
L’architettura Tandem si presenta con L’architettura Tandem si presenta con caratteristiche di alta disponibilitàcaratteristiche di alta disponibilità
Sono stati ridotti al minimo i singoli punti di Sono stati ridotti al minimo i singoli punti di fallimentofallimento
Nella parte hardware tutto viene duplicato e Nella parte hardware tutto viene duplicato e progettato con caratteristiche fail-fastprogettato con caratteristiche fail-fast
La parte software è composta di un sistema La parte software è composta di un sistema operativo fault-tolerant in grado di sfruttare al operativo fault-tolerant in grado di sfruttare al meglio la ridondanza hardwaremeglio la ridondanza hardware
L’intera architettura ridondante è mascherata ai L’intera architettura ridondante è mascherata ai programmatori delle applicazioni finaliprogrammatori delle applicazioni finali
Riferimenti e siti webRiferimenti e siti web
D.P. Siewiorek, R. S. Swarz “Reliable D.P. Siewiorek, R. S. Swarz “Reliable computer Systems” Digital Presscomputer Systems” Digital Press
J. Bartlett ed altri “Fault Tolerance in J. Bartlett ed altri “Fault Tolerance in Tandem Computer System” Tandem Computer System”
Siti Web di interesse:Siti Web di interesse: http://www.tandem.com http://www.tandem.com http://www.compaq.com http://www.compaq.com