35
Tandem Tandem un sistema ad alta un sistema ad alta disponibilità disponibilità Sauro Menchetti, Andrea Sauro Menchetti, Andrea Fedeli Fedeli Esame di Informatica Industriale Esame di Informatica Industriale A.A. 1998/99 A.A. 1998/99

Tandem un sistema ad alta disponibilità

  • 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

Page 1: Tandem un sistema ad alta disponibilità

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

Page 2: Tandem un sistema ad alta disponibilità

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

Page 3: Tandem un sistema ad alta disponibilità

Un po’ di storiaUn po’ di storia

I tre maggiori venditori commerciali:I tre maggiori venditori commerciali:

AT&TAT&T TandemTandem StratusStratus

Page 4: Tandem un sistema ad alta disponibilità

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

Page 5: Tandem un sistema ad alta disponibilità

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

Page 6: Tandem un sistema ad alta disponibilità

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

Page 7: Tandem un sistema ad alta disponibilità

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

Page 8: Tandem un sistema ad alta disponibilità

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

Page 9: Tandem un sistema ad alta disponibilità

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

Page 10: Tandem un sistema ad alta disponibilità

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

Page 11: Tandem un sistema ad alta disponibilità

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+

Page 12: Tandem un sistema ad alta disponibilità

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

Page 13: Tandem un sistema ad alta disponibilità

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

Page 14: Tandem un sistema ad alta disponibilità

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.

Page 15: Tandem un sistema ad alta disponibilità

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

Page 16: Tandem un sistema ad alta disponibilità

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

Page 17: Tandem un sistema ad alta disponibilità

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

Page 18: Tandem un sistema ad alta disponibilità

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

Page 19: Tandem un sistema ad alta disponibilità

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

Page 20: Tandem un sistema ad alta disponibilità

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.

Page 21: Tandem un sistema ad alta disponibilità

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.

Page 22: Tandem un sistema ad alta disponibilità

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

Page 23: Tandem un sistema ad alta disponibilità

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

Page 24: Tandem un sistema ad alta disponibilità

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

Page 25: Tandem un sistema ad alta disponibilità

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

Page 26: Tandem un sistema ad alta disponibilità

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

Page 27: Tandem un sistema ad alta disponibilità

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.

Page 28: Tandem un sistema ad alta disponibilità

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.

Page 29: Tandem un sistema ad alta disponibilità

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à

Page 30: Tandem un sistema ad alta disponibilità

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.

Page 31: Tandem un sistema ad alta disponibilità

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

Page 32: Tandem un sistema ad alta disponibilità

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

Page 33: Tandem un sistema ad alta disponibilità

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

Page 34: Tandem un sistema ad alta disponibilità

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

Page 35: Tandem un sistema ad alta disponibilità

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